công nghệ phần mềm chương 8 kiểm thử phần mềm

65 2.1K 1
công nghệ phần mềm chương 8 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

Công Nghệ Phần Mềm 1 CÔNG NGHỆ PHẦN MỀM Chương 8 Kiểm thử phần mềm MÔN HỌC TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM Công Nghệ Phần Mềm 2 Chương 8 : Kiểm thử phần mềm 8.1 V & V (Verification and Validation) 8.2 Kiểm thử 8.3 Quá trình kiểm thử 8.2 Kiểm thử hướng đối tượng Công Nghệ Phần Mềm 3 • Kiểm chứng và thẩm định bao gồm kiểm thử phần mềmKiểm chứng (Verification): “Chúng ta đang xây dựng sản phẩm theo đúng cách"  Phần mềm phải phù hợp với đặc tả của nó • Thẩm định (Validation): “Chúng ta đang xây dựng sản phẩm đúng"  Phần mềm phải thực hiện những gì người dùng thật sự cần 8.1 Kiểm chứng và thẩm định Công Nghệ Phần Mềm 4 • Là một quá trình được thực hiện trong toàn bộ chu kỳ sống phần mềm. V & V phải được áp dụng cho mỗi giai đoạn của tiến trình phần mềm • Có 2 mục tiêu chính  Khám phá những khiếm khuyết trong hệ thống  Đánh giá là hệ thống có tính sử dụng hay không trong một tình huống hoạt động cụ thể Tiến trình V & V Công Nghệ Phần Mềm 5 • Kiểm tra tĩnh (static verification): Kiểm tra phần mềm tập trung phân tích biểu diễn hệ thống tĩnh nhằm phát hiện vấn đề  Có thể được bổ sung bằng tài liệu, dựa vào công cụ và phân tích code • Kiểm tra động (dynamic verification) Kiểm tra phần mềm tập trung vào thử thách và quan sát ứng xử của sản phẩm  Hệ thống được thực thi với dữ liệu kiểm tra và quan sát những hành vi của nó Kiểm tra tĩnh và động Công Nghệ Phần Mềm 6 V & V tĩnh và động Formal specification High-level design Requirements specification Detailed design Program Prototype Dynamic validation Static verification Công Nghệ Phần Mềm 7 • Có thể nhận ra sự hiện diện của một số lỗi • Một kiểm tra thành công là một kiểm tra mà khám phá ra một hay nhiều lỗi • Một kỹ thuật thẩm định tốt nhất cho những yêu cầu phi chức năng • Phải được dùng với việc kết hợp kiểm tra tĩnh nhằm cung cấp một V&V đầy đủ Kiểm thử chương trình (program) Công Nghệ Phần Mềm 8 Đích của V& V • Kiểm chứng và thẩm định phải tạo ra một sự tin tưởng rằng phần mềm phù hợp với mục đích • Điều này không có nghĩa là hoàn toàn không có khiếm khuyết • Cho biết phần mềm đủ tốt cho việc sử dụng theo mục đích của nó. Loại sử dụng phần mềm sẽ xác định mức độ tin tưởng cần thiết Công Nghệ Phần Mềm 9 • Kiểm thử và debug khiếm khuyết là những quá trình riêng biệt • Kiểm thử tập trung việc xác nhận có khiếm khuyết trong chương trình • Việc debug tập trung vào vị trí lỗi và sửa lỗi Kiểm thử và sửa lỗi (debug) Công Nghệ Phần Mềm 10 Thẩm định tính bảo mật (Security) • Thẩm định tính bảo mật và thẩm định về an toàn có những vấn đề chung • Người ta có ý định chứng minh rằng hệ thống không thể đi vào một số trạng thái (không an toàn hay không bảo mật) hơn là hệ thống có thể làm điều gì đó • Chúng có những khác biệt  Vấn đề an toàn liên quan tới vấn đề tai nạn; vấn đề bảo mật liên quan tới vấn đề có chủ ý  Vấn đề an toàn thì liên quan tới miền ứng dụng, vấn đề bảo mật thì chung hơn [...]... không quá đơn giản • Chú ý: Kiểm nghiệm phần mềm không khẳng định được phần mềm không còn khiếm khuyết, chỉ khẳng định được phần mềm có lỗi và giúp giảm thiểu lỗi Công Nghệ Phần Mềm 15 Kiểm thử phần mềm white-box methods black-box methods Methods Strategies Công Nghệ Phần Mềm 16 Kết hợp kiểm thửPhân loại: Kiểm nghiệm black-box: kiểm tra các chức năng cụ thể của phần mềm, không quan tâm cấu trúc... CONSTRAINT with a minimum of effort and time Công Nghệ Phần Mềm 19 Kiểm thử Black-Box requirements output input Công Nghệ Phần Mềm events 20 Kiểm thử Black-Box • • • Một hướng kiểm thử mà xem chương trình như một hộp đen (black-box) Những test case được thiết kế dựa vào đặc tả hệ thống Kế hoạch kiểm thử có thể bắt đầu sớm trong qui trình phần mềm Công Nghệ Phần Mềm 21 Kiểm thử Black-Box Input test data I Inputs... the end user Công Nghệ Phần Mềm 12 Ai kiểm thử phần mềm? developer Understands the system but, will test "gently" and, is driven by "delivery" Công Nghệ Phần Mềm independent tester Must learn about the system, but, will attempt to break it and, is driven by quality 13 Mục tiêu của kiểm thử phần mềm • Mục tiêu của kiểm thử phần mềm là tìm ra lỗi (nếu có) với chi phí thấp nhất • Kiểm thử phần mềm giúp Phát... lỗi trong chương trình (nếu có) Chứng minh được phần mềm hoạt động đúng như đã thiết kế Chứng minh phần mềm được viết đúng Chứng minh được phần mềm đáp ứng yêu cầu của user Góp phần chứng minh chất lượng của phần mềm Công Nghệ Phần Mềm 14 Mục tiêu của kiểm nghiệm phần mềm • Quá trình kiểm nghiệm phần mềm là tốt khi Có khả năng tìm ra lỗi cao Không dư thừa Biết chọn lọc: chỉ kiểm nghiệm những phần nào... dựng từ lưu đồ thuật giải sequence Công Nghệ Phần Mềm if until while case 26 Xây dựng đồ thị dòng chảy… 1 1 2,3 2 6 3 7 9 8 7 6 4 8 5 10 4,5 9 10 11 11 Công Nghệ Phần Mềm 27 …Xây dựng đồ thị dòng chảy procedure: DoSomething 1: do while x=0 2: if y=0 then 3: z=0; 4: elseif k=0 then 5: z=1; 6: else x=1; 7: endif; endif; 8: enddo 9: end 1 2 4 3 5 6 7 8 9 Công Nghệ Phần Mềm 28 …Xây dựng đồ thị dòng chảy •... trong những phương cách kiểm nghiệm white-box Bảo đảm số phép thử là ít nhất đủ để phát hiện các lỗi Tất cả các đường thực thi độc lập được thử qua ít nhất một lần Thử các điều kiện rẽ nhánh ở cả 2 nhánh true và false Thử qua vòng lặp tại biên cũng như bên trong Thử qua cấu trúc dữ liệu để đảm bảo tính toàn vẹn của nó Công Nghệ Phần Mềm 24 Các cấu trúc cơ bản Công Nghệ Phần Mềm 25 Đồ thị dòng chảy... định dựa vào kinh nghiệm Hệ thống được kiểm tra và phân tích chống lại những loại tấn công được biết • Thẩm định dựa vào Tool Nhiều công cụ như những bộ kiểm tra PWD được dùng để phân tích hệ thống đang hoạt động • Nhóm Tiger Nhóm có mục đích xuyên thủng hệ thống bảo mật của hệ thống bằng cách tấn công đồng thời vào hệ thống Công Nghệ Phần Mềm 11 8. 2 Kiểm thử phần mềm (Testing) Testing is the process... Output test results Công Nghệ Phần Mềm Oe Outputs which reveal the presence of defects 22 Kiểm thử White-Box (chức năng) our goal is to ensure that all statements and conditions have been executed at least once Công Nghệ Phần Mềm 23 Kiểm nghiệm các đường độc lập cơ bản • Kiểm nghiệm white-box dựa vào cấu trúc điều khiển của thiết kế thủ tục để sinh các test-case với tiêu chí Kiểm nghiệm các đường... nhánh (predicate) Công Nghệ Phần Mềm 31 Các đường độc lập cơ bản • • • • • • Đối với chương trình con DoSomething Tổng số đường : V=3+1=4 Đường 1: 1-9 Đường 2: 1-2-3 -8- 1… Đường 3: 1-2-4-5-7 -8- 1… Đường 4: 1-2-4-6-7 -8- 1… Chú ý: dấu 3 chấm (…) mang ý nghĩa “không quan tâm”, từ đó có thể đi theo bất kỳ cạnh nào bởi vì các cạnh sau đó đã được duyệt qua rồi Công Nghệ Phần Mềm 1 2 4 3 5 6 7 8 9 32 Các đường... input Thao tác kiểm nghiệm Dữ liệu output hay đáp ứng mong đợi của chương trình Test-case cho kiểm nghiệm black-box: chủ yếu dựa vào các yêu cầu cụ thể của chức năng phần mềm Test-case cho kiểm nghiệm white-box: chủ yếu dựa vào cấu trúc điều khiển của phần mềm vấn đề đặt ra: số lượng test-case cần thiết là quá lớn Công Nghệ Phần Mềm 18 Thiết kế Test Case "Bugs lurk in corners and congregate at boundaries . Công Nghệ Phần Mềm 1 CÔNG NGHỆ PHẦN MỀM Chương 8 Kiểm thử phần mềm MÔN HỌC TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM Công Nghệ Phần Mềm 2 Chương 8 : Kiểm thử phần mềm 8. 1 V & V (Verification. (Verification and Validation) 8. 2 Kiểm thử 8. 3 Quá trình kiểm thử 8. 2 Kiểm thử hướng đối tượng Công Nghệ Phần Mềm 3 • Kiểm chứng và thẩm định bao gồm kiểm thử phần mềm • Kiểm chứng (Verification):. quality Công Nghệ Phần Mềm 14 Mục tiêu của kiểm thử phần mềm • Mục tiêu của kiểm thử phần mềm là tìm ra lỗi (nếu có) với chi phí thấp nhất. • Kiểm thử phần mềm giúp  Phát hiện được lỗi trong chương

Ngày đăng: 01/07/2014, 12:34

Từ khóa liên quan

Mục lục

  • Chương 8 : Kiểm thử phần mềm

  • 8.1 Kiểm chứng và thẩm định

  • Tiến trình V & V

  • Kiểm tra tĩnh và động

  • V & V tĩnh và động

  • Kiểm thử chương trình (program)

  • Đích của V& V

  • Kiểm thử và sửa lỗi (debug)

  • Thẩm định tính bảo mật (Security)

  • Thẩm định bảo mật (Security)

  • 8.2 Kiểm thử phần mềm (Testing)

  • Ai kiểm thử phần mềm?

  • Mục tiêu của kiểm thử phần mềm

  • Mục tiêu của kiểm nghiệm phần mềm

  • Kiểm thử phần mềm

  • Kết hợp kiểm thử

  • Thiết kế Test case

  • Thiết kế Test Case

  • Kiểm thử Black-Box

  • Kiểm thử Black-Box

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

Tài liệu liên quan