Nghiên cứu công cụ kiểm thử ibm rational funtional tester v7.0 ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm đại học Duy Tân

Kiểm thử phần mềm là một thành phần quan trọng trong qui trình phát triển phần mềm. Nó đóng một vai trò quan trọng trong việc kiểm định chất lượng của phần mềm, đảm bảo rằng phần mềm tạo ra có chạy đúng với yêu cầu của khách hàng hay không, có xảy ra những sai sót mà nó khác với bảng phân tích thiết kế ban đầu không. Vì vây, năm 2006 IBM cho ra đời sản phẩm The 2007 developerWorks Software Evaluation Kit (SEK) for Windows, đây là một trong số nhiều phần mềm dùng cho việc kiểm thử. SEK bao gồm 6 Tool và em lựa chọn công cụ Rational Funtional Tester V7.0 để nghiên cứu cho đồ án tốt nghiệp. Đây là công cụ kiểm thử chức năng của phần mềm, một dụng cụ kiểm thử hồi quy tiên tiến, được tự động hóa cho Tester và người phát triển GUI.

Bất kỳ một tổ chức nào cũng có một sự tin cậy của riêng mình vào việc phát triển của những trình ứng dụng để phục vụ cho những việc cần thiết như đáp ứng được những chức năng của khách hàng đưa ra, để cho khách hàng tỏ ra hài lòng về chất lượng của những trình ứng dụng và những đòi hỏi về những chức năng, điều kiện được đáp ứng đầy đủ, và không xảy ra sự tuỳ tiện trong sản phẩm. Một thành phần chủ yếu cho sự thành công này là tính hiệu quả, quy trình kiểm tra phải có tính kỷ luật tiến tới sự xác minh của những trình ứng dụng đã hoàn thành, quá trình kiểm tra phải có tính kỷ kuật để xem xét những trình ứng dụng đã hoàn thành đến mức độ nào, đó là sự phù hợp thích đáng hay là vượt ra khỏi những mong đợi trong đề án. Lịch trình làm việc không đúng, thường xuyên thay đổi những vấn đề chung của trình ứng dụng. IBM Rational Funtional Tester được xây dựng dựa trên những vấn đề này.

 

