Bài giảng Công cụ kiểm thử phần mềm - Bài 12: White-box Testing - Trần Thị Bích Hạnh

Structural/Clear box/Glass box testing
£ Thiết kế các trường hợp kiểm thử dựa vào
cấu trúc của thủ tục để suy dẫn các trường
hợp cần kiểm thử
£ Nguyên tắc
p Thực hiện mọi đường dẫn độc lập ít nhất một
lần
p Thực hiện mọi điều kiện logic trên True/False
p Thực hiện mọi vòng lặp tại các biên và trong
phạm vi hoạt động
p Thực hiện mọi cấu trúc dữ liệu bên trong để đảm
bảo tính hợp lệ 
pdf 28 trang xuanthi 28/12/2022 2820
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Công cụ kiểm thử phần mềm - Bài 12: White-box Testing - Trần Thị Bích Hạnh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfcong_cu_kiem_thu_phan_mem_bai_12_white_box_testing_tran_thi.pdf

Nội dung text: Bài giảng Công cụ kiểm thử phần mềm - Bài 12: White-box Testing - Trần Thị Bích Hạnh

  1. Kiểm thự hộp trắng £ Structural/Clear box/Glass box testing £ Thiết kế các trường hợp kiểm thử dựa vào cấu trúc của thủ tục để suy dẫn các trường hợp cần kiểm thử £ Nguyên tắc p Thực hiện mọi đường dẫn độc lập ít nhất một lần p Thực hiện mọi điều kiện logic trên True/False p Thực hiện mọi vòng lặp tại các biên và trong phạm vi hoạt động p Thực hiện mọi cấu trúc dữ liệu bên trong để đảm bảo tính hợp lệ Nhập môn kiểm thử phần 1 mềm 4/23/18
  2. Kiểm thử đường dẫn cơ sở £ Đảm bảo tất cả đường dẫn độc lập (independent path) điều được kiểm thử £ Đường dẫn độc lập là đường dẫn đi từ đầu đến cuối chương trình mà không chứa đường dẫn độc lập khác £ Tập đường dẫn độc lập à tập cơ sở (basic set) Nhập môn kiểm thử phần 3 mềm 4/23/18
  3. B1: Vẽ đồ thị lưu trình 5
  4. B3: Tìm tập cơ sở các đường dẫn độc lập £ Tìm 1 đường dẫn từ đầu đến cuối chương trình £ Tìm đường dẫn mới có đi qua một cạnh mới mà không trùng với các đường dẫn trước đó £ Làm cho đến khi đủ số lượng đường dẫn £ Ví dụ: p Đường dẫn 1: S1àC1àS3àC2àS5 p Đường dẫn 2: S1àC1àS2 p Đường dẫn 3: S1àC1àS3àC2àS4àS5 Nhập môn kiểm thử phần 7 mềm 4/23/18
  5. B4: Thiết kế test case cho từng đường dẫn độc lập #TC a b c d Expected Output 1 1 0 1 0 Divide by zero error 2 0 0 0 0 0 3 1 1 1 0 1 9
  6. Kiểm thử đường dẫn cơ sở £ Bước 2: Xác định độ phức tạp cyclomat à cho biết số lượng đường dẫn độc lập p V(G) = R(số vùng) = 6 p V(G) = P(số đỉnh điều kiện)+1 = 5+1 = 6 p V(G) = E(số cạnh)–N(số đỉnh)+2 = 17-13+2 = 6 Nhập môn kiểm thử phần 11 mềm 4/23/18
  7. Kiểm thử đường dẫn cơ sở £ Bước 4: thiết kế test case cho từng đường dẫn độc lập £ Ví dụ: p Test case cho đường dẫn 1 ¡ Đầu vào: ¡ Đầu ra mong muốn: ¡ Mục đích: Nhập môn kiểm thử phần 13 mềm 4/23/18
  8. Kiểm thử dòng điều khiển £ Coverage dùng để đánh giá tính phủ của tập test case p Statement coverage p Decision/branch coverage p Condition coverage p Path coverage Nhập môn kiểm thử phần 15 mềm 4/23/18
  9. Ví dụ Read Read A Read B Yes No A>0 B=0 Print IF A > 0 THEN No Yes IF B = 0 THEN Yes Print “No values” Print A>21 Print ELSE No Print B IF A > 21 THEN End Print A 4 ENDIF } Cyclomatic complexity: ___ ENDIF } Minimum tests to achieve:2 ENDIF } Statement coverage: ___4 } Branch coverage: ___ Nhập môn kiểm thử phần 17 mềm 4/23/18
  10. Kiểm thử dòng dữ liệu £ Ví dụ Nhập môn kiểm thử phần 19 mềm 4/23/18
  11. Kiểm thử vòng lặp £ Kiểm tra tính hợp hệ của cấu trúc vòng lặp £ Bốn dạng vòng lặp: p Lặp đơn (simple loops) p Lặp móc nối (concatenated loops) p Lặp lồng nhau (nested loops) p Lặp không cấu trúc (unstructured loops) Nhập môn kiểm thử phần 21 mềm 4/23/18
  12. Kiểm thử vòng lặp £ Kiểm thử vòng lặp đơn (Simple loop) p Lặp 0 lần p Lặp 1 lần p Lặp 2 lần p Lặp k lần p Lặp n-1, n, n+1 lần với n là số vòng lặp lớn nhất có thể 23
  13. Kiểm thử vòng lặp £ Kiểm thử vòng lặp lồng nhau (nested loops) p Xem vòng lặp trong cùng là vòng lặp đơn p Tất cả các vòng lặp bên ngoài chọn giá trị lặp nhỏ nhất p Tiếp tục với vòng lặp trong kế cuối ¡ Các vòng lặp bên trong chọn giá trị lặp k lần ¡ Các vòng lặp bên ngoài chọn giá trị lặp nhỏ nhất ¡ Lặp lại cho đến khi kiểm đến vòng lặp ngoài cùng 25
  14. Kiểm thử vòng lặp £ Lặp không cấu trúc (unstructured loops) p Không test, re-design 27