Bài giảng Kỹ nghệ phần mềm - Bài 9: Xác minh & Thẩm định - Nguyễn Văn Vỵ
Khái niệm xác minh & thẩm định
Xác minh (Verification)
Kiểm tra xem phần mềm làm ra có đúng đặc tả (yêu
cầu, thiết kế) hay không
Thẩm định (Validation)
kiểm tra xem phần mềm có đáp ứng yêu cầu người
dùng không
? Đây là 2 hoạt động cốt yếu để đảm bảo chất lượng
phần mềm, diễn ra suốt quá trình phát triể
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kỹ nghệ phần mềm - Bài 9: Xác minh & Thẩm định - Nguyễn Văn Vỵ", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Bài giảng Kỹ nghệ phần mềm - Bài 9: Xác minh & Thẩm định - Nguyễn Văn Vỵ
Bộ môn Công nghệ phần mềm- Khoa CNTT- ĐHCN Email: vynv@coltech.vnu.vn Kỹ nghệ phần mềm Software Engeneering Nguyễn Văn Vỵ Bộ mụn Cụng nghệ phần mềm – ĐHCN 2 NguyễnVănVỵ Nội dung Bài 9: Xỏc minh & thẩm định Khái niệm xác minh, thẩm định Rμ sóat phần mềm Kiểm thử phần mềm Bộ mụn Cụng nghệ phần mềm – ĐHCN 3 NguyễnVănVỵ TÀI LiỆU THAM KHẢO 1. Nguyễn Văn Vỵ, Nguyễn Việt Hà. Giỏo trỡnh kỹ nghệ phần mềm. Nhà xuất bản Đại học Quốc gia Hà nội, 2008 2. Grady Booch, James Rumbaugh, Ivar Jacobson. The Unified Modeling language User Guid. Addison-Wesley, 1998. 3. M. Ould. Managing Software Quality and Business Risk, John Wiley and Sons, 1999. 4. Roger S.Pressman, Software Engineering, a Practitioner’s Approach. Fifth Edition, McGraw Hill, 2001. 5. Ian Sommerville, Software Engineering. Sixth Edition, Addison- Wasley, 2001. 6. Nguyễn Văn Vỵ. Phõn tớch thiết kế hệ thống thụng tin hiện đại. Hướng cấu trỳc và hướng đối tượng, NXB Thống kờ, 2002, Hà Nội. Bộ mụn Cụng nghệ phần mềm – ĐHCN 4 NguyễnVănVỵ Khái niệm xác minh & thẩm định Xác minh (Verification) Kiểm tra xem phần mềm lμm ra có đúng đặc tả (yêu cầu, thiết kế) hay không Thẩm định (Validation) kiểm tra xem phần mềm có đáp ứng yêu cầu ng−ời dùng không Đây lμ 2 hoạt động cốt yếu để đảm bảo chất l−ợng phần mềm, diễn ra suốt quá trình phát triển Bộ mụn Cụng nghệ phần mềm – ĐHCN 5 NguyễnVănVỵ Hoạt động kiểm chứng phần mềm Thẩm định và xỏc minh thực hiện ở mọi giai đoạn phỏt triển,với sản phẩm khỏc nhau, do đối tượng khỏc nhau thực hiện cỏc yờu cầu phần mềm đặc tả Yờu cầu phần mềm và cỏc đặc trưng chất luợng Xỏc minh Thẩm định đặc tả chưa tốt đặc tả tốt chưa đặc tả Thẩm định thiết kế phần mềm Xỏc minh Xỏc minh Bộ mụn Cụng nghệ phần mềm – ĐHCN 6 NguyễnVănVỵ Các hoạt động xác minh Cơ sở cho hoạt động xác minh Bản đặc tả yêu cầu Các bản thiết kế Mã nguồn Hoạt động xác minh Rμ soát (thanh tra, xét duyệt, kiểm toán) Kiểm thử (đơn vị, tích hợp, hệ thống) Bộ mụn Cụng nghệ phần mềm – ĐHCN 7 NguyễnVănVỵ Các hoạt động thẩm định Cơ sở cho hoạt động xác minh Bản đặc tả yêu cầu Mã nguồn Hoạt động xác minh Rμ soát (thanh tra, xét duyệt) Kiểm toán Kiểm thử thẩm định(chấp nhận) Hai hoạt động chính của thẩm định vμ xác minh lμ: rμ soát vμ kiểm thử.à Bộ mụn Cụng nghệ phần mềm – ĐHCN 8 NguyễnVănVỵ Thẩm định/xác minh tĩnh rà soỏt, xột duyệt cỏc tài liệu phần mềm: kế hoạch, yêu cầu, thiết kế, mã nguồn phỏt hiện một số loại lỗi nhất định khó đánh giá tính hiệu quả của sản phẩm Bộ mụn Cụng nghệ phần mềm – ĐHCN 9 NguyễnVănVỵ Thẩm định/xác minh động thực hiện trờn cơ sở cho vận hành sản phẩm phần mềm: Làm mẫu yờu cầu Vận hành chương trỡnh (kiểm thử) Mụ phỏng hệ thống người phỏt triển/người dựng trực tiếp kiểm tra đỏnh giỏ phỏt hiện mọi lỗi và khiểm khuyết phần mềm, hiệu quả cao Bộ mụn Cụng nghệ phần mềm – ĐHCN 10 NguyễnVănVỵ Rà soỏt phần mềm ■ Rà soỏt là xem xột, đỏnh giỏ sản phẩm được tiến hành mỗi giai đoạn để phỏt hiện ra những khiểm khuyết cần sửa trước khi sang giai đoạn sau ■ Mục tiờu: • Chỉ ra cỏc khiếm khuyết cần phải cải thiện. • Khẳng định những sản phẩm đạt yờu cầu. • Kiểm soỏt việc đạt chất lượng kỹ thuật tối thiểu của sản phẩm (cú diện mạo khụng đổi, ổn định) ■ Áp dụng tại cỏc thời điểm khỏc nhau trong quỏ trỡnh phỏt triển phần mềm. Bộ mụn Cụng nghệ phần mềm – ĐHCN 11 NguyễnVănVỵ Cỏc hỡnh thức rà soỏt ■ Cỏc kiểu rà soỏt: Thanh tra Họp xột duyệt khụng chớnh thức, Họp chớnh thức với cỏc thành viờn: khỏch hàng, nhà quản lý, nhõn viờn kỹ thuật. (rà soỏt kỹ thuật chớnh thức – formal technical review: FTR) ■ FTR chủ yếu do cỏc kỹ sư phần mềm thực hiện (là một phương tiện hiệu quả để cải thiện chất lượng) Bộ mụn Cụng nghệ phần mềm – ĐHCN 12 NguyễnVănVỵ Rà soỏt kỹ thuật chớnh thức (formal technical review - FTR) ■ Rà soỏt kỹ thuật chớnh thức là hoạt động bảo đảm chất lượng phần mềm do những người đang tham gia phỏt triển thực hiện. ■Mục tiờu cụ thể là: Phỏt hiện cỏc lỗi trong chức năng, logic (chương trỡnh) và triển khai (implementation). Kiểm thử sự phự hợp của phần mềm với yờu cầu Khẳng định phần đó đạt yờu cầu Bộ mụn Cụng nghệ phần mềm – ĐHCN 13 NguyễnVănVỵ Mục tiờu rà soỏt kỹ thuật chớnh thức ■Mục tiờu cụ thể (t): Bảo đảm FM phự hợp với cỏc chuẩn đó định Đảm bảo FM được phỏt triển theo một cỏch thức nhất quỏn (uniform manner) Làm cho dự ỏn dễ quản lý hơn Ngoài ra, làm cơ sở huấn luyện cỏc kỹ sư trẻ và cú ớch ngay cả cho những kỹ sư đó cú kinh nghiệm Bộ mụn Cụng nghệ phần mềm – ĐHCN 14 NguyễnVănVỵ Tiến trỡnh hoạt động rà soỏt Cỏ nhõn bỏo cỏo sản phẩm cần rà soỏt Xem xột, yờu cầu rà soỏt sao chộp, phõn cụng rà soỏt rà soỏt, lập bỏo cỏo lập chương trỡnh họp rà soỏt họp rà soỏt, lập bỏo cỏo Hội đồng rà soỏt Người thực hiện Người quản lý Người phỏt triển Bộ mụn Cụng nghệ phần mềm – ĐHCN 15 NguyễnVănVỵ Cuộc họp rà soỏt ■ Thành phần: lónh đạo rà soỏt, cỏc cỏ nhõn rà soỏt và người tạo ra sản phẩm được rà soỏt (+ khỏch). ■ Kết luõn đưa ra 1 trong 3 quyết định sau: • Chấp nhận sản phẩm khụng cần chỉnh sửa • Khước từ sản phẩm vỡ những lỗi nghiờm trọng • Chấp nhận cho chỉnh sửa sản phẩm, sau khi chỉnh sửa phải rà soỏt lại ■ Mọi thành viờn tham gia cuộc họp phải ký vào quyết định Bộ mụn Cụng nghệ phần mềm – ĐHCN 16 NguyễnVănVỵ Sản phẩm rà soỏt ■ Sản phẩm cuộc họp rà soỏt: • 1 Bỏo cỏo cỏc vấn đề nảy sinh do cỏ nhõn rà soỏt nờu ra • 1 danh sỏch cỏc vấn đề cần giải quyết • 1 bản tổng kết cuộc họp ■ Bản tổng kết họp rà soỏt phải chỉ rừ: • Đó rà soỏt cỏi gỡ • Ai rà soỏt • Tỡm thấy cỏi gỡ và Kết luận ra sao Bộ mụn Cụng nghệ phần mềm – ĐHCN 17 NguyễnVănVỵ Sản phẩm rà soỏt (t) ■ Danh sỏch cỏc vấn đề tồn tại phục vụ: Nhận ra cỏc vựng cú vấn đề trong sản phẩm được rà soỏt Dựng như 1 danh sỏch cỏc khoản mục để chỉ cho cỏc người làm ra sản phẩm cần chỉnh sửa Thiết lập thủ tục để bảo đảm rằng cỏc khoản mục trong danh sỏch đú sẽ được chỉnh sửa thực sự Bộ mụn Cụng nghệ phần mềm – ĐHCN 18 NguyễnVănVỵ Tiến hành rà soỏt ■ Mọi sản phẩm được tao ra ở mỗi bước đều được rà soỏt (khụng chỉ sản phẩm cuối cựng) ■ Tiến trỡnh phỏt triển chung nhất gồm 4 -5 giai đoạn: Kỹ nghệ hệ thống (KH triển khai) Phõn tớch, xỏc định yờu cầu phần mềm (đặc tả yờu cầu) Thiết kế phần mềm (thiết kế) Lập mó (mó nguồn) Kiểm thử phần mềm (kế hoạch kiểm thử) Bao trỡ (kế hoạch bảo trỡ) Rà soỏt bỏm sỏt theo sản phẩm của cỏc giai đoạn này Bộ mụn Cụng nghệ phần mềm – ĐHCN 19 NguyễnVănVỵ Các danh mục sản phẩm cần rμ soát Danh mục rà soỏt kỹ nghệ hệ thống Danh mục rà soỏt lập kế hoạch dự ỏn Danh mục rà soỏt phõn tớch yờu cầu phần mềm Danh mục rà soỏt thiết kế phần mềm Danh mục rà soỏt khõu lập mó Danh mục rà soỏt kiểm thử phần mềm Danh mục rà soỏt bảo trỡ phần mềm Bộ mụn Cụng nghệ phần mềm – ĐHCN 20 NguyễnVănVỵ Kiểm thử phần mềm – software testing - ■ Kiểm thử là tổ chức vận hành phần mềm 1 cỏch cú kế hoạch và phương phỏp để tỡm ra lỗi ■ Cần vận hành như thế nào để: hiệu suất tỡm ra lỗi là cao nhất ? chớ phớ (thời gian, cụng sức) ớt nhất? ■ Nội dung hoạt động kiểm thử bao gồm: Kế hoạch kiểm thử phương phỏp kiểm thử, chiến lược kiểm thử và kỹ thuật sử dụng Bộ mụn Cụng nghệ phần mềm – ĐHCN 21 NguyễnVănVỵ Mụ hỡnh chữ V - Cỏc mức kiểm thử Phõn tớch yờu cầu Đặc tả phần mềm Thiết kế kiến trỳc Thiết kế chi tiết Lập trỡnh rà soỏt mó test đơn vị test tớch hợp test hệ thống test chấp nhận Xỏc minh Thẩm định Bộ mụn Cụng nghệ phần mềm – ĐHCN 22 NguyễnVănVỵ Cỏc loại kiểm thử - Tương ứng với mụ hỡnh chữ V cú cỏc loại kiểm thử: Kiểm thử đơn vị (unit testing) Kiểm thử tớch hợp (integration testing) Kiểm thử hệ thống (system testing) y Kiểm thử phục hồi (recovery testing) y Kiểm thử ỏp lực (stress testing) y Kiểm thử thi hành (performance testing) y Kiểm thử an ninh (security testing) Kiểm thử thẩm định/chấp nhận (aceptance testing: alpha testing, beta testing) Bộ mụn Cụng nghệ phần mềm – ĐHCN 23 NguyễnVănVỵ Kế hoạch kiểm thử - ■ Kế hoạch kiểm thử tổng thể: 1. Giới thiệu chung Mụ tả hệ thống cần kiểm thử Cỏc mục tiờu kiểm thử Phương phỏp sử dụng Tài liệu hỗ trợ 2. Kế hoạch Thời gian, địa điểm Tài liệu kiểm thử: cỏc ca kiểm thử, tiến trỡnh, lịch trỡnh Điều kiện 3. Cỏc yờu cầu: phần cứng, phần mềm, nhõn sự 4. Kiểm soỏt quỏ trỡnh kiểm thử Bộ mụn Cụng nghệ phần mềm – ĐHCN 24 NguyễnVănVỵ Hai phương phỏp phổ biến: Kiểm thử hộp trắng (white box) Kiểm thử hộp đen (black box) Cỏc chiến lươc Kiểm thử Ứng dụng cho cỏc mức & loại kiểm thử khỏc nhau. Một số chiến lược: Chiến lược nhỏnh & toỏn tử quan hệ: BRO(đơn vị) Kiểm thử từ trờn xuống/dưới lờn/lai (tớch hợp) Kiểm thử vụ nổ lớn (big bang – tớch hợp) Kiểm thử hồi quy (tớch hợp) Kiểm thử luồn sợi (hệ thời gian thực) Phương phỏp và chiến lược kiểm thử Bộ mụn Cụng nghệ phần mềm – ĐHCN 25 NguyễnVănVỵ Sơ đồ dũng thụng tin của tiến trỡnh kiểm thử Biểu đồ dũng thụng tin kiểm thử kiểm thử xõy dựng Mụ hỡnh đụ tin cậy đỏnh giỏ gỡ lỗi Phần mềmchỉnh sửa Đặc tả phần mềm Cấu hỡnh kiểm thử Dự đoỏn độ tin cậy Phần mềm tin cậy Phần mềm chưa tin cậy Bộ mụn Cụng nghệ phần mềm – ĐHCN 26 NguyễnVănVỵ Tiến trỡnh thực hiện ca kiểm thử Thiết kế Ca kiểm thử Chuẩn bị dữ liệu,đk Tiến hành kiểm thử So sỏnh, đỏnh giỏ Yờu cầu, mó nguồn Bỏo cỏo kiểm thử Lập kế kế hoạch KT Kết quả kiểm thử Cỏc ca kiểm thửKế hoạch kiểm thử Dữ liệu kiểm thử Nhật ký Bộ mụn Cụng nghệ phần mềm – ĐHCN 27 NguyễnVănVỵ Mục tiờu thiết kế ca kiểm thử nhằm: tỡm ra nhiều sai nhất với nỗ lực & thời gian nhỏ nhất. Cỏc phương phỏp tốt phải cho một cơ chế: bảo đảm tớnh đầy đủ (khụng sút phần nào) và cung cấp khả năng thật sự phỏt hiện được cỏc sai Ca kiểm thử hiệu quả là ca kiểm thử phỏt hiện ra ớt nhất 1 lỗi Khỏi niệm về thiết kế ca kiểm thử Bộ mụn Cụng nghệ phần mềm – ĐHCN 28 NguyễnVănVỵ Kiểm thử hộp trắng Khỏi niệm kiểm thử hộp trắng Đối tượng: mó nguồn Mức: cỏc mụ đun đơn vị Nội dung là khỏm xột: cỏc chi tiết thủ tục (thuật toỏn) con đường logic (luồng điều khiển) cỏc trạng thỏi của chương trỡnh (dữ liệu). Bộ mụn Cụng nghệ phần mềm – ĐHCN 29 NguyễnVănVỵ Yờu cầu đặt ra: Mọi con đường độc lập trong một mụđun cần được thực hiện ớt nhất một lần. Mọi ràng buộc logic được thực hiện cả hai phớa đỳng (true) & phớa sai (false). Tất cả cỏc vũng lặp ở biờn của nú & cả cỏc biờn vận hành phải được thực hiờn. Mọi cấu trỳc dữ liệu nội tại được dựng để bảo đảm hiệu lực thi hành của nú Yờu cầu kiểm thử hộp trắng Bộ mụn Cụng nghệ phần mềm – ĐHCN 30 NguyễnVănVỵ 1. Đồ thị dũng (Tom McCabe đưa ra đầu tiờn). 2. Ma trận kiểm thử (số đường đi, trọng số). 3. Điều kiện lụgic – chiến lược miền và BRO 4. Điều khiển theo dũng dữ liệu 5. Cỏc cấu trỳc chu trỡnh – giỏ trị đặc trưng Cỏc kỹ thuật sử dụng Bộ mụn Cụng nghệ phần mềm – ĐHCN 31 NguyễnVănVỵ xột biểu đồ điều khiển của một chương trỡnh Vớ dụ: cấu trỳc điều khiển 1 chương trỡnh 8 11 1 2 6 3 9 7 5 4 10 rẽ nhỏnh lệnh 4 đường đi độc lập: 1-11 1-2-3-4-5-10 1-2-3-6-7-9-10 1-2-3-6-8-9-10 Bộ mụn Cụng nghệ phần mềm – ĐHCN 32 NguyễnVănVỵ luồng điều khiển Đồ thị dũng của chương trỡnh 1 109 87 6 11 4,5 2,3 đồ thị dũng 8 11 1 2 6 3 9 7 5 4 10 Bộ mụn Cụng nghệ phần mềm – ĐHCN 33 NguyễnVănVỵ Để mọi lệnh đều được kiểm thử ớt nhất một lần, cần tỡm được tất cả cỏc đường điều khiển độc lập trong chương trỡnh (khỏc với cỏc đường khỏc ớt nhất một lệnh). Số cỏc đường độc lập của 1 chương trỡnh là giới hạn trờn số cỏc kiểm thử cần phải thực hiện. Nú được gọi là độ phức tạp chu trỡnh của chương trỡnh Cỏc đường độc lập của 1 chương trỡnh trựng với cỏc đường độc lập của đồ thỡ dũng (tim đơn giản hơn). Độ phức tạp của chu trỡnh Bộ mụn Cụng nghệ phần mềm – ĐHCN 34 NguyễnVănVỵ Đồ thị dũng trờn gồm: 9 nỳt, trong đú:5 nỳt là vị tự, 11 cung, Chia mặt phẳng thành 4 miền Độ phức tạp chu trỡnh V(G) của đồ thị G được tớnh theo cỏc cỏch sau: V(G) = E - N + 2 = 11-9+2 = 4 V(G) = số miền phẳng = 4 V(G) = P – 1 = 5-1 = 4 Trong đú: E = số cung; N = số nỳt; P = số nỳt vị từ Tớnh độ phức tạp chu trỡnh từ đồ thị dũng Bộ mụn Cụng nghệ phần mềm – ĐHCN 35 NguyễnVănVỵ Xỏc định cỏc ca kiểm thử Tớnh độ phức Tạp chu trỡnh Xỏc định tập đường cơ bản Chuẩn bị cỏc ca kiểm thử Yờu cầu, mó nguồn Vẽđồ thị dũng Cỏc ca kiểm thử và nội dung Bộ mụn Cụng nghệ phần mềm – ĐHCN 36 NguyễnVănVỵ Vớ dụ ma trận kiểm thử 1 109 87 6 11 4,5 2,3 1 23 45 6 7 8 9 10 11 1 1 1 23 1 1 45 1 6 1 1 7 1 8 1 9 1 10 1 11 =A Bộ mụn Cụng nghệ phần mềm – ĐHCN 37 NguyễnVănVỵ Vớ dụ ma trận kiểm thử (t) 1 23 45 6 7 8 9 10 11 1 1 1 23 1 1 45 1 6 2 7 1 8 1 9 10 11 1 1 A2 = số trong ma trận cho biết số con đường cú hai cạnh đi qua cung đú Ma trận này giỳp lựa chọn đường để lập ca kiểm thử Bộ mụn Cụng nghệ phần mềm – ĐHCN 38 NguyễnVănVỵ Trong chương trỡnh, mỗi rẽ nhỏnh xỏc định bằng biểu thức logic. Điều kiện lụgic cú thể là: Điều kiện đơn là 1 biến Bool (cú thể cú toỏn tử phủ định): X Điều kiện đơn là biểu thức quan hệ giữa 2 biểu thức số học C = (A Θ B) , với Θ là phộp so sỏnh: , ≥ hay ≠ A, B là biểu thức số học Điều kiện phức hợp cấu thành từ hơn 1 điều kiện đơn nhờ cỏc toỏn tử Bool: hoặc (∪), và (∩), phủ định (┘) D = X1 & X 2 & Xn , trong đú Xi là điều kiện đơn, & là toỏn tử bool Điều kiện logic và cỏc chiến lược Bộ mụn Cụng nghệ phần mềm – ĐHCN 39 NguyễnVănVỵ Kiểm thử từng điều kiện logic trong chương trỡnh. Kiểm thử khụng chỉ phỏt hiện sai trong điều kiện mà cũn là phỏt hiện sai khỏc của chương trỡnh liờn quan. Nguyờn tắc kiểm thử nhỏnh: với mỗi điều kiện phức hợp C, thỡ mỗi nhỏnh “true” và “false” của C, mỗi điều kiện đơn trong C phải được kiểm thử ớt nhất một lần. Chiến lược kiểm thử miền cần 3 hoặc 4 kiểm thử cho một biểu thức quan hệ gồm cỏc trường hợp: , = và cú thể ≠ nữa. Chiến lược BRO là kết hợp 2 chiến lược trờn Làm sao chỉ ra tất cả cỏc trường hợp cần kiểm thử? Chiến lược phõn nhỏnh, miền và BRO Bộ mụn Cụng nghệ phần mềm – ĐHCN 40 NguyễnVănVỵ Xột điều kiện C là hội biến Bool và biểu thức quan hệ: C= A ∪ (B = E) Khi đú cỏc ràng buộc của C là cỏc cặp (t,t), (t,f) & (f,t); với (B = E) cú giỏ trị t tương ứng với “=“, và giỏ trị f tương ứng với “”; Bởi vậy tập cỏc đầu vào để kiểm tra C phải gồm 4 phần tử: (t,=), (t,) và (f,=). Đầu vào phủ cỏc ràng buộc C này bảo đảm phỏt hiện được mọi sai biến Bool hoặc toỏn tử quan hệ trong C. Vớ du: Chiến lược BRO – tạo ràng buộc2 Bộ mụn Cụng nghệ phần mềm – ĐHCN 41 NguyễnVănVỵ Đối tượng kiểm thử xem như hộp đen, thụng qua giao diện để đưa dữ liệu vào và nhận thụng tin ra Là kiểm thử yờu cầu chức năng Đối tương: mụ đun, hệ con, toàn hệ thống Đặc trưng: Thuyết minh: cỏc chức năng đủ & vận hành đỳng Thực hiện: qua giao diện Cơ sở: đặc tả, điều kiện vào/ra và cấu trỳc dữ liệu Ít chỳ ý tới cấu trỳc logic nội tại của nú Kiểm thử hộp đen – khỏi niệm Bộ mụn Cụng nghệ phần mềm – ĐHCN 42 NguyễnVănVỵ Phần mềm Kết quả ra Đặc tả hệ thống phần mềm 1. 2. n Giao diện Chức năng dữ liệu Dữ liệu đầu vào ? ? ? ? Khởi đầu –kết thỳc Đầu ra liờn quan Mụ hỡnh khỏi niệm kiểm thử hộp đen Bộ mụn Cụng nghệ phần mềm – ĐHCN 43 NguyễnVănVỵ Tỡm cỏc loại sai liờn quan: Chức năng: đủ, đỳng đắn Giao diện: vào, ra: đủ, phự hợp, đỳng, tiện lợi Cấu trỳc, truy cập dữ liệu: thụng suốt, đỳng đắn Thực thi: trụi chảy, kịp thời, chịu lỗi, phục hồi được Khởi đầu - kết thỳc: mỗi tiến trỡnh bỡnh thường Mục đớch kiểm thử hộp đen Bộ mụn Cụng nghệ phần mềm – ĐHCN 44 NguyễnVănVỵ 1. Phõn hoạch tương đương Chia tập dữ liệu thành từng lớp tương đương Mỗi lớp hoặc là đỳng hay sai, chỉ cần kiểm tra 1 số giỏ trị đặc trưng của nú ặ rỳt được số ca kiểm thử 2. Phõn tớch giỏ trị biờn Cỏc sai thường ở giỏ trị biờn Lựa chọn cỏc giỏ trị biờn của lớp phõn hoạch để kiểm thử 3. Đồ thị nhõn quả Lập cỏc đồ thị nhõn quả làm cơ sở xõy dựng ca kiểm thử Cỏc kỹ thuật kiểm thử hộp đen Bộ mụn Cụng nghệ phần mềm – ĐHCN 45 NguyễnVănVỵ Mụ hỡnh phõn hoạch & phõn tớch giỏ trị biờn ..... x xx x xx xx x xx x ..... Chọn Lớp tương đương Miền rộng Nhiều giỏ trị Miền giới hạn Một số giỏ trị Chọn Ca kiểm thử x x x x x x x b a min maxx x Bộ mụn Cụng nghệ phần mềm – ĐHCN 46 NguyễnVănVỵ Là một kỹ thuật để thiết kế ca kiểm thử Cung cấp một biểu diễn chớnh xỏc giữa cỏc điều kiện logic (đầu vào) và cỏc hành động tương ứng (đầu ra- kờt quả). Được xõy dựng dựa trờn cỏc mụ đun chức năng, lụgớc tiến trỡnh và đặc tả hệ thống Kỹ thuật gồm 4 bước Kỹ thuật đồ thị nhõn quả Bộ mụn Cụng nghệ phần mềm – ĐHCN 47 NguyễnVănVỵ Tiến trỡnh kỹ thuật nhõn quả Lập DS nguyờn nhõn-kết quả theo mụđun Phỏt triển đồ thị nhõn-quả Chuyển đồ thi ặ bảng quyết định Xõy dựng cỏc ca kiểm thử theo luật của bảng Đặc tả hệ thống phần mềm Cỏc mụ đun chức năng Bộ mụn Cụng nghệ phần mềm – ĐHCN 48 NguyễnVănVỵ Vớ dụ: kỹ thuật đồ thị nhõn quả Modul Nguyờn nhõn Kết quả Định danh A Số > a đỳng A1 Số ≥ a nghi ngờ A2 Số = a nghi ngờ A3 Số < a sai A4 B Số nguyờn đỳng B1 Danh sỏch nhõn quả theo modul Bộ mụn Cụng nghệ phần mềm – ĐHCN 49 NguyễnVănVỵ Vớ dụ: bảng quyết định đồ thị nhõn quả Định danh Điều kiện đỳng nghi ngờ sai A1 Số > a X B1 Số nguyờn X A2,A3 Số ≥ a X A4 Số < a X .. .. .. Mụđun A1 Mụđun B Ca 1: A1 & B số >a đỳng Ca 2: A2,A3,A4 & B1 Mụđun A2 Mụđun A3 Mụđun A4 Mụđun B ?số ≤a Bộ mụn Cụng nghệ phần mềm – ĐHCN 50 NguyễnVănVỵ Đối tượng: cỏc mụ đun đơn vị chương trỡnh Nội dung kiểm thử: giao diện: dữ liệu qua giao diện, dữ liệu vào ra cấu trỳc dữ liệu sử dụng cục bộ đường điều khiển điều kiện lụgic phộp toỏn xử lý Phương phỏp sử dủ dụng: Phương phỏp hộp trắng Kỹ thuật: cỏc kỹ thuật phương phỏp hộp trắng và bộ lỏi, cuống Kiểm thử đơn vị Bộ mụn Cụng nghệ phần mềm – ĐHCN 51 NguyễnVănVỵ Kiểm thử tớch hợp (integration testing) nhằm nhận được 1 bộ phận chức năng hay 1 hệ con tốt. Một kỹ thuật cú tớnh hệ thống để xõy dựng cấu trỳc chương trỡnh: từ cỏc mụđun đó kiểm, xõy dựng cấu trỳc chương trỡnh đảm bảo tuõn theo thiết kế. Cú hai cỏch tớch hợp Tớch hợp dần: từ trờn xuống, dưới lờn, kẹp Tớch hợp đồng thời 1 lỳc: “big bang” Phương phỏp: phương phỏp hộp đen Kỹ thuật: bộ lỏi, cuống Kiểm thử tớch hợp – khỏi niệm Bộ mụn Cụng nghệ phần mềm – ĐHCN 52 NguyễnVănVỵ Cỏc sai cú thể gặp khi tớch hợp : Dữ liệu bị mất khi đi qua một giao diện. Hiệu ứng bất lợi 1 mụđun vụ tỡnh gõy ra đối cỏc mụđun khỏc. Sự kết hợp cỏc chức năng phụ cú thể khụng sinh ra chức năng chớnh mong muốn. Sự phúng đại cỏc sai sút riờng rẽ cú thể bị đến mức khụng chấp nhận được. Vấn đề của cấu trỳc dữ liệu toàn cục cú thể để lộ ra . Cỏc sai gặp khi tớch hợp mụ đun Bộ mụn Cụng nghệ phần mềm – ĐHCN 53 NguyễnVănVỵ Sơ đồ - tớch hợp trờn xuống A B C D E F I K HG A B A BCuống (C,D) Cuống(E,F) Cuống(E,F) Cuống (D,I,K) Cuống C Kiểm thử A Kết hợp theo chiều rộng Kết hợp theo chiều sõuHệ cần kiểm thử Chưa xong Bộ mụn Cụng nghệ phần mềm – ĐHCN 54 NguyễnVănVỵ Sơ đồ - tớch hợp dưới lờn Bộ lỏi Bộ lỏi Bộ lỏi Vũng 1 Vũng 2 Vũng 3 Cụm Bộ mụn Cụng nghệ phần mềm – ĐHCN 55 NguyễnVănVỵ Chiến lược Big bang dựng cho chương trỡnh nhỏ phức tạp, khụng hiệu quả Chiến lược trờn-xuống nhược điểm: cần cỏc cuống những khú khăn kốm theo cuống. cú ngay chức năng điều khiển hệ thống. Chiến lược dưới –lờn: luụn chưa cú chương trỡnh chỉnh thể thiết kế ca kiểm thử dễ và khụng cần cuống. Nhận xột phương phỏp tớch hợp Bộ mụn Cụng nghệ phần mềm – ĐHCN 56 NguyễnVănVỵ Khỏi niệm kiểm thử hệ thống Hệ thống dựa trờn mỏy tớnh (phần cứng & phần mềm) do nhiều bờn xõy dựng, người phỏt triển phần mềm chỉ là một. Chỳng cần được kiểm tra tổng thể Những sai cần kiểm tra: Cỏc dữ liệu qua giao diện của cỏc thành phần được kiểm thử Đường xử lý liờn kết cỏc thành phần Sự tớch hợp lỗi từ cỏc thành phần khỏc nhau Những hạn chế khỏc đến năng lực do ảnh hưởng từ cỏc thành phõn: chịu lỗi, an toàn, thực thi Kiểm thử hệ thống Bộ mụn Cụng nghệ phần mềm – ĐHCN 57 NguyễnVănVỵ Cỏc loại kiểm thử hệ thống 1. Kiểm thử chức năng (mức hệ thống) bao gồm cỏc chức năng giao diện, cỏc chức năng mức người dựng hay đầu ra cuối cựng khỏi hệ thống 2. Kiểm thử phục hồi (chịu lỗi) kiểm thử phục hồi là bắt phần mềm phải thất bại để xem khả năng phục hồi của nú đến đõu. Cú 2 mức phục hồi: phụ hồi tự động hay cần đến sự cỏn thiệp của con người Độ tin cõy là một độ đo đỏnh giỏ khả năng phục hồi Bộ mụn Cụng nghệ phần mềm – ĐHCN 58 NguyễnVănVỵ Cỏc loại kiểm thử hệ thống 3. Kiểm thử an ninh (sức chịu tấn cụng) kiểm tra mọi cơ chế bảo vệ được xõy dựng xem cú đạt hiệu quả đề ra trước cỏc đột nhập hay khụng? người kiểm thử đúng vai trũ của kẻ đột nhập thực hiện mọi đột nhập cú thể để đỏnh giỏ. 4. Kiểm thử thi hành (thụng suốt, kịp thời) kiểm thử thi hành được thiết kế để kiểm tra sự vận hành của phần mềm khi hệ thống được tớch hợp. Việc thi hành đỳng bao gồm cả số lượng, chất lượng (hoạt động và hiệu năng) Bộ mụn Cụng nghệ phần mềm – ĐHCN 59 NguyễnVănVỵ Cỏc loại kiểm thử hệ thống 5. Kiểm thử chịu tải (qui mụ, giỏ trị nhạy cảm) là vận hành hệ thống khi sử dụng nguồn lực với số lượng, tần suất và cường độ dị thường. Vớ dụ: vận hành 1 cơ sở dữ liệu với số bản ghi cực lớn, vận hành hệ điều hành mạng với số mỏy nhiều dần. Bộ mụn Cụng nghệ phần mềm – ĐHCN 60 NguyễnVănVỵ Mục tiờu: xem phần mềm cú đỏp ứng được yờu cầu khỏch hàng/người dựng khụng? Thực hiện thụng qua 1 loạt cỏc kiểm thử hộp đen Kế hoạch & thủ tục được thiết kế bảo đảm rằng: Tất cả cỏc yờu cầu được thoả món, Cỏc yờu cầu thi hành đó chớnh xỏc, Tài liệu đỳng đắn và Cỏc yờu cầu khỏc là thoả đỏng. Cú hai loại: kiểm thử Alpha và kiểm thử Beta Kiểm thử chấp nhận- thẩm định Bộ mụn Cụng nghệ phần mềm – ĐHCN 61 NguyễnVănVỵ Kiểm thử alpha do phỏt triển tiến hành: Phần mềm được người dựng thực hiện trong bối cảnh “tự nhiờn”, trong một mụi trường được điều khiển Người phỏt triển “nhũm qua vai” người sử dụng để bỏo cỏo cỏc sai và cỏc vấn đề sử dụng (vỡ thế cũn gọi là kiểm thử sau lưng). Dữ liệu thường là dữ liệu mụ phỏng Kiểm thử Beta do khỏch hàng tiến hành Tiến hành trong mụi trường thực Khỏch hàng bỏo cỏo tất cả cỏc vấn đề họ gặp trong quỏ trỡnh kiểm thử cho người phỏt triển 1 cỏch định kỳ. Kiểm thử Alpha và kiểm thử Beta Bộ mụn Cụng nghệ phần mềm – ĐHCN 62 NguyễnVănVỵ Câu hỏi củng cố 1. Định nghĩa thẩm định vμ xác minh? 2. Sự khác nhau giữa thẩm định,xác minh tĩnh vμ động? 3. Các hoạt động chính của thẩm định vμ xác minh lμ gì? 4. Rμ soát lμ gì? Có những loại rμ soát nμo? 5. Mục tiêu, đối t−ợng của rμ soát kỹ thuật chính thức 6. Tiến trình rμ soát kỹ thuật chính thức? 7. Thμnh phần, nội dung, kết quả họp rμ soát chính thức? 8. Nêu danh mục các sản phẩm cần rμ soát? 9. Kiểm thử phần mềm lμ gì? Nội dung của hoạt động kiểm thử gồm những gì? Bộ mụn Cụng nghệ phần mềm – ĐHCN 63 NguyễnVănVỵ Câu hỏi củng cố 10. Trình bμy đề c−ơng nội dung kế hoạch kiểm thử? 11. Vẽ sơ đồ dòng thông tin kiểm thử? 12. Vẽ sơ đồ tiến trình thực hiện một ca kiểm thử 13. Có những loại kiểm thử nμo? Đối t−ợng của nó lμ gì? 14. Có những ph−ơng pháp vμ chiến l−ợc kiểm thử nμo? 15. Trình bμy tóm tắt mỗi ph−ơng pháp kiểm thử: đối t−ợng, những sai cần kiểm tra, các chiến l−ợc vμ kỹ thuật sử dụng? 16. Trỡnh bày cỏc loại hỡnh kiểm thử: định nghĩa, mục tiờu, cỏc sai cần kiểm tra, chiến lược và kỹ thuật sử dụng, cỏch thức tiến hành? Bộ mụn Cụng nghệ phần mềm – ĐHCN 64 NguyễnVănVỵ Câu hỏi và thảo luận
File đính kèm:
- bai_giang_ky_nghe_phan_mem_bai_9_xac_minh_tham_dinh_nguyen_v.pdf