doc107 trang | Chia sẻ: luyenbuizn | Lượt xem: 920 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Nghiên cứu công cụ kiểm thử ibm rational funtional tester v7.0 ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm đại học Duy Tân, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
MỤC LỤC DANH MỤC CÁC HÌNH VẼ H I.1: Mô hình khái niệm của quá trình kiểm thử 15 H II.1 The Software Development 14 H II.2 Quá trình bắt lỗi 26 DANH MỤC CÁC KÍ HIỆU VÀ TỪ VIẾT TẮT Bắt buột B CSDL Cơ sỡ dữ liệu GUI Graphical User Interface HTML Hyper Test Markup Language ITLM Information Technology Lifecycle Management RFT Rational Funtional Tester RPA Rational Process Advisor RUP Rational Unified Process UML Unified Modeling Language URL Uniform Resource Locator SAP Service Advertising Protocal SEK The 2007 developerWorks® Software Evaluation Kit Tuỳ chọn T MỞ ĐẦU 1. Lý do chọn đề tài Kiểm thử phần mềm là một thành phần quan trọng trong qui trình phát triển phần mềm. Nó đóng một vai trò quan trọng trong việc kiểm định chất lượng của phần mềm, đảm bảo rằng phần mềm tạo ra có chạy đúng với yêu cầu của khách hàng hay không, có xảy ra những sai sót mà nó khác với bảng phân tích thiết kế ban đầu không. Vì vây, năm 2006 IBM cho ra đời sản phẩm The 2007 developerWorks Software Evaluation Kit (SEK) for Windows, đây là một trong số nhiều phần mềm dùng cho việc kiểm thử. SEK bao gồm 6 Tool và em lựa chọn công cụ Rational Funtional Tester V7.0 để nghiên cứu cho đồ án tốt nghiệp. Đây là công cụ kiểm thử chức năng của phần mềm, một dụng cụ kiểm thử hồi quy tiên tiến, được tự động hóa cho Tester và người phát triển GUI. Bất kỳ một tổ chức nào cũng có một sự tin cậy của riêng mình vào việc phát triển của những trình ứng dụng để phục vụ cho những việc cần thiết như đáp ứng được những chức năng của khách hàng đưa ra, để cho khách hàng tỏ ra hài lòng về chất lượng của những trình ứng dụng và những đòi hỏi về những chức năng, điều kiện được đáp ứng đầy đủ, và không xảy ra sự tuỳ tiện trong sản phẩm. Một thành phần chủ yếu cho sự thành công này là tính hiệu quả, quy trình kiểm tra phải có tính kỷ luật tiến tới sự xác minh của những trình ứng dụng đã hoàn thành, quá trình kiểm tra phải có tính kỷ kuật để xem xét những trình ứng dụng đã hoàn thành đến mức độ nào, đó là sự phù hợp thích đáng hay là vượt ra khỏi những mong đợi trong đề án. Lịch trình làm việc không đúng, thường xuyên thay đổi những vấn đề chung của trình ứng dụng. IBM Rational Funtional Tester được xây dựng dựa trên những vấn đề này. Sau khi nghiên cứu một số tài liệu liên quan, được sự đồng ý của Khoa Công Nghệ Thông Tin – Đại Học Duy Tân Đà Nẵng, em đã thực hiện đề tài khóa luận tốt nghiệp mang tên: “Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0- Ứng dụng kiểm thử phần mềm tại trung tâm phát triển phần mềm Đại Học Duy Tân.” 2. Mục tiêu Đề tài giới thiệu các vấn đề trong kiểm thử và đi sâu nghiên cứu các tính năng cơ bản của công cụ IBM Rational Funtional Tester V7.0, đưa ra tài liệu hướng dẫn cài đặt, sử dụng công cụ một cách đơn giản và hiệu quả. Đề tài áp dụng được trong thực tế để kiểm thử phần mềm tại các công ty phần mềm, đặc biệt là CSE. 3. Phạm vi nghiên cứu Trong đề tài này em sẽ nghiên cứu về: -Lý thuyết kiểm thử. -Nghiên cứu các tính năng cơ bản của Tool Rational Funtional Tester V7.0. -Thực hiện kiểm thử trên bảng Demo. 4. Bố cục của đề tài Nội dung của luận văn được trình bày trong 3 chương Chương I: Cơ Sở Lý Thuyết Chương này giới thiệu tổng quan về quá trình kiểm thử, những khái niêm, những thuật ngữ, vấn đề liên quan đến kiểm thử, những mô hình kiểm thử và các loại kiểm thử thông dụng hiện nay. Chương II:Nghiên cứu về phần mềm SEK của IBM Trong chương này em tìm hiểu những công cụ có trong bộ The 2007 developerWorks® Software Evaluation Kit (SEK) for Windows® của IBM và ứng dụng của nó. Chương III. Nghiên cứu công cụ kiểm thử IBM Rational Funtional Tester V7.0. Trong chương này em giới thiệu chi tiết về công cụ, IBM RFT làm việc như thế nào, những tính năng và lợi ích mà nó mang lại, Thực hiện kiểm thử để chỉ ra những lợi ích mà nó mang lại đồng thời hướng dẫn cách thức kiểm thử để người dùng có thể thực hiện một cách đơn giản. Chương IV. Thực hiện kiểm thử trên một phần mềm có sẳn. Trong chương này em tiến hành kiểm thử trên một phần mềm có sẳn để khẳng định và chỉ ra những vấn đề mà em đã nêu ở chương III. Kết thúc luận văn là phần kết luận về những vấn đề đạt được và hướng phát triển của khóa luận và danh mục các tài liệu tham khảo CHƯƠNG I. CƠ SỞ LÝ THUYẾT I. TỔNG QUAN VỀ QUÁ TRÌNH KIỂM THỬ I.1 Một số định nghĩa về quá trình kiểm thử phần mềm Kiểm thử là việc kiểm tra kết quả thực hiện của chương trình máy tính xem có đúng với các mục tiêu đã đặt ra với nó không thông qua việc thực hiện ở một số mẫu thử. Kiểm thử là việc tìm ra những lỗi trong bản thân phần mềm, việc kiểm thử này trong phần mềm sẽ biểu thị ra những thiếu sót mà ta có thể nhận thấy trong hành vi của phần mềm, và tìm ra những phần không tuân theo quy định và đi lệch ra khỏi những yêu cầu của phần mềm. Theo một số nhà nghiên cứu thì kiểm thử phần mềm được định nghĩa như sau: Dijkstra: Kiểm thử sẽ hiện thị những lỗi hiện có, nhưng không hiển thị lỗi chưa thấy. Beizer: Định luật 1: Mọi phương pháp bạn sử dụng để ngăn ngừa hoặc tìm thấy lỗi bỏ đi một phần lỗi rắc rối, cái mà những phương thức cần. Định luật 2: Phần mềm phức tạp lớn hơn những giới hạn khả năng quản lý. Những người kiểm thử không tốt hơn trong thiết kế lỗi so với những lập trình viên kiểm thử trong thiết kế mã. IEEE: Kiểm thử là tiến trình vận hành hệ thống hoặc thành phần dưới những điều kiện xác định, quan sát hoặc ghi nhận kết quả và đưa ra đánh giá về hệ thống hoặc thành phần đó. Myers: Kiểm thử là tiến trình thực thi chương trình với mục đích tìm thấy lỗi.(The art of software testing) Giữa kiểm thử và gỡ rối có sự khác biệt: Kiểm thử nhằm phát hiện ra lỗi trong khi đó gỡ rối là việc xác định bản chất lỗi và định lỗi trong chương trình, sau đó tiến hành sữa lỗi. I.2 Những khái niệm liên quan đến kiểm thử Một sai sót(Error): Là một sự nhầm lẫn hay một sự hiểu sai trong quá trình phát triển phần mềm của người phát triển. Một lỗi(fault, defect): Xuất hiện trong phần mềm như là kết qủa của một sai sót. Một hỏng hóc(failure):là kết quả của một lỗi xuất hiện làm cho chương trình không hoạt động được hoặc hoạt động được nhưng không cho kết quả như mong muốn. Hỏng hóc Lỗi Sai sót Dữ liệu thử(test data): Dữ liệu vào cần cung cấp cho phần mềm khi thực thi. Kịch bản kiểm thử(test scenario): Các bước thực hiện khi kiểm thử. Phán xét kiểm thử(test oracle): Là việc đánh giá của kiểm thử, có hai cách đánh giá đó là bằng chương trình(tự động), bằng con người(thủ công). Kiểm thử viên(tester): Người thực hiện kiểm thử. Ca kiểm thử(test case):Tập dữ liệu kiểm thử, điều kiện kiểm thử, để đưa ra kết quả mong đợi. I.3 Mô hình khái niệm của quá trình kiểm thử H I. 1: Mô hình khái niệm của quá trình kiểm thử I.4 Mục tiêu của kiểm thử Việc kiểm thử nhằm thực hiện hai mục tiêu: Bằng việc kiểm thử sẽ tìm ra được những lỗi trong phần mềm (Myers,1979)và thiết lập chất lượng của phần mềm(Hetzel,1988) Việc kiểm thử thành công khi bạn tìm được ít nhất một lỗi, và đưa ra sự đánh giá với độ tin cậy lớn. I.5 Vai trò Testing để tìm ra lỗi, ghi nhận các thông tin về lỗi, nhưng không sữa lỗi. Testing giúp kiểm định phần mềm, đảm bảo rằng phần mềm “đủ tốt” với độ rủi ro “thấp nhất” có thể. II. NHỮNG VẤN ĐỀ LIÊN QUAN ĐẾN KIỂM THỬ II.1 Vòng đời kiểm thử Vòng đời của kiểm thử bắt đầu từ việc lập kế hoạch kiểm thử. Sau đó là ghi ra các ý tưởng các trường hợp kiểm thử. Từ các trường hợp kiểm thử này đưa ra tất cả các trường hợp kiểm thử và các kịch bản kiểm thử. Sử dụng các thủ tục hay kịch bản kiểm thử này, người kiểm thử có thể phát họa toàn bộ kiểm thử hệ thống hay kiểm thử tích hợp. Kết quả kiểm thử sẽ được đánh giá bởi các tiêu chí kiểm thử đặt ra ban đầu. Mô hình kiểm thử là một dãy các kế hoạch, các trường hợp kiểm thử và các thủ tục kiểm thử. Trong tiến trình bảo trì và nâng cấp dự án, thì kiểm thử đóng vai trò quan trọng. II.2 Tiến trình kiểm thử Tiến trình kiểm thử thông thường bao gồm những bước sau: Thiết kế các ca kiểm thử Tạo dữ liệu kiểm thử: trong bước này chúng ta kiểm thử tất cả các dữ liệu vào là cần thiết mà không thể thực hiện kiểm thử”vét cạn” và chọn tập các dữ liệu thử đại diện từ miền dữ liệu vào dựa trên các tiêu chuẩn chọn dữ liệu thử. Thực thi chương trình trên dữ liệu thử: Cung cấp dữ liệu thử Thực thi Ghi nhận kết quả Quan sát kết quả kiểm thử: Bước này ta thực hiện trong hoặc sau khi kiểm thử và sau đó ta so sánh kết quả kiểm thử với kết quả mong đợi II.3 Những thành phần của một kế hoạch kiểm thử Đầu vào để lập lên kế hoạch kiểm thử:Kế hoạch của dự án, đặc tả yêu cầu của phần mềm, người lập kế hoạch Test, người tham gia Test, thời gian kiểm thử, phạm vi Test, kinh phí giành cho việc Test, công cụ Test. Người lập kế hoạch kiểm thử thường là trưởng nhóm Test có kinh nghiệm dựa vào các yêu cầu của phần mềm mà đưa ra phạm vi Test cho phù hợp với trình độ người Test, thời gian, chi phí. Khi đưa ra phạm vi rồi thì làm tốt phạm vi đó thì coi như đạt yêu cầu theo kế hoạch Test đưa ra. Các công việc cần thực hiện là đầu ra của kế hoạch kiểm thử: Nghiên cứu tài liêu dự án(phân tích, thiết kế), tìm hiểu công cụ Test cho kiểu Test đã đặt ra. Thiết kế Test Case theo phạm vi Test. Thực hiện kiểm tra phần mềm theo nội dung Test Case Báo lỗi khi phát hiện được Viết báo cáo kết quả Test sau khi thực hiện xong II.4 Những điểm cần tập trung kiểm thử trước nhất nếu không có đủ thời gian. Những chức năng quan trọng nhất(mục đích) của dự án Những chức năng được người dùng xem nhiều nhất Những chức năng có thể ảnh hưởng nhiều nhất đến độ án toàn Những chức năng có thể ảnh hưởng nhiều nhất đến tài chính Những phần quan trọng nhất đối với người dùng Những phần có thể kiểm thử sớm nhất trong chu trình phát triển ứng dụng Những phần có Code phức tạp nhất Những phần được Code vội vả hoặc áp lực nhất Những phần tương tự hoặc liên quan những dự án trước và đã gây lỗi Những phần tương tự hoặc liên quan những dự án trước và tốn nhiều chi phí bảo trì Những phần mà yêu cầu và thiết kế không rõ ràng Những phần mà Coder xem là rủi ro nhất II.5 Các chỉ tiêu đánh giá kiểm thử Tiêu chí đánh giá kiểm thử là đo độ bao phủ và chất lượng của kiểm thử Sự bao phủ của kiểm thử là một tiêu chí quan trọng trong tiến trình kiểm thử, nó phải bao phủ toàn bộ các yêu cầu cần kiểm thử và các trường hợp kiểm thử hay toàn bộ đoạn chương trình. Chất lượng của kiểm thử là một tiêu chí quan trọng để đánh giá độ tin cậy, tính hiệu năng, sự ổn định của chương trình. Chất lượng của kiểm thử phụ thuộc vào việc đánh giá, phân tích để phát hiện ra lỗi của chương trình trong suốt tiến trình kiểm thử. III. MỘT SỐ LOẠI KIỂM THỬ THÔNG DỤNG 1.Mô hình phát triển chữ V Kiểm thử và bảo trì là một pha quan trọng trong quá trình phát triển phần mềm. Sau đây là mô hình chữ V trong kiểm thử: H II. 1: The Software Development V-Model Bên trái chữ V là quá trình phát triển phần mềm, và bên phải là kiểm thử. Tại mỗi một mức trong tiến trình phát triển thì có một pha kiểm thử tương ứng . Các mức kiểm thử có thể được lập kế hoạch và thiết kế song song. Sau đó chúng ta thực hiện kiểm thử từ đáy tháp chữ V nên tương ứng với từng mức phát triển . Kế hoạch kiểm thử hệ thống cần phải thực hiện sớm hơn trước khi pha kiểm thử bắt đầu: Kế hoạch kiểm thử hệ thống là phải khớp với các yêu cầu phần mềm . Các trường hợp kiểm thử cần phải hoàn thành khi mà các thiết kế chi tiết đã xong. Kiểm thử hệ thống bắt đầu từ ngay sau khi lập trình . 2 Kiểm thử unit Kiểm thử unit ứng dụng ở mức môđun. Thường là được thực hiện bởi nhà phát triển trước khi các môđun được tích hợp với các mô đun khác . Kiểm thử unit là mức thấp nhất trong tiến trình kiểm thử, thường là áp dụng phương pháp kiểm thử hộp trắng . Kết quả của kiểm thử Unit thường tìm ra khoảng 20% lỗi trong tất cả cá lỗi của dự án. 2.1 Tiến trình kiểm thử Unit 2.1.1 Kế hoạch kiểm thử Unit Lập kế hoạch cho kiểm thử khác nhau (như kiểm thử hệ thống, kiểm thử tích hợp). Quyết định xem đặc điểm nào cần phải kiểm thử. Các hướng tiếp cận để kiểm thử unit Phương thức phân tích kiểm thử. Kĩ thuật kiểm thử (hộp đen hay hộp trắng). Các công cụ dùng trong kiểm thử. 2.1.2 Thiết kế kiểm thử Tạo các trường hợp kiểm thử Thiết kế các thủ tục kiểm thử: Thủ tục làm thế nào để thực thi một trường hợp kiểm thử Một thủ tục có thể áp dụng cho một vài trường hợp kiểm thử khác Triển khai chương trình kiểm thử: Kiểm thử gốc(stub): Kiểm thử lần lượt từ gốc của chương trình, sau khi xong thì tiếp tục kiểm thử Stub tiếp theo ở bên dưới. Kiểm thử driver : Driver là một trình điều khiển kiểm thử unit. 2.1.3 Thực hiện và đánh giá kiểm thử unit Chuẩn bị kiểm thử môi trường. Thực hiện kiểm thử unit. Phát hiện ra lỗi trong kiểm thử unit. Làm báo cáo ghi lại toàn bộ sự thành công hay thất bại trong từng unit một dựa theo các kết quả yêu cầu. 2.2 Kế hoạch kiểm thử unit Để thực hiện một kiểm thử có hiệu quả, thì cần thiết phải có một kế hoạch kiểm thử có hiệu quả. Cần phải lập kế hoạch thật chi tiết, càng chi tiết càng tốt. Kế hoạch kiểm thử unit cần phải đưa ra các tài liệu chỉ dẫn việc thực hiện kiểm thử trên từng môđun như thế nào. Mục tiêu là mỗi môđun sau khi được kiểm thử thì phải thoả mãn tất các yêu cầu đặt ra về chức năng Kế hoạch kiểm thử cần phải đưa ra một danh sách các đầu vào cho môđun và một danh sách các đầu ra phù hợp với các mô đun đó. Một môđun được gọi là đạt nếu tất cả các đầu vào đều có đầu ra tương ứng. Mỗi một sự sai trệch nào của đầu ra đều phải cần xem xét cụ thể. Danh sách các đầu vào phải thoả mãn yêu cầu của phần mềm, tối thiểu là lần đầu tiên. Kế hoạch kiểm thử giúp cho các nhà phát triển có thể đảm bảo chắc chắn rằng mỗi dòng mà, và mỗi câu lệnh điều kiện đều phải thực hiện được tối thiểu một lần 2.3 Kiểm thử hộp đen Hướng vào các đặc tả bên ngoài Chủ yếu là kiểm tra giao diện của các hàm vào ra Các kĩ thuật thường dùng: Lược đồ nguyên nhân kết quả. Phân đoạn tương đương. Phân tích giá trị biên. 2.4 Kiểm thử hộp trắng Thực hiện bên trong chương trình. Sử dụng các đặc tả chi tiết. Bao gồm các thứ sau:. Các chỉ dẫn bao quát. Bao quát toàn bộ các câu lệnh điều kiện đơn. Các điều kiện, đa điều kiện. Kiểm thử hộp trắng là một thiết kế kiểm thử sử dụng cấu trúc của thiết kế chi tiêt. Sử dụng thiết kế chi tiết người sử dụng có thể đảm bảo rằng: Bảo đảm rằng tất cả các đường dẫn độc lập ở bên trong môđun đều được thử tối thiểu một lần. Thử nghiệm tất các các trường hợp lôgic trong các câu lệnh điều kiện. Thực hiện tất cá các vòng lặp tới giá trị biên của chúng. Thử nghiệm tất cả các giá trị biên bên trong đảm bảo chúng hợp lệ. 2.4.1 KIểm thử nhánh cơ bản (Basis Path Testing) Là một cách kiểm thử hộp trắng. Trường hợp kiểm thử bắt nguồn từ các đặc tả yêu cầu độc lập. Một tập các trường hợp kiểm thử có thể được phát sinh bởi các tập kiểm thử cơ bản. Đây là một cái tên đến từ thực tế rằng các kiểm thử nầy đều kiểm thử từ tất cả các hướng có thể thông qua chương trình. Tóm tắt Basis Path Testing Bước 1 Vẽ biểu đồ luồng chương tình cho một đoạn mã được lựa chọn nào đó If -then - else loop - while case - of Thực hiện từng câu lệnh một. Bỏ qua các dòng lệnh liên tục. Thêm một nút cho mỗi một nhánh hay câu lệnh quyết định. Triển khai các nút phù hợp với sự thể hiện của nó. Bước 2 Độ phức tạp tính toán từ lưu đồ luồng tính như sau C = # Edges - # Nodes + 1 Bước 3 Tìm C cho mỗi trường hợp kiểm thử -Chọn một trường hợp kiểm thử để bắt đầu. -Trường hợp sau giống cái đầu chỉ thay đổi một số thông số cho phù hợp thôi. -Tiếp tục cho đên 'C' xuất phát. Bước 4 Thu được các kết quả dự đoán cho mỗi trường hợp kiểm thử Sử dụng các đặc tả của chương trình dể quyết định xem loại dữ liệu nào nên làm(tốt nhất là việc này nên làm bởi các nhà phân tích) Bước 5 Confirm that actual results match expected results So sánh kết quả giữa thực tế và lí thuyết Thực hiện đi bộ qua chương trình Hiệu quả của kiểm thử nhánh cơ bản ( Basis Path Testing ) Hiệu quả Bao phủ hầu hết toàn bộ các vấn đề. Sẽ phát hiện ra hầu hết các lỗi. Hầu hết các loại lỗi. Là một phương tiện hay để xem lại toàn bộ mã nguồn và đi bộ qua giải thuật. Có thể ứng dụng cho các mức lôgic cao hơn hay các đoạn mã giả. Hiệu lực Là một qui trình xác định tốt. Hiệu quả trong việc sử dụng tài nguyên máy và thời gian thiết kế. Phát sinh đơn giản và dễ thực thi các trường hợp kiểm thử. Giá cả thì chấp nhận được trong thương mại. 2.5 Các trường hợp kiểm thử và dữ liệu kiểm thử Kiểm tra các toán tử ở mức giá trị thông thường. Kiểm tra với các giá trị giới hạn. Kiểm tra ngoài vùng giá trị. Kiểm tra các lỗi ở trong vòng lặp. Kiểm tra các kết thúc không bình thường trong vòng lặp. Kiểm tra các kết thúc không bình thường trong đệ quy. Kiểm tra tất các các cấu trúc dữ liệu được truy nhập bởi hàm. Kiểm tra tất cả các loại file được truy nhập bởi hàm thành viên. Kiểm tra tất cả các lỗi điều kiện. Kiểm tra tính hiệu quả của kiểm thử nếu thấy cần thiết. Đảm bảo rằng mọi câu lệnh đều được thực hiện. Đảm bảo rằng mọi câu lệnh điều kiện đều thực hiện ở tất cả các nhánh. 3. Kiểm thử tích hợp 3.1 Tạo dữ liệu và file kiểm thử Các hoạt động chính: Xác định nội dung của kiểm thử dữ liệu và file. Tạo dữ liệu kiểm thử, dữ liệu kiểm thử có thể tạo ra bằng một trong các phương pháp luận sau. Vào thủ công. Phần mềm sinh dữ liệu kiểm thử. Giúp ra từ cơ sở dữ liệu sống. Điền đầy các dữ liệu kiểm thử với sự giúp đỡ của các chương trình quản lí cơ sở dữ liệu. Kiểm tra xem có khớp với các yêu cầu đặt ra không 3.2 Các chiến thuật và kĩ nghệ kiểm thử 3.2.1 Kiểm thử tích hợp không tăng tiến Big Bang là một kiểm thử tích hợp không tăng tiến.Tất cả các mô đun đều được phối hợp ngay từ đầu. Phần mềm được kiểm thử toàn bộ - kết quả ban đầu thường là lộn xộn. Để đúng được là rất khó vì một dãy các lỗi gặp phải. Khi một lỗi được sữa thì lại bắt gặp một lỗi khác chỉ cho tới khi nào vòng lặp dừng thì thôi.Cho nên phương pháp này không được đề nghị 3.2.2 Kiểm thử tích hợp tăng tiến Là một kiểm thử trái ngược lại với kiểm thử Big Bang Phần mềm được xây dựng và kiểm thử từng đoạn một. Lỗi dễ bị cô lập và xử lí. Giao diện dễ kiểm thử hơn và có thể áp dụng kiểm thử hệ thống. Kiểm thử hệ thống bao gồm các phương pháp luận sau: Kiểm thử tích hợp Top-Down. Kiểm thử tích hợp Bottom-up. Kiểm thử Sandwich. 1. Kiểm thử tích hợp Top-Down Hàm Main là nút gốc còn tất cả cá môđun ở bên dưới là các gốc con(bới vì sau khi kiểm thử xong nút gốc này thì tất cả cá nút gốc con sẽ được kiểm thử). Nút gốc sẽ được thay thế bằng các môđun cụ thể, phụ thuộc vào hướng kiểm thử tích hợp được lựa chọn. Cứ tiếp tục quá trình như vậy cho đến khi nào kết thúc chương trình thì thôi. Thuận tiện Không cần có driver kiểm thử. Lỗi giao diện được phát hiện sớm. Bất tiện Cần gốc (stubs). Làm chậm tiến trình kiểm thử. Lỗi ở trong các môđun ở mức thấp khó tìm ra. Chú thích Chương trình làm việc đầu tiên nâng lên tinh thần. Rất khó để có thế duy trì thuần top-down trong thực tế. Tích hợp Bottom-Up Mô đun ở mức thấp nhất sẽ được kiểm thử đầu tiên Mỗi một driver được viết để theo dõi các đầu vào và đầu ra Kiểm thử từng khối Driver sẽ bị xoá đi và các cụm sẽ được kết hợp lại, sau đó di chuyển nên trên trong cấu trúc chương trình Thuận tiện Không cần đến gốc Rất dễ điều chỉnh số lượng người cần thiết Lỗi quyết định sớm được tìm thấy Sự bất tiện Các driver kiểm thử là cần thiết Rất nhiều môđun phải được tích hợp trước khi làm việc Lỗi giao diện khám phá muộn Chú thích Phải kiểm tra nhiều các đoạn mã hơn là so với Top-Down Bottom-up là một cách mang tính trực giác nhiều hơn 2.Kiểm thử Sandwich Là một phương pháp kiểm thử kết hợp cả top-down và bottom-up Tất cả các môđun và giao diện đều phải kiểm thử bằng phương pháp Top-Down Cả driver và stub đều được sử dụng khi cần thiết Tất cả các môđun đều được xây dựng và kiểm thử unit bắt đầu từ mức thấp nhất, sử dụng chiến thuật Bottom-Up Tiêu chí để hoàn thành Một tester phải biết khi nào kiểm thử là đủ. Kiểm thử có thể dừng khi: Nó không phát sinh lỗi Nó đã bao phủ gần như hoàn toàn Nó phát hiện ra một số lượng lỗi Kế hoạch kiểm thử kết thúc 3.2.4 Các lời bình về kiểm thử môđun Đúng với các yêu cầu phần mềm Có mức điều khiển cao Có phức tạp hay ẩn chứa lỗi hay không Có các yêu cầu hiệu năng xác định hay không Các bình luận nên càng sớm càng tốt 3.2.5 Đề nghị phương pháp luận kiểm thử tích hợp Lựa chọn một nhóm các môđun không quá phức tạp để kiểm thử. Kết nối các nhóm môđun vào chương trình. Kiểm thử tích hợp trên bộ khung của hệ thống. Thử nghiệm tất cả các môđun. Thử nghiệm tất cả các lựa chọn của chương trình với các tiện ích của nó. Thực thi kiểm thử trên bộ khung của chương trình. Nạp kiểm thử. Kiểm thử hiệu năng của chương trình. Cố gắng phá vỡ bộ khung. Lặp lại bốn bước trên nhiều lầm nếu thấy cần thiết để xây dựng một mức hoàn chỉnh. 4 Kiểm thử hệ thống Mỗi lần kiểm thử thủ tục hỗ trợ kiểm thử hệ thống được thực hiện, đội kiểm thử so sánh kết quả mong đợi của mỗi kiểm thử thủ tục với kết quả thực tế. Nếu kết quả thực tế khác so với kết quả mong đợi, sự khác nhau này phải được xem xét lại kỹ hơn. Kiểm thử hệ thống thường thực hiện sau tất cả các môđun, kiểm thử tích hợp và kiểm thử unit được chấp nhận một cách thành công. Đội kiểm thử cần có thể tái tạo lại vấn đề và phải chắc chắn là vấn đề này không phải gây ra do lỗi kiểm thử, lỗi thiết lập môi trường, lỗi thủ tục kiểm thử, hay lỗi kiểm thử kịch bản. Nếu báo cáo lỗi bởi vì những lỗi được xác định trong lỗi kiểm thử, lỗi thiết lập môi trường, lỗi kiểm thử thủ tục, hay lỗi kiểm thử kịch bản, hành động thích hợp để hiệu chỉnh nên được thực hiện và thực hiện lại kiểm thử. Nhược điểm của sản phẩm nên được ghi lại trong DMS. 5 Kiểm thử xác nhận Kiểm thử kiểm nhận chứng minh cho khách hàng rằng tiêu chuẩn kiểm nhận xác định trước đã được xác định bởi hệ thống. Điển hình nó được sử dụng như một kỹ thuật để bàn giao hệ thống. 6 Kiểm thử hồi quy Thực hiện kiểm thử hồi quy thông thường mất rất nhiều nỗ lực cố gắng. Vì thế, kiểm thử hồi quy có thể được thực hiện sau một giai đoạn. Tuy nhiên, kiểm thử hồi quy phải được thực hiện khi: Tổng số những yêu cầu thay đổi xảy ra từ bản cơ sở cuối cùng với kiểm thử hồi quy lớn hơn 10% tổng số những yêu cầu trong cơ sở đó. Tỉ lệ tổng số lỗi được phát hiện sau kiểm thử kiểm nhận hay trong trong thao tác chia tổng số man-months của dự án lớn hơn 1. Với những dự án bảo trì, khởi động cho kiểm thử hồi quy phải được xác định trong kế hoạch kiểm thử. Leader kiểm thử phải xác định khi nào đội dự án kiểm soát kiểm thử hồi quy và phạm vi kiểm thử hồi quy. Lập biểu của kiểm thử hồi quy phải được xác định trong lập biểu của dự án. 7 Lỗi dữ liệu 7.1 Vòng đời của lỗi Một lỗi trong phần mềm là một cái gì đó mà gây ra cho phần mềm chạy theo cách mà nó không nhất quán với những yêu cầu hay sự cần thiết của khách hàng hay những chuẩn liên quan. Để có phần mềm chất lượng cao, sản phẩm cuối cùng nên có vài lỗi có thể. Một lỗi được tìm thấy và phải được ghi lại trong DMS bởi một nhân viên. Lỗi được vào trong DMS với trạng thái “Error” và thông tin khác. Lãnh đạo dự án phải xem lại dữ liệu của một lỗi (như là dạng lỗi, nguồn gốc,tính nguy hại,..), sửa nó và giao cho người sửa lỗi. Thông thường thành viên được giao là tác giả của văn bản hay đoạn mã nguồn mà lỗi được tìm thấy trong đó. Trạng thái của lỗi được thay đổi thành “Assigned”. Sau khi sửa lỗi, tác giả đổi trạng thái lỗi thành “Pending” Người kiểm thử kiểm thử lại lỗi chưa giải quyết và cập nhật trạng thái thành “Tested” nếu lỗi được sửa một cách hài lòng, hay thành “Error”. Nếu một lỗi với trạng thái “Error” có thể được chấp nhận mà không có một hành động hiệu chỉnh nào, lãnh đạo dự án cần đổi trạng thái thành “Accepted”. Vòng đời của lỗi được mô hình hoá trong flowchart sau đây: H II. 2 Quá trình bắt lỗi 7.2 Lỗi dữ liệu Thông tin quan trọng của lỗi bao gồm: TT Dữ liệu Mô tả dữ liệu Bắt buộc/Tuỳ chọn 1 Project Code Dự án hay sản phẩm bị mắc một lỗi B 2 Defect ID Tên của lỗi B 3 Title Miêu tả ngắn gọn của lỗi B 4 Description Miêu tả đầy đủ của lỗi B 5 Severity Tính nguy hại của lỗi B 6 Type Phân loại của lỗi B 7 Status Trạng thái hiện tại của lỗi B 8 Stage detected Phạm vi hoạt động của dự án xác định vòng đời khi lỗi được phát hiện T 9 QC activity Hoạt động phát hiện ra lỗi B 10 QC activity type Dạng của hoạt động QC như là xem lại, kiểm tra....... B 11 Stage injected Phạm vi hoạt động trong dự án xác định vòng đời mà từ đó lỗi được gây ra T 12 Process origin Tên hay mã nguồn của đoạn phần mềm mà trong đó lỗi là nguồn gốc B 13 Priority Mức ưu tiên sửa lỗi T 14 Creator Người phát hiện lỗi, người kiểm thử hay người xem lại B 15 Create date Ngày ghi lại lỗi trong dữ liệu lỗi B 16 Assigned to Người chịu trách nhiệm sửa lỗi, thường là tác giả T 17 Due date Hạn chót mà việc sửa lỗi phải hoàn thành T 18 Work product Trong sản phẩm mà lỗi được tìm thấy. B 19 Module Phần của

Các file đính kèm theo tài liệu này:

  • docIN KHOA LUAN.doc
  • docbia phu.doc
  • docbiachinh.doc
  • docPHẦN ĐẦU.doc
Tài liệu liên quan