Một số vấn đề về kiểm thử phần mềm

151 67 0
Một số vấn đề về kiểm thử phần mềm

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đ Ạ I H Ọ C Q U Ố C G IA H À N Ộ I KHOA CÔNG NGHỆ N guyễn V ăn H anh M Ô T SỐ VẤN Đ Ể V Ể K IỂ M TH Ử PHẦN M ỀM C huyên ngành: C ông nghệ T hô ng tin M ã số: 1.01.10 LU Ậ N V Ă N T H Ạ C s ĩ NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS N guyễn Q uốc Toản ĐẠI H Ọ C G U O C GI A H ' 40 TRUNG TÁM THÔNGTỈN.T; iư \'iẼ Hà Nội - N ăm 2003 Mo Y - LO Mục lục M ục l ụ c Lời giới t h i ệ u C hương lược phần m ềm kiểm th phần m ềm / / M ộ t s ố k h i n iệ m v vấn đ ề liê n q u a n 1.1.1 Sản phẩm phần mềm gì? 1.1.2 Thế lỗi phần m ềm ? 10 1.1.3 Tại xuất lỗi phần mềm? 11 1.1.4 Chi phí cho việc sửa lỗ i 12 1.1.5 Kiểm thử phần mềm g ì? 13 1.2 C c m hình vị n g đ i p h t triển p h ầ n m ề m v ó i vân đ ề k iể m t Ĩ 1.2.1 Mỏ hình Big-Bang 14 1.2.2 Mỏ hình vừa lập trình, vừa sửa lỗi (Code-and-Fix Model) .16 1.2.3 Mơ hình thác nước (Waterfall Model) 16 1.2.4 Mơ hình xoắn ốc (Spiral Model) 18 1.2.5 Nhận x é t 20 C hưưng ĩ ^ - £ c kĩ th u ậ t kiểm th phần m ề m 21 II ĩ K ĩ th u ậ t k iể m th ủ h ộ p đ e n (B la c k -Box Testing) 21 11.2 K ĩ th u ậ t k iể m th ủ h ộ p trắ n g (W hite-B ox Tesing) 22 II Thiết k ế c c trư òng h ợ p k iể m thử 24 11.3.1 Phân hoạch tương đương (Equivalence Partitioning) .25 11.3.2 Phân tích giá trị biên (Boundary-Value Analysis) 29 11.3.3 Kĩ thuật đồ thị nhân 31 11.3.4 Đoán lỗi (Error Guessing) 35 11.3.5 Kiểm thử đường dẫn sở (Basic Path Testing) 36 11.3.6 Kiểm thử cấu trúc điều khiến 44 11.3.7 Một ví dụ thiết kế trường hợp kiểm thử .51 Chương Yß - Chiến lược kiểm thử phần m ềm 53 m M ộ t s ố n g u y ê n l í k iể m th c ầ n th iế t [1 ] 53 III.2 L u n g th ô n g tin k iể m th 56 III Phư ơng p h p tiế p c ậ n k iể m th p h ẩ n m ề m 57 111.3.1 Xác minh thẩm định 58 111.3.2 Tổ chức việc kiểm thử 59 111.3.3 Một chiến lược kiểm thử phần m ềm 60 111.3.4 Điều kiện đê hoàn thành kiểm thử 63 ỉII K iểm th d n v ị (kiể m th m ô đ u n /th n h p h ầ n ) 05 111.4.1 Vấn đề kiểm thử đơn vị 65 111.4.2 Các thủ tục kiểm thử đơn v ị 67 II 1.5 K iểm th ủ tíc h h ợ p 68 111.5.1 Kiểm thử tích họp từ xuống (top-down) 69 111.5.2 Kiểm thử tích hợp từ lên (bottom-up) .71 111.5.3 Kiểm thử hồi quy 72 II 1.5.4 Một số ghi kiểm thử tích hợ p 73 IILó K iểm th ủ tính h ợ p lệ 75 111.6.1 Điều kiện kiểm thử tính hợp l ệ 75 111.6.2 Duyệt lại cấu hình 76 111.6.3 Kiểm thử Alpha Beta 76 III K iểm th ủ h ệ th ố n g 77 111.7.1 Kiểm thử phục h i 78 111.7.2 Kiểm thử tính bảo m ật 78 111.7.3 Kiểm thử ứng suất 79 111.7.4 Kiểm thử khả thực 79 III K ĩ th u ậ t g ỡ r ố i 80 111.8.1 Quá trình gỡ rối 80 111.8.2 Phương pháp gỡ rối 81 Chương Jvj-_Kiểm thử hướng đối tượng 83 IV C ắ c k ĩ th u ậ t k iể m th ủ h ng đ ố i tư ợ n g 83 IV 1.1 Kiểm thử mơ hình phân tích hướng đối tượng (OOA) thiết kê hướng đối tượng (OOD) 83 IV 1.2 Các trường hợp kiểm thử cho phần mềm hướng đối tượng 87 IV 1.3 Khả nàng ứng dụng phương pháp kiểm thử mức lớp 94 tv.2 C h iế n lư ợ c k iể m th h n g đ ố i tư ợ n g .96 IV.2.1 Kiểm thử đơn vị mơ hình hướng đối tượng 96 IV.2.2 Kiểm thử tích hợp mơ hình hướng đối tượng 97 IV.2.3 Kiểm thử chức hệ thống mơ hình hướng đối tượng 98 IV.3 K iểm th v ó i UML 99 IV.3.1 UML mơ hình kiểm thử 99 IV.3.2 Biểu đồ Use Case 101 IV.3.3 Biểu đồ lớp (Class Diagram) 103 IV.3.4 Biểu đồ (Sequence Diagram) 105 IV.3.5 Biểu đồ hoạt động (Activity Diagram) 106 IV.3.6 Biểu đồ trạng thái (Statechart Diagram) 107 IV.3.7 Biểu đồ hợp tác (Collaboration Diagram) 108 IV.3.8 Biểu đồ thành phần (Component Diagram) .109 IV■3.9JBiẹ.u^ề-triển khai (Deplovment Diagrain) 110 C hương V - V ấn đề q u ả n lí chất lượng phần m ềm tiêu ch u ẩn kiểm thử ph ần mềiB< 111 ì Vấn đ ề q u ả n t í c h ấ t lư ợ n g p h ầ n m ề m 11 ỉ V V 1.1 Chất lượng phần mềm g ì? 111 v.1.2 Các hoạt động quản lí chất lượng 112 V 1.3 Họ tiêu chuẩn ISO 9000 112 V 1.4 Các tiêu chuẩn phần mềm 114 V.2 Vốn đ ề tiê u c h u ổ n k iể m th ủ p h ầ n m ề m 115 v.2.1 Kiểm thử phần mềm số ngữ cánh .116 v.2.2 Mơ hình kiểm thử phần mềm .117 v.2.3 Các mức toàn vẹn kiểm thử dựa vào rủi ro 120 v.2.4 Khung kiểm thử phần mềm 121 -4- C hưưng VI - V ấn đề tài liệu kiểm th phần m ề m 123 VI ỉ Tổng q u a n v ề vấn đ ề t i liệ u k iể m th p h ầ n m ề m 123 VI K ế h o c h k iể m thử 126 VI Đ ặ c tá k iể m th ủ ĩ 32 VI.3.1 Đặc tả thiết kế kiếm thử 132 VI.3.2 Đặc tả trường hợp kiểm thử 133 VI.3.3 Đặc tả thủ tục kiểm thử 134 VI C c b o c o k iể m th 135 VI.4.1 Báo cáo chuyển giao hạng mục kiểm thử .135 VI.4.2 Báo cáo nhật kí kiểm thử 136 VI.4.3 Báo cáo vấn đề kiểm thử bất thường 137 VI.4.4 Báo cáo tổng kết kiểm thử 137 VI M ộ t sô t i liệ u k iể m th ủ g ia i đ o n 138 VI.5.1 Tài liệu kiểm thử đơn vị (thành phần) 138 VI.5.2 Tài liệu kiểm thử tích hợp 139 VI.5.3 Tài liệu kiểm thử hệ thống 141 VI.5.4 Tài liệu kiểm thử tính hợp lệ 142 K ết lu ậ n .147 T ài liệu th am k h ả o 148 Lời giới thiệu Ngày nay, công nghệ thông tin ứng dụng rộng rãi lĩnh vực đời sống, xã hội, đóng vai trị quan trọng trình chuyển dịch cấu kinh tế xã hội, thay đổi phong cách sống phong cách làm việc người Linh hổn công nghệ thơng tin phần mềm Phần mềm phát triển khơng chì cho hệ thống đơn giản, đơn lẻ mà cho hệ thống điều khiển phức tạp, hệ thống tích hợp nhiều loại thiết bị với phạm vi ứng dụng từ hệ thống đơn lẻ đến hệ thống lớn, quan, khu vực, thành phố, quốc gia toàn giới Với phát triển vũ bão cơng nghệ thơng tin nói chung cơng nghệ phần mềm nói riêng, việc phát triển phần mềm ngày hỗ trợ nhiều công cụ phát triển tiên tiến, giúp cho việc xây dựng phần mềm đỡ mệt nhọc hiệu Tuy nhiên, độ phức tạp phần mềm giới hạn thời gian chi phí, cho dù hoạt động đảm bảo chất lượng phần mềm nói chưng kiểm thử phần mềm nói riêng ngày chặt chẽ khoa học hơn, không đảm bảo sán phẩm phần mềm ứng dụng khơng cịn lỗi Lỗi tiềm ẩn sản phẩm phần mềm gây thiệt hại khôn lường Kiểm thử phần mềm trình liên tục xuyên suốt giai đoạn trình phát triển phần mềm để đàm bảo phần mềm thoả mãn yêu cầu chúng yêu cầu thoả mãn nhu cầu người dùng Các kĩ thuật kiểm thử phần mềm đã, nghiên cứu việc kiểm thử phần mềm trở thành quy trình bắt buộc dự án phát triển phần mềm giới Kiểm thử phần mềm hoạt động tốn kém, thời gian khó phát hết lỗi Vì vậy, việc kiểm thử phần mềm địi hỏi phải có chiến lược phù hợp, kế hoạch hợp lí việc thực quản lí chặt chẽ ỏ Việt Nam, thời gian qua, kiểm thử phần mềm bị xem nhẹ, với cơng cụ lập trình đại, người ta cảm tính cho khơng kiểm thử khơng sao, nên chưa có nhiều quan tâm, nghiên cứu Những năm gần đày, số tổ chức nghiên cứu phát triển phần mềm bắt đầu có nhiều quan tâm đến vấn đề kiểm thử phần mềm Tuy nhiên, chưa đầu tư quan tâm mức Nước ta trình xây dụng ngành cơng nghiệp phần mềm khơng xem nhẹ việc kiểm thử phần mềm xác suất thất bại lớn, nữa, báo cáo phần mềm khơng có tài liệu kiểm thử khơng chấp nhận M ụ c đích phương pháp nghiên cứu Luận văn Để góp thêm nhận thức tầm quan trọng kiểm thử phần mềm, thơng qua việc nghiên cứu, tìm hiểu, đánh giá kĩ thuật, chiến lược, tổng kết tiêu chuẩn liên quan đến quản lí chất lượng kiểm thử phần mềm, tìm chỗ cịn chưa có tiêu chuấn kiểm thử phần mềm Từ đề xuất vấn đề thiếu khung để xây dựng tiêu chuẩn kiểm thử phẩn mềm, đồng thời đề xuất vấn đề xây dựng tài liệu kiểm thử phần mềm Kết nghiên cứu làm tài liệu tham khảo việc xây dựng tiêu chuẩn Quốc gia quy trình phần mềm nói chung tiêu chuẩn kiểm thử phần mềm nói riêng, đồng thời làm tài liệu tham khảo cho sớ tiến tới đưa quy trình kiểm thử phần mềm thành quy trình bắt buộc dự án phát triển phần mềm họ Đối tượng phạm vi nghiên cứu - Đề tài nghiên cứu, tìm hiểu phân tích kĩ thuật, phương pháp chiến lược kiểm thử phần mềm đã, áp dụng nghiên cứu giới; - Nghiên cứu, tổng kết tiêu chuẩn liên quan đến đảm bảo chất lượng phần mềm kiểm thử phần mềm; - Việc nghiên cứu kĩ thuật phương pháp kiểm thử có nhiều thành áp dụng giới Việc nghiên cứu đưa kĩ thuật phương pháp kiểm thử khó với khn khổ luận văn cao học Vì vậy, luận văn giới hạn phạm vi nghiên cứu phân tích, tìm lỗ hổng cịn chưa có tiêu chuẩn thiếu quy định tài liệu kiểm thử phần mềm, đồng thời đề xuất khung tiêu chuẩn kiểm thử phần mềm vần đề xây dựng tài liệu kiểm thử phần mềm -7- Kết cấu nội dung luận văn Toàn nội dung Luận văn chia thành chương sau: Chương I - Sơ lược phần mềm kiếm thử phần mềm Chương gồm phần: phần giới thiệu sỏ' khái niệm sở kiểm thừ phần mềm như: sản phẩm phần mềm gì, lỗi phần mềm, có lỗi phần mềm, chi phí để sửa lỗi khái niệm kiểm thử phần mềm ; phần giới thiệu sơ lược số mơ hình phát triển phần mềm phổ biến giới đánh giá vấn đề kiểm thử phần mềm mơ hình Chương II - Các kĩ thuật kiểm thử phần mềm Chương gồm phần: phần trình bày kĩ thuật kiểm thử hộp đen; phần trình bày kĩ thuật kiểm thử hộp trắng; phần trình bày kĩ thuật thơng dụng cho việc thiết kế trường hợp kiểm thử phần mềm Trong phần trình bày số ví dụ thiết kế trường hợp kiểm thử cho số toán đơn giản Chương III - Chiến lược kiểm thử phần mềm Chương chia thành phần: phần trình bày số ngun lí cần thiết việc thiết kế thực kiểm thử phần mềm; phần - Luồng thơng tin kiểm thử, trình bày biểu đồ luồng thông tin giai đoạn kiểm thử phần mềm; phần - Phương pháp tiếp cận kiểm thử phần mềm, trình bày cách tiếp cận chiến lược kiểm thử phần mềm, bao gồm vấn đề xác minh thẩm định, tổ chức kiểm thử, điều kiện để hoàn thành kiểm thử; từ phần đến phần trình bày giai đoạn kiểm thử: kiểm thử đơn vị, kiểm thử tích hợp, kiểm thử hệ thống, kiểm thứ tính hợp lệ (bao gồm kiểm thử chấp nhận, kiểm thử alpha kiểm thử beta) phần trình bày kĩ thuật gỡ rối Chương IV - Kiểm thử hướng đối tượng Chương gồm có phần: phần - trình bày kĩ thuật kiểm thử hướng đối tượng trường hợp kiểm thử hướng đối tượng; phần trình bày chiến lược kiểm thử hướng đối tượng; phần trình bày vấn đề kiểm thử với UML -8- Chương V - Vấn đề quản lí chất lượng phần mềm tiêu chuẩn kiểm thử phần mềm Chương trình bày sơ lược vấn đề quán lí chất lượng phần mềm, tiêu chuẩn kiểm thử phần mềm giới theo khung tiêu chuẩn phần mềm Chương VI - Vấn để tài liệu kiểm thử phần mềm Chương tác giả đề xuất hình thức nội dung tài liệu chủ yếu trình kiểm thử phần mềm Chương gồm có: tổng quan vần đề tài liệu phần mềm, kế hoạch kiểm thử, đặc tả kiểm thử, báo cáo kiểm thử cuối vấn để xây dựng tài liệu cho giai đoạn kiểm thử cụ thể C h n g I - Sơ lược phần m ề m k iểm th p h ần m ề m / M ộ t s ố k h i n iệ m v v ố n đ ề liê n q u a n 1.1.1 Sản phẩm p h ần m ềm gì? Nhiều người nghĩ cách đơn giản phần mềm chương trình mà cài đặt từ đĩa mềm hay đĩa CD-ROM chạy máy tính Đó mơ tả hay, có phần hợp lí, thực tế, có nhiều phần ẩn sau sản phẩm phần mềm không phần quan trọng Như thấy Hình 0.1, cịn nhiều yếu tố để tạo nên sản phẩm phần mềm, có nhiều yếu tố trừu tượng khơng đưa Phản hổi từ phiôn hàn cũ Thỏng tin canh tranh Sản phẩm cuối cùne Sclup, Help files Samples and Examples, Readme files, Error Massages, Icons and art User Manuals, Product Support Information, Advertisements, Label and stickers HÌNH 0.1 — SẢN PHẨM PHAN MEM -136- - Vị trí: Mô tả nơi để hạng mục kiểm thử chuyển giao Chi môi trường chứa chúng (đĩa mềm, đĩa quang, thư mục dùng chung ) nhãn chúng - Trạng thái: Mô tả trạng thái hạng mục kiểm thử chuyển giao Chúng thay đổi từ lần kiểm thử trước nào? Liệt kê báo cáo vấn để kiểm thử bất thường dự kiến giải mục kiểm thử giải Chi xem có cịn sửa đổi chưa giải cho tài liệu hạng mục mà tác động đến mục kiểm thử liệt kê báo cáo chuyển giao VI.4.2 Báo cáo nhật kí kiểm th Báo cáo ghi lại theo thứ tự thời gian kết kiện thực trình kiểm thử Nó bao gồm phần sau: - Từ định danh báo cáo: - Mơ tả: Chí kiểm thử, gồm số hiệu phiên nó, nơi kiểm thử thực hiện, phần cứng (máy in, tổng số nhớ, loại máy tính ), tất cá thơng tin cấu hình khác - Những hoạt động mục vào kiện: Ghi lại vấn đề xảy đày; Mô tả thực hiện: Thủ tục dùng, người kiểm thủ vại trò họ kiểm thử Các kết thủ tục: Những xảy ra, nhìn thấy gì, đầu hat trữ đâu? Thông tin môi trường: Những thay đổi (như thay phần cứng chẳng hạn) cho kiểm thử Những kiện bất thường: Những kiện khơng mong đợi (thơng thường theo lỗi) Nhiltìg vấn đề trước sau khỉ chúng xuất Từ định danh báo cáo vấn đề kiểm thử bất thường tạo -137- VI.4.3 Báo cáo vấn đề kiểm thử bấf thường Báo cáo ghi lại kiện xuất q trình kiểm thử mà địi hỏi việc nghiên cứu thêm Nó bao gồm nội dung sau: - Từ định danh cho báo cáo: - Tổng kết: Tổng kết vấn để bất thường - M ỏ tả vấn đề kiếm thử bất thường: Đầu vào; Bước thủ tục; Các kết quà dự kiến; Môi trường; Các kết thực tế; Các cố gắng lặp lại; Vấn để bất thường; Những người kiểm thử; Thời gian; Những người quan sát Các hoạt động quan sát liên quan hỗ trợ cho việc tìm hiệu chỉnh nguyên nhân gây vấn đề bất thường VI.4.4 Báo cáo tổng kết kiểm thử Báo cáo tổng kết kiểm thử, làm sau hồn thành vịng kiểm thử Nó mơ tả ngắn gọn kiểm thử thực đánh giá kết Nó bao gồm phần đây: - Từ định danh báo cáo; - Tổng kết: Ghi lại kiểm tra (gồm số hiệu phiên bản), môi trường nào, tổng kết đánh giá - Những thav đổi: Báo cáo thay đổi hạng mục kiểm thử so với đặc tả thiết kế chúng Chỉ thay đổi khác với kế hoạch kiểm thử, thiết kế kiểm thử, thủ tục kiểm thử khác Chỉ lí thay đổi -138- - Đánh g iá hoàn thành: Đánh giá hồn thành q trình kiểm thử so với điều kiện hoàn thành Kế hoạch kiểm thử có Chỉ đặc tính nhóm đặc tính chưa hồn thành kiểm thử giải thích lí - Tổng hợp kết quả: Chí vấn đề báo cáo, vấn đề giải tổng kết giải pháp nó, vấn đề bất thường chưa giải - Đánh giá: Đánh giá chung hạng mục kiểm thử, dựa vào kết kết kiểm thử điều kiện thành cơng/thất bại mức hạng mục (chương trình module) - Tổng kết hoạt động: Tổng kết hoạt động kiện Tổng kết liệu huy động hoạt động kiểm thử tống số thời gian sử dụng máy, tổng số thời gian qua dùng cho hoạt động hoạt động kiểm thử tổng kết nguồn lực khác VI M ộ t s ố t i liệ u k iể m t h ủ g i a i đ o n Việc xây dựng tài liệu cho kiểm thử giai đoạn kiểm thử đơn vị, kiểm thử tích hợp kiểm thử chấp nhận, nói chung nên tuân theo quy định chung trình bày phần trước Tuy nhiên, mục tiêu chiến lược cho loại kiểm thử khác nên việc xây dựng tài liệu cho loại kiểm thử phải đặc tả theo yếu tố khác V I T i liệ u k iể m t h đ n vị (th n h p h ầ n ) 1) Về kê hoạch kiểm thử - Một kế hoạch kiểm thử đơn vị cho thành phần đơn, nhóm thành phần có liên quan vùng chức hệ thống - Kế hoạch bao gồm chiến lược kiểm thử đơn vị (sử dụng phương pháp trình bày mục III.4 ), kĩ thuật thiết kế trường hợp kiểm thử sử dụng để đưa trường hợp kiểm cho thành phần, điều kiện hoàn thành kiểm thử cụ thể, vấn đề điều khiển nhánh cụt (như trình bày mục III.4.) -139- 2) v ể đặc tả kiếm thử - Các trường hợp kiểm thử thiết kế sử dụng kĩ thuật lựa chọn irong kế hoạch kiểm thử đơn vị Mỗi trường hợp kiểm thử mục tiêu nó, trạng thái khởi tạo thành phần, đầu vào nó, kết mong đợi Mục tiêu xác định dựa vào kĩ thuật thiết kế trường hợp kiểm thử sử dụng - Khi thiết kế kiểm thử sử dụng Bảng II bảng II.5 - Đặc tả kiểm thử cho thành phần thiết kế cho máy tính đọc Một số cơng cụ tự động kiểm thử sử dụng ngôn ngữ đặc tả 3) Về báo cáo kiểm thử - Nhật kí kiểm thử người kiểm thử ghi lại để so sánh kết thực tế kết mong đợi Sự khác nghiên cứu - Một báo cáo kiểm thử tạo kiểm thử thực hiện, phải ghi lại số hiệu phiên thành phần kiểm thử, đặc tả kiểm thử thành phần, thời gian (ngày giờ) kiểm thử, số trường hợp kiểm thử thực - Báo cáo kiểm thử phải đưa kiểm thử có thành cơng hay khơng điểu kiện hồn thành đặt đạt chưa? Nếu chưa đạt hoạt động kiểm thử trước phải lặp lại thê đến điều kiện hồn thành q trình kiếm thử bắt đầu lại từ điểm Cũng phải lặp lại hoạt động đặc tả kiểm thử để thiết kế trường hợp kiểm thử đạt mục tiêu đặt VI.5.2 Tài liệu kiểm thử tích hợp Một kế hoạch tổng thể cho việc tích hợp phần mềm mơ tả trường hợp kiểm thử tích hợp gọi đặc tả kiểm thử tích hợp Tài liệu có kế hoạch kiểm thử thủ tục kiểm thử Có thể phác thảo tài liệu kiểm thử tích hợp đây: Phạm vi kiểm thử tích hợp Kế hoạch kiểm thử tích hợp Các giai đoạn khối kiểm thử Lịch hiểu -140- Phần mềm bổ sung Môi trường tài nguyên Thủ tục kiểm thử n (mô tả kiểm thử cho khối n) Trình tự tích hợp Mục đích M ơđun kiểm thử Các kiểm thử dơn vị cho môđun khối Mô tả kiểm thử cho môđun m Mỏ tả phân mềm bổ sung Các kết mong đợi Môi trường kiểm thử Cúc công cụ k ĩ thuật đặc biệt Dữ liệu cho trường hợp kiểm thử Các kết mong đợi cho khối n Các kết kiểm thử thực tế Tài liệu tham kháo Các phụ lục Phạm vi kiểm thử cung cấp đặc điểm chức năng, thực cụ thể thiết kế bên mà kiểm thử Nỗ lực kiểm thử giới hạn, điều kiện hoàn thành cho giai đoạn kiểm thử mô tả, ràng buộc thời gian tư liệu hoá Kế hoạch kiểm thử mô tả chiến lược tổng thể cho việc tích hợp.Kiểm thử chia thành giai đoạn khối mà đặcđiếm theo chức cụ thể theo hành vi phần mềm Ví dụ: Phần mềm CAD có giai đoạn sau: - Tương tác người dùng - lựa chọn lệnh, tạo command selection, việc tạo vẽ, trình bày hiển thị, xử lí lỗi - Thao tác phân tích liệu: tạo biểu tượng, số chiều, phép biến đổi, tính tốn thuộc tính vật lí - Tạo xử lí hiển thị: hiển thị chiều, hiển thị chiều, đồ thị biểu đồ - Quán lí sở liệu: truy cập, cập nhật, tính nguyên vẹn khả thực -141- Mỗi giai đoạn giai đoạn chi loại chức riêng có phần mềm mà liên quan đến phần cụ thể cấu trúc phần mềm Vì thế, khối chương trinh (các nhóm mơđun) tạo tương ứng với giai đoạn Những điểu kiện kiểm thử áp dụng cho tất giai đoạn kiểm thử: • Tính ngun vẹn giao diện: Các giao diện bên bên kiểm thử môđun (hoặc cụm) bổ sung vào cấu trúc phần mềm • Tính hợp lệ theo chức năng: Các kiểm thử thiết kế để tìm lỗi theo 'Jìm$thơng tin: Kiểm thử cấu trúc liệu cục liệu tổng • $fiẩ thực hiện: Các kiểm thử thiết kế để kiểm tra khả thực giới hạn chi trình thiết kế phần mềm Kê hoạch kiểm thử bao gồm: • Một lịch biểu cho việc tích hợp Ngày bắt đầu ngày kết thúc cho giai đoạn • Một mô tả phần mềm bổ sung, tập trung vào nơi địi hỏi nỗ lực • dõỗ bit , , _ V , , Mt mỏ ta môi trương kiêm thứ Kế hoạch kiểm thử nên đáp ứng yêu cầu cục bộ, nhiên ln cần thiết phải có chiến lược tích hợp (như trình bày mục III.5 ), mô tả chi tiết kiểm thử (trong thủ tục kiểm thử) VI.5.3 Tài liệu kiểm thử hệ thống Trong hệ thống lớn dựa máy tính, phần mềm thành phần Phần mềm kết hợp với phần tử hệ thống khác (như phần cứng, người, thông tin ) Các kiểm thử hệ thống thực tế tập kiểm thử khác mà mục đích kiểm tra hệ thống đầy đủ dựa máy tính Mặc dù kiểm thử có mục đích khác nhau, nhung tất đểu đê’ kiểm tra phần tử hệ thống tích hợp cách hợp lí thực chức nâng xác định -142- Trong trinh xây dựng đặc tả kiểm thử hệ thống, sử dụng phương pháp trình bày mục III.7 , bao gồm kiểm thử phục hồi, tính bảo mật, ứng suất, kiểm thử khả nãng thực V I.5.4 Tài liệu kiểm th tính hợp lệ Tính hợp lệ phần mềm đạt thông qua tập kiểm thử hộp đen để minh chứng phù hợp với yêu cầu Cả kế hoạch thủ tục kiểm thử thiết kế để kiểm tra yêu cầu chức thoả mãn, tất đặc điểm thuộc hành vi đạt được, tất yêu cầu thực đáp ứng, tài liệu xác, yêu cầu khác đạt (chẳng hạn tính tương thích, khởi phục lỗi, bảo trì ) 1) Về xác định điều kiện chấp nhận Người dùng phải đưa điều kiện mà phần mềm phải đạt để xác định phần mềm chấp nhận Vể mặt ý tướng có đặc tả yêu cầu phần mềm Các yêu cầu chấp nhận mà hệ thống cần đạt tới chia thành loại: - Các yêu cầu chức năng: liên quan đến quy tắc công việc mà hệ thống phải thực - Các yêu cấu thực hiện: liên quan đến yêu cầu hoạt động ràng buộc thời gian, tài nguyên - Các yêu cầu chất lượng giao diện: liên quan đến giao tiếp với thành phần xử lí khác (như người/máy, máy/mơđun ) - Các u cầu chất lượng phấn mềm: giới hạn cho yếu tố thuộc tính độ tin cậy, tính đẵn, khả sử dụng Các yêu cầu điểu kiện chấp nhận phải liệt kê tài liệu đánh số cho mục đích kiểm sốt 2) Về xây dựng kế hoạch kiểm thử chấp nhận -143- Bước để đạt kiểm thử chấp nhận phát triển đồng thời kê hoạch kiểm thử chấp nhận, kế hoạch dự án chung yêu cầu phần mềm (như thể bảng VI trang 126) để đảm bảo yêu cầu người dùng trình bày đung đầy đủ Việc phát triển đồng thời đưa tổng quan hoạt động chấp nhận, để đảm bảo nguồn tài nguyên cho hoạt động có kế hoạch dự án Tuy nhiên, kế hoạch ban đầu chưa đầy đủ tiếo tưc bổ sung thông tin dự án đầy đủ Nội dung kế hoạch kiểm thử chấp nhận gồm có: - Mơ tả dự án: Kiểu hệ thống; hệ thống nhiệm vụ phải thoả mãn; giao diện bên hệ thống; rủi ro; ràng buộc; tiêu chuẩn - Trách nhiệm người dùng: Việc tổ chức trách nhiệm cho hoạt động kiểm thử chấp nhận; yêu cầu nguồn lực lịch biểu; yêu cầu phương tiện; yêu cầu để hộ trợ tự động, liệu đặc biệt, đào tạo; tiêu chuẩn quy ước; cập nhật duyệt lại kế hoạch kiểm thử sản phẩm liên quan - Các thủ tục quản lí: Các báo cáo bất thường; kiểm sốt thay đổi; giao tiếp người phát triển, người quản lí tổ chức - Mô tả kiểm thử chấp nhận: Mục tiêu cho dự án; tổng kết điều kiện chấp nhận; hoạt động kiểm thử chấp nhận chính; yêu cầu thông tin; trách nhiệm cho định chấp nhận Kế hoạch kiểm thử phải gồm kĩ thuật cơng cụ tiện ích kiểm thử chấp nhận 3) Vể đặc tả kiếm thử chấp nhận Việc kiểm thử chấp nhận sản phẩm cuối hội cuối để người dùng kiếm tra phần mềm theo chức năng, giao diện, khả thực hiện, đặc tĩnh chất lượng trước duyệt lại chấp nhận cuối Hệ thống thời điểm -144- phải bao gồm phần mềm chyển giao, tất tài liệu người dùng, phiên bán cuối tài liệu sản phẩm bàn giao khác Việc phát triển trường hợp kiểm thử chấp nhận dựa vào việc phần mềm sử dụng Cần phải đảm bảo tất trường hợp kiểm thử yêu cầu xác định cho yêu cầu chức hệ thống kiểm thử Như trình bày, use case (trường hợp sử dụng) mô tả cách thức người dùng (hoặc hệ thống khác) sử dụng hệ thống thiết kế để thực nhiệm vụ đặt Một hệ thống mô tả tổng số use case Mỗi thể kịch use case tương ứng với trường hợp sử dụng (test case) Use case cung cấp phương tiện giao tiếp mạnh khách hàng, người phát triển, nhân khác dự án Việc sử dụng use case thích hợp cho thiết kế thực kiểm thử chấp nhận Nên thực nhiệm vụ sau: - Xây dựng biểu đỏ biên hệ thống Mội biểu đồ biên vẽ giao diện phần mềm kiểm thử cấ thể, hệ thống giao diện khác Những giao diện tác nhân bên hoạt động thực tế actor (như nói trình bày Chương IV - ) Mục đích biểu đồ biên hệ thống tạo lập phạm vi hệ thống actor (tức giao diện) cần phát triển Các biên hệ thống cần bao gồm; - Các cá thể/các nhóm giao tiếp với phần mềm tay Các hệ thống khác giao tiếp với phần mềm - Các thư viện Các đối tượng hệ thống hướng đối tương - Xác định use case Đặc tả use case cần xác định sau: -145- o Số hiệu use case: Từ định danh cho use case (thông thường số) o Tên: Một cụm từ ngắn theo thuật ngữ công việc xác định mô tả use case o Actor: Bất kể cần trao đổi thơng tin với hệ thống Thường người dùng hệ thống hệ thống khác o Mục tiêu: Một mô tả use case thực o Điều kiện ban đầu: Điểu kiện trạng thái hệ thống đê thực use case o Kết (điều kiện hoàn thành): Điều kiện hoàn thành mong đợi use case o Mô tả chi tiết: Dãy bước cần thực use case (do actor thực hiện); phản hồi hệ thống cho bước; trình cliễn biến bán sư kiện theo điều kiện đưa (điều kiện ban đầu điểu kiện hồn thành); mơ tả từ quan điểm "hộp đen" người dùng không bao gồm chi tiết kiện bên hệ thống o Những ngoại lệ: Lỏi trệch hướng xuất gây cho actor trệch trình o Những trình thay thế: Một trệch hướng với kiện bước mô tả chi tiết đưa thêm hước phụ bỏ bước; có kiện hợp lệ, khơng q trình diễn biến kiện - Phát triển trường hợp kiểm thử Một trường hợp kiểm thử đầu vào, điều kiện thực kết mong đợi phát triển cho mục tiêu kiểm thử cụ thể Nên có quan hệ 1-1 việc xác định use case trường hợp sử dụng Theo suy luận thơng thường cần có hai trường hợp kiểm thử cho use case: cho -146- việc thực thành công use case thực không thành cơng use case Tuy nhiên, điều tạo nhiểu trường hợp kiểm thử cho use case Các trường hợp bổ sung suy diễn từ trình ngoại lệ thay use case Cần xây dựng trường hợp sử dụng sau: - Sớ hiệu trường hợp kiểm thử: Từ định danh cho trường hợp kiểm thử cụ thể (thông thường số kết hợp với số hiệu use case) - Số hiệu use case cha: Số hiệu use case đặc tả use case Mục tiêu: mục tiêu cụ thể trường hợp sử dụng - Điều kiện kiểm thử: Một kịch kết hành động kiểm thử từ bảng mô tả use case - Hoạt động người thao tác: Các bước chi tiết mà người thao tác thực điều kiện kiểm thử - Đặc tả đầu vào Đặc tả đầu - Kết thực kiểm thử (thành công/thất bại) Để kết luận kiểm thử chấp nhận, định phải lập cho điểu kiện kiểm thử để xem đạt hay khơng - Vé báo cáo kiểm thử chấp nhận: Có hai mục tiêu cho kiểm thử chấp nhận Thứ để đảm bảo hệ thống thực phù hợp với nhu cầu hoạt động thực tế khách hàng/'người dùng Mục tiêu thứ hai đảm bảo hệ thống phần mềm hoạt động môi trường thực tế người dùng, bao gồm kĩ quan điểm họ, sức ép thời gian, thay đổi điều kiện công việc Báo cáo tổng hợp phái trả lời câu hỏi -147- K ết lu ậ n Kiểm thử phần mềm hoạt động quan trọng đảm bảo chất lượng phần mềm Việc nghiên cứu lựa chọn kĩ thuật chiến lược kiểm thử phần mềm phù hợp giúp cho việc kiểm thử có hiệu quả, giảm chi phí thời gian Việc xây dựng tài liệu hựp lí giúp cho việc tổ chức, quản lí thực việc kiểm thử có hiệu Với khn khổ khoá luận cao học, tác giả nghiên cứu kĩ thuật chiến lược kiểm thử, đề xuất vấn đề xây dựng tài liệu kiểm thứ phần mềm Kết nghiên cứu thực tiễn áp dụng thực tế cho đề tài dự án phát triển phần mềm, làm tài liệu tham khảo việc xây dụng tiêu chuẩn Quốc gia kiểm thử phần mềm Vấn đề đề tài mẻ Việt Nam Việc nghiên cứu khơng chí địi hỏi hiểu biết khía cạnh lí thuyết mà cịn địi hỏi kiến thức kinh nghiệm thực tế việc tham gia dự án phát triển phần mềm khảo sát tình trạng thực tế sở nghiên cứu phát triển phần mềm Với khả thời gian có hạn tác giả, đề tài cần đầu tư, nghiên cứu để hoàn thiện -148- T i liệu t h a m k h ả o Tiếng Việt Đoàn Văn Ban (1997), Phân tích, thiết kế lập trình hướng đối tượng, Viện Công nghệ Thông tin - Trung tâm Khoa học Tự nhiên Công nghệ Quốc gia, Hà Nội, trang 37-215 Nguyễn Quốc Toản (2000), Bài giảng nhập môn cơng trình học phần mềm, Khoa Cơng nghệ - Đại học Quốc gia Hà Nội, trang 59-63 T iếng Anh Beizer, B (1995), Black-boxTesting, Wiley Boehm, B.w (1976), Software Engineering, IEEE Transactions on Computers, C-55 British Standard (1998), BS 7925-1 - Standard fo r Software Testing Vocabulary, British Computer Society British Standard (1998), BS 7925-2 - Standard fo r Software Component Testing, British Computer Society, pp 1-15 Cem Kaner, Jack Falk, Hung Quoc Nguyen (1999), Testing Computer Software, John Wiley & Sons, Inc., pp 27-141 Dolores R Eallace, Wendy w Peng, Laura M Ippolito, Software Quality Assurance: Documentation and Reviews, National Institute of Standards and Technology, Computer Systems Laboratory Gainthersbug, USA, url = http://hissa.nist.gov/Dublications/nistir4909/ Ernest Wallmuller (1994), Software Quality Assurance - A Practical Approach, Prentice Hall International (UK) Ltd -149- 10 Gregory Tassey (2002), Ph.D., The Economic Impacts of Inadequate Infrastructure fo r Software Testing, National Institute of Standards and Technology, USA, p ES5, url = http://www.nist.gov/director/prog- ofc/report02-3.pdf 11 Glenford J Myers (1979), The Art of Software Testing, John Wiley & Sons, Inc 12 Grady Booch (1999), James Rumbaugh, Ivar Jacabson, The Unified Modeling Language User Guide, Addison Wesley Longman, Inc 13 Ian Somerville (1996), Software Engineering, Fifth Edition, Addison-Wesley Publishers Ltd, USA 14 IEEE (1987), IEEE Std 1008-1987 - IEEE Standard fo r Software Unit Tesing, The Institute of Electrical and Electronics Engineerings, Inc., USA 15 IEEE (1998), IEEE Sid 1012-1998 - IEEE Standard fo r Software Verification and Validation, The Institute of Electrical and Electronics Engineerings, Inc., USA 16 IEEE (1997), IEEE Std 1028-1997 - IEEE Standard fo r Software Reviews, The Institute of Electrical and Electronics Engineerings, Inc., USA 17 IEEE (1992), IEEE Std 1298-1992 - IEEE Standard fo r Software Quality Management System, The Institute of Electrical and Electronics Engineerings, Inc., USA 18 IEEE (1998), IEEE Std 730-1998 (Revision of IEEE Std 730-1989) - IEEE Standard fo r Software Qualify Assurance Plans, The Institute of Electrical and Electronics Engineerings, Inc., USA -150- 19 IEEE (1998), IEEE Stcl 829-1998 (Revision of IEEE Stcl 829-1983) - IEEE Standard fo r Software Test Documentation, The Institute of Electrical and Electronics Engineerings, Inc., USA, 1998 20 ISO (1997), ISO 9000-3 - Guidelines fo r the Application of ISO 9001:1994 to the Development, Supply, Installation and Maintainace of Computer Software, The International Organization for Standardization 21 ISO (1994), ISO 9001 - Quality Systems - Model of Quality Assurance in Design, Development, Production, Installation and Servicing, The International Organization for Standardization 22 Martin, McClure (1983), Software Maintainace: The Problem and Its Solution, Eaglewood Cliffs, NJ: Ptentice Hall, p 24 23 Okinawa International Centre (1999), Test Techniques (Training Notes fo r Information Processing), Okinawa International Centre, Japan International Cooperation Agency 24 Robert V Binder (2000), Testing Object-Oriented Systems: Models, Patterns, andTools, Addison Wesley Longman, Inc., pp 175-532 25 Ron Patton (2001), Software Testing, Sams Publishing 26 Roger S Pressman, PhD (2001), Software Engineering: A Practitioner's Appoach, fifth edition, McGraw-Hill 27 William E Perry (2001), Effective Methods fo r Software Testing, John Wiley & Sons (Asia) Pte Ltd., India ... lượng kiểm thử phần mềm, tìm chỗ cịn chưa có tiêu chuấn kiểm thử phần mềm Từ đề xuất vấn đề thiếu khung để xây dựng tiêu chuẩn kiểm thử phẩn mềm, đồng thời đề xuất vấn đề xây dựng tài liệu kiểm thử. .. lược phần mềm kiếm thử phần mềm Chương gồm phần: phần giới thiệu sỏ' khái niệm sở kiểm thừ phần mềm như: sản phẩm phần mềm gì, lỗi phần mềm, có lỗi phần mềm, chi phí để sửa lỗi khái niệm kiểm thử. .. thử phần mềm ; phần giới thiệu sơ lược số mơ hình phát triển phần mềm phổ biến giới đánh giá vấn đề kiểm thử phần mềm mơ hình Chương II - Các kĩ thuật kiểm thử phần mềm Chương gồm phần: phần

