Luận văn Nghiên cứu công cụ kiểm thử phần mềm 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

doc107 trang | Chia sẻ: vietpd | Lượt xem: 2814 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Luận văn Nghiên cứu công cụ kiểm thử phần mềm 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
Tài liệu liên quan