Phương pháp kiểm thử hộp trắng (white box testing)

39 1.9K 4
Phương pháp kiểm thử hộp trắng (white box testing)

Đ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

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Đề tài: Phương pháp kiểm thử hộp trắng (white box testing) Nội dung trình bày Các khái niệm phương phương pháp kiểm thử hộp trắng  Các kỹ thuật sử dụng xây dựng ca kiểm thử theo phương pháp kiểm thử hộp trắng  Ưu, nhược điểm phương pháp  Giải pháp  Đặt vấn đề  Bài toán chất lượng phần mềm đặt dự án phần mềm với mong muốn ngày sản suất phần mềm có chất lượng tốt với chi phí thấp  Việc đảm bảo chất lượng phần mềm mềm liên quan đến nhiều yếu tố như: chuẩn quy trình quản lý công ty, môi trường công cụ phát triển, mô hình phát triển phần mềm lựa chọn, kĩ nhân viên,…  Xác minh thẩm định tên gọi chung hoạt động đảm bảo chất lượng phần mềm Đặt vấn đề  Kiểm thử phần mềm phần quan trọng hoạt động đảm bảo chất lượng phần mềm nhằm tạo sản phẩm có chất lượng tốt, góp phần tạo nên thành công dự án phần mềm  Công việc mã hóa chương trình theo thiết kế giai đoạn quan trọng trình sản xuất phần mềm  Đề tài: “Phương pháp kiểm thử hộp trắng” phương pháp dùng để thiết kế ca kiểm thử nhằm kiểm tra xem đoạn mã chương trình có vận hành thiết kế hay không Đặt vấn đề Nội dung tiểu luận:  Tìm hiểu phương pháp kiểm thử hộp trắng phổ biến ngành công nghệ phần mềm  Trên sở kiến thức kiểm thử tiếp thu giúp cho thân tạo sản phẩm phần mềm có chất lượng cao tương lai Các khái niệm Kiểm thử hộp trắng:  kiểm tra đoạn mã chương trình xem có vận hành thiết kế hay không  Kiểm thử hộp trắng dựa việc xem xét cấu trúc bên chương trình theo cấu trúc điều khiển hoạt động chúng Các khái niệm (tiếp)    Các tên gọi khác: kiểm thử cấu trúc (structural testing), kiểm thử hộp kính (glass box), kiểm thử rõ ràng (clear box testing) Đối tượng kiểm thử hộp trắng tập trung vào cấu trúc bên chương trình tìm tất lỗi bên chương trình Việc kiểm tra tập trung chủ yếu vào:  Cấu trúc chương trình: Những câu lệnh nhánh, loại đường dẫn chương trình  Logic bên chương trình cấu trúc liệu  Những hành động trạng thái bên chương trình Các khái niệm phương pháp kiểm thử hộp trắng  Yêu cầu đặt cho ca kiểm thử hộp trắng phải đảm bảo:  Mọi đường độc lập mô-đun cần thực lần  Mọi ràng buộc logic cần thực hai phía sai  Tất vòng lặp biên biên vận hành phải thực  Mọi cấu trúc liệu nội dùng để đảm bảo tính hiệu lực Các kỹ thuật phương pháp kiểm thử hộp trắng Đồ thị luồng Ma trận kiểm thử Kiểm thử điều kiện Kiểm thử luồng liệu Kiểm thử vòng lặp Đồ thị luồng a) Cấu trúc đồ thị luồng - Đồ thị luồng (flow graph) kỹ thuật kiểm thử hộp trắng Tom McCabe đề xuất năm 1976 Đồ thị luồng xây dựng từ đồ thị luồng điều khiển chương trình cách gộp lệnh liên tiếp lệnh rẽ nhánh sau thành nút, thay lệnh rẽ nhánh (độc lập) hay điểm hợp đường rẽ nhánh nút - 10 b) Chiến lược kiểm thử BRO Nhận xét: Khi biểu thức điều kiện phức hợp gồm n điều kiện đơn mà số n đủ lớn, việc tiến hành đầy đủ 2n ca kiểm thử khó thực − Là kỹ thuật làm giảm số ca kiểm thử cần tiến hành kiểm thử điều kiện − BRO dùng đến “ràng buộc điều kiện cho điều kiện kiểm thử” − Tư tưởng kiểm thử chiến lược BRO cho phép thử nhạy cảm sai biểu thức bool 25 b) − Chiến lược kiểm thử BRO (tiếp) Chẳng hạn: 1) Xét điều kiện C biến bool, ràng buộc đầu C cặp giá trị t f Ví dụ: Xét điều kiện C = (A and B) với A B biến bool Chiến lược kiểm thử BRO đòi hỏi rằng, tập ba ràng buộc đầu {(t, t), (t, f), (f, t)} phủ thi hành C, (f, f) thừa Nếu C không đắn “ít phép toán bool sai”, cặp có cặp làm C thất bại 26 2) Xét điều kiện đơn C = (A = B) với A B biểu thức số học Khi ràng buộc C ba quan hệ: , = 2) Xét điều kiện C hội hai biểu thức bool C = (A and (B = E)) Khi ràng buộc C cặp (t, t), (t, f) (f, t) ; với (B = E), ta có giá trị t tương ứng với “=”, giá trị f tương ứng với “” Tương tự trường hợp xét điều kiện hai biến bool có ràng buộc đầu {(t, t), (t, f), (f, t)}, ta có tập ràng buộc C trường hợp phải gồm phần tử: {(t, =), (t, ), (f, =)} 27 Kết luận: Chiến lược kiểm thử điều kiện có hai thuận lợi: − Thứ 1, độ đo mức độ bao phủ điều kiện đơn giản − Thứ 2, bao phủ kiểm thử điều kiện chương trình cho ta hướng dẫn để tạo ca kiểm thử đầy đủ cho chương trình 28 Kiểm thử luồng liệu − − Là kiểm thử tuyển chọn đoạn đường chương trình tương ứng với việc định vị biến xác định (định nghĩa) sử dụng chương trình Các khái niệm liên quan:  Vị trí xác định biến: nơi mà gán giá trị cụ thể  Vị trí sử dụng biến vị trí mà giá trị biến sử dụng chương trình  Vị trí sử dụng biến để tính toán  Biến sử dụng vị từ để xác định 29 đường thực thi tiếp tục chương trình Kiểm thử luồng liệu (tiếp)  Cặp xác định sử dụng biến (DEF – USE) − − cặp vị trí mà biến xác định sử dụng, mà liên kết với đường thỏa mãn điều kiện biến xét không định nghĩa lại Mục đích phương pháp nhằm kiểm tra tất cặp DEF – USE xuất chương trình Với câu lệnh S, ta định nghĩa: DEF(S) = {X | câu lệnh S chứa định nghĩa X USE(S) = {X | câu lệnh S chứa sử dụng X} 30 Kiểm thử luồng liệu (tiếp) − − − Một dây chuyền sử dụng X kí hiệu DU = [X, S, S’], với X DEF(S) USE(S), đồng thời định nghĩa X S S’ Yêu cầu phương pháp kiểm thử luồng liệu tất dây chuyền DU kiểm thử lần Phương pháp thực nhằm phát lỗi tiềm như: dk, ~u, ~k, ku, dd, kk, d~, … đó: k (killed) biến bi hủy, ~u: data sử dụng mà không định nghĩa, ~k: data bị hủy trước định nghĩa, d~: định nghĩa sau 31 Kiểm thử vòng lặp − − kỹ thuật kiểm thử hộp trắng tập trung hoàn toàn vào tính hợp lệ kết cấu vòng lặp Ta phân vòng lặp thành lớp khác nhau: 32 Kiểm thử vòng lặp (tiếp) − Vòng lặp đơn: ta xét vòng lặp có tối đa n vòng, ta kiểm thử TH sau: − − − − − Bỏ qua toàn vòng lặp Chỉ qua vòng lặp Qua vòng lặp Qua vòng lặp m với m < n Qua vòng lặp n – 1, n, n+1 33 Kiểm thử vòng lặp (tiếp) − Vòng lặp lồng: ta kiểm thử từ ra, theo phương pháp sau: − Bắt đầu từ vòng lặp bên đặt tất vòng lặp khác vào giá trị tối thiểu − Tiến hành kiểm thử vòng lặp đơn cho vòng lặp bên Bổ sung ca kiểm thử khác việc vượt cận hay giá trị bị loại − Tiến dần ngoài, thực phép kiểm thử cho vòng lặp tiếp, giữ tất vòng lặp bên giá trị tối thiểu vòng lặp bên giá trị “điển hình” − Tiếp tục vòng lặp kiểm thử hết 34 Kiểm thử vòng lặp (tiếp) Vòng lặp nối tiếp − Giống vòng lặp đơn biến điều khiển độc lập − Ngược lại, xem xét vòng lặp lồng − Vòng lặp phi cấu trúc: không test, gặp phải loại vòng lặp nên thiết kế lại − 35 Ưu, nhược điểm phương pháp kiểm thử hộp trắng Ưu điểm: − Phương pháp kiểm thử hộp trắng cho ta số lượng ca kiểm thử hữu hạn − Phương pháp kiểm thử hộp trắng có khả tìm phát lỗi cao − Nhược điểm: − Sử dụng phương pháp dễ rơi vào “bẫy” người mã hóa.36 − Giải pháp Kết hợp kiểm thử hộp trắng với kiểm thử hộp đen − Có thể viết ca kiểm thử hộp đen trước sau sử dụng phương pháp kiểm thử hộp trắng để loại bỏ ca kiểm thử không cần thiết bổ sung ca thiếu − Kiểm thử hộp đen thường thực sau kiểm thử hộp trắng hoàn thành − 37 Một số tài liệu tham khảo Nguyễn Văn Vỵ - Nguyễn Việt Hà, Giáo trình kỹ nghệ phần mềm, NXB Giáo dục Việt nam, 2009 ftp://ftp.csc.ncsu.edu/pub/tech/2006/TR-2006-22.pdf http://agile.csc.ncsu.edu/SEMaterials/WhiteBox.pdf 38 Xin chân thành cảm ơn 39 [...]... được kiểm thử hết 34 5 Kiểm thử vòng lặp (tiếp) Vòng lặp nối tiếp − Giống vòng lặp đơn nếu các biến điều khiển độc lập − Ngược lại, xem xét như vòng lặp lồng − Vòng lặp phi cấu trúc: không test, khi gặp phải loại vòng lặp này thì nên thiết kế lại − 35 Ưu, nhược điểm của phương pháp kiểm thử hộp trắng Ưu điểm: − Phương pháp kiểm thử hộp trắng cho ta số lượng ca kiểm thử là hữu hạn − Phương pháp kiểm thử. .. các ca kiểm thử 20 2 Ma trận kiểm thử (tiếp) Sau đây là 2 ma trận A và A4 đồ thị kiểm thử của đồ thị luồng xét trong phần (1): 21 22 3 Kiểm thử điều kiện Người ta đã đề xuất ra 2 chiến lược kiểm thử điều kiện:  Kiểm thử rẽ nhánh (Branch testing)  Kiểm thử miền (Domain testing) a) Kiểm thử rẽ nhánh − Là chiến lược tập trung vào kiểm thử từng điều kiện rẽ nhánh có trong chương trình Đảm bảo kiểm tra... điều kiện đơn mà số n đủ lớn, thì việc tiến hành đầy đủ 2n ca kiểm thử là rất khó thực hiện − Là một kỹ thuật làm giảm số ca kiểm thử cần tiến hành trong kiểm thử điều kiện − BRO dùng đến “ràng buộc điều kiện cho điều kiện kiểm thử − Tư tưởng kiểm thử của chiến lược BRO là cho phép thử nhạy cảm sai của biểu thức bool 25 b) − Chiến lược kiểm thử BRO (tiếp) Chẳng hạn: 1) Xét điều kiện C là một biến bool,... 31 5 Kiểm thử vòng lặp − − là một kỹ thuật kiểm thử hộp trắng tập trung hoàn toàn vào tính hợp lệ của kết cấu vòng lặp Ta phân các vòng lặp thành 4 lớp khác nhau: 32 5 Kiểm thử vòng lặp (tiếp) − Vòng lặp đơn: ta xét vòng lặp có tối đa n vòng, ta sẽ kiểm thử các TH sau: − − − − − Bỏ qua toàn bộ vòng lặp Chỉ qua 1 vòng lặp Qua 2 vòng lặp Qua vòng lặp m với m < n Qua vòng lặp n – 1, n, n+1 33 5 Kiểm thử. .. phần tử: {(t, =), (t, ), (f, =)} 27 Kết luận: Chiến lược kiểm thử điều kiện có hai thuận lợi: − Thứ 1, độ đo mức độ bao phủ của một điều kiện là đơn giản − Thứ 2, bao phủ kiểm thử của điều kiện trong một chương trình cho ta các hướng dẫn để tạo ra các ca kiểm thử đầy đủ cho chương trình 28 4 Kiểm thử luồng dữ liệu − − Là kiểm thử tuyển chọn các đoạn đường của chương trình tương ứng với việc... 5 Kiểm thử vòng lặp (tiếp) − Vòng lặp lồng: ta kiểm thử từ trong ra, theo phương pháp sau: − Bắt đầu từ vòng lặp bên trong nhất và đặt tất cả các vòng lặp khác vào giá trị tối thiểu − Tiến hành kiểm thử vòng lặp đơn cho vòng lặp bên trong nhất Bổ sung các ca kiểm thử khác về việc vượt cận hay giá trị bị loại ra − Tiến dần ra ngoài, thực hiện phép kiểm thử cho các vòng lặp tiếp, nhưng giữ tất cả các... X USE(S) = {X | câu lệnh S chứa một sử dụng X} 30 4 Kiểm thử luồng dữ liệu (tiếp) − − − Một dây chuyền sử dụng X được kí hiệu là DU = [X, S, S’], với X trong DEF(S) và trong USE(S), đồng thời định nghĩa X trong S vẫn còn đúng trong S’ Yêu cầu của phương pháp kiểm thử luồng dữ liệu là tất cả các dây chuyền DU đều được kiểm thử ít nhất một lần Phương pháp này thực hiện nhằm phát hiện ra các lỗi tiềm năng... tới nút cột 19 2 Ma trận kiểm thử (tiếp) − Để ma trận kiểm thử trở thành một công cụ mạnh, người ta xác định thêm các trọng số sau đây cho các cung cua ma trận kiểm thử: + Xác xuất cung đó được tiến hành + Thời gian xử lý của đường đi qua cung đó + Bộ nhớ yêu cầu của đường đi qua cung đó + Nguồn lực đòi hỏi của đường đi qua cung đó  Với những tham số này, các ma trận kiểm thử giúp ta lựa chọn những... tới một hành vi bất thường của ứng dụng − − 23 a) Kiểm thử rẽ nhánh (tiếp) − Ví dụ: kiểm thử đoạn mã sau: 1: function hello($sDate, $sTime) { 2: echo “Hello World!”; 3: if ($sDate == "01-01-2010" && $sTime == "00:00:00") { 4: echo "Happy New Year"; 5: } 6: echo “The date is: $sDate >”; 7: echo “The time is: $sTime”; 8: } 24 b) Chiến lược kiểm thử BRO Nhận xét: Khi một biểu thức điều kiện phức... để xác định 29 đường đi thực thi tiếp tục chương trình 4 Kiểm thử luồng dữ liệu (tiếp)  Cặp xác định và sử dụng biến (DEF – USE) là một − − cặp vị trí mà tại đó biến được xác định và được sử dụng, mà có thể liên kết với nhau bằng một đường đi thỏa mãn điều kiện là biến được xét không được định nghĩa lại Mục đích của phương pháp này là nhằm kiểm tra tất cả các cặp DEF – USE xuất hiện trong chương trình ... phương pháp kiểm thử hộp trắng Ưu điểm: − Phương pháp kiểm thử hộp trắng cho ta số lượng ca kiểm thử hữu hạn − Phương pháp kiểm thử hộp trắng có khả tìm phát lỗi cao − Nhược điểm: − Sử dụng phương. .. bày Các khái niệm phương phương pháp kiểm thử hộp trắng  Các kỹ thuật sử dụng xây dựng ca kiểm thử theo phương pháp kiểm thử hộp trắng  Ưu, nhược điểm phương pháp  Giải pháp  Đặt vấn đề ... dụng phương pháp dễ rơi vào “bẫy” người mã hóa.36 − Giải pháp Kết hợp kiểm thử hộp trắng với kiểm thử hộp đen − Có thể viết ca kiểm thử hộp đen trước sau sử dụng phương pháp kiểm thử hộp trắng để

Ngày đăng: 03/01/2016, 20:25

Từ khóa liên quan

Mục lục

  • Đề tài: Phương pháp kiểm thử hộp trắng (white box testing)

  • Slide 2

  • Đặt vấn đề

  • Slide 4

  • Slide 5

  • Các khái niệm

  • Các khái niệm (tiếp)

  • Các khái niệm về phương pháp kiểm thử hộp trắng

  • Các kỹ thuật trong phương pháp kiểm thử hộp trắng

  • 1. Đồ thị luồng

  • Cấu trúc của đồ thị luồng (tiếp)

  • Cấu trúc của đồ thị luồng (tiếp)

  • Độ phức tạp chu trình

  • Slide 14

  • đồ thị luồng điều khiển

  • Từ đồ thị luồng điều khiển ta xây dựng được đồ thị luồng tương ứng như sau:

  • Slide 17

  • Slide 18

  • 2. Ma trận kiểm thử

  • 2. Ma trận kiểm thử (tiếp)

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

Tài liệu liên quan