Ngày đăng: 30/09/2020, 19:56

Mục lục

  • Chương I - Sơ lược về phần mềm và kiểm thử phần mềm

  • 1.1 Một số khái niệm và vấn đề liên quan

  • 1.1.1. Sản phẩm phần mềm là gì?

  • 1.1.2.Thế nào là một lỗi phần mềm?

  • 1.1.3. Tại sao xuất hiện lỗi phần mềm?

  • 1.1.4. Chi phí cho việc sửa lỗi

  • 1.1.5. Kiểin thử phần mềin là gì?

  • 1.2 Các mô hình vòng đời phát triển phần mềm với vấn đề kiểm thử

  • 1.2.2. Mô hình vừa lập trình, vừa sửa lỗi (Code-and-Fix Model)

  • 1.2.3. Mô hình thác nước (Waterfall Model)

  • 1.2.4. Mô hình xoán ốc (Spiral Model)

  • Chương II - Các kĩ thuật kiểm thử phần mềm

  • II. 1. Kĩ thuật kiểm thử hộp đen (Black -Box Testing)

  • II. 2. Kĩ thuật kiểm thử hộp trắng (White-B ox Tesing)

  • II.3 Thiết kế các trường hợp kiểm thử

  • II.3.1. Phân hoạch tương đương (Equivalence Partitioning)

  • II.3.2. Phân tích giá trị biên (Boundary-Value Analysis)

  • II.3.3. Kĩ thuật đồ thị nhân quả

  • III.3.4. Điểu kiện để hoàn thành kiểm thử

  • II.3.5. Kiểm thử đường dản cơ sở (Basic Path Testing)

Tài liệu cùng người dùng

Tài liệu liên quan