Xem mẫu

  1. Trường Đại Học Bách Khoa Hà Nội Viện Công Nghệ Thông Tin &Truyền Thông Kiểm thử phần mềm Kiểm thử hộp trắng TS. Nguyễn Thanh Hùng Bộ Môn Công Nghệ Phần Mềm Email: hungnt@soict.hust.edu.vn Website: http://soict.hust.edu.vn/~hungnt CuuDuongThanCong.com https://fb.com/tailieudientucntt
  2. Nội dung  Giới thiệu về kiểm thử hộp trắng  Các kỹ thuật kiểm thử hộp trắng:  Kiểm thử đường dẫn cơ sở  Kiểm thử điều kiện/kiểm thử nhánh  Kiểm thử vòng lặp  Kiểm thử luồng điều khiển CuuDuongThanCong.com https://fb.com/tailieudientucntt
  3. Nhắc lại: Kiểm thử hộp đen Kiểm thử hộp đen là kiểm thử bỏ qua cấu trúc bên trong, chỉ quan tâm tới Output từ Input cho trước có chính xác không. Phân loại:  Kiểm thử biên  Kiểm thử lớp tương tương  Bảng quyết định  Kiểm thử đoán lỗi CuuDuongThanCong.com https://fb.com/tailieudientucntt
  4. Kiểm thử hộp trắng  ng  n   kiểm thử: • n) • n) • liệu). 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  5. Nội dung cần kiểm thử hộp trắng  ?  )  nh)  i)  liệu)  u -> kết thúc (từng luồng điều khiển) ng? 5 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  6. Kiểm thử hộp trắng  ngai: n  Thí dụ đoạn code sau : for (i=1; i
  7. Kiểm thử hộp trắng Kiểm thử hộp trắng cũng không phủ được hết trường hợp if (a>0) doIsGreater(); if (a==0) dolsEqual(); p a < 0 - if (a
  8. Phủ kiểm thử  Do đó, ta nên kiểm thử số test case tối thiểu mà kết quả độ tin cậy tối đa. Nhưng làm sao xác định được số test case tối thiểu nào có thể đem lại kết quả có độ tin cậy tối đa?  Phủ kiểm thử (Coverage) : là tỉ lệ các thành phần thực sự được kiểm thử so với tổng thể sau khi đã kiểm thử các test case được chọn. Phủ càng lớn thì độ tin cậy càng cao.  Thành phần liên quan có thể là lệnh, điểm quyết định, điều kiện con, đường thi hành hay là sự kết hợp của chúng. 8 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  9. Phủ cấp 0 & 1  Phủ cấp 0 : kiểm thử những gì có thể kiểm thử được, phần còn lại để người dùng phát hiện và báo lại sau. Đây là mức độ kiểm thử không thực sự có trách nhiệm.  Phủ cấp 1 : kiểm thử sao cho mỗi lệnh được thực thi ít nhất 1 lần. 1 float foo(int a, int b, int c, int d) { 2 float e; Với hàm foo bên cạnh, ta chỉ 3 if (a==0) cần 2 test case sau đây là đạt 4 return 0; 100% phủ cấp 1 : 5 int x = 0; 1. foo(0,0,0,0), trả về 0 6 if ((a==b) || ((c==d) && bug(a))) 2. foo(1,1,1,1), trả về 1 7 x = 1; nhưng không phát hiện lỗi chia 0 8 e = 1/x; ở hàng lệnh 8 9 return e; 9 CuuDuongThanCong.com 10 } https://fb.com/tailieudientucntt
  10. Phủ cấp 2 Phủ cấp 2 : kiểm thử sao cho mỗi điểm quyết định đều được thực hiện ít nhất 1 lần cho trường hợp TRUE lẫn FALSE. Ta gọi mức kiểm thử này là phủ các nhánh (Branch coverage). Phủ các nhánh đảm bảo phủ các lệnh. c u thêm test case 3 : nh. 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  11. Phủ cấp 3  nh. 11 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  12. Phủ cấp 4  u kiện con (branch & subcondition coverage). 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  13. ng  u đặt ra:  n.  a sai (false).  c hiên.  13 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  14. ng  ng?  nh.  nh  m tra. 14 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  15. Kiểm thử hộp trắng Là kỹ thuật kiểm thử xâm nhập vào nội bộ, cấu trúc bên trong của chương trình Các kỹ thuật kiểm thử hộp trắng phổ biến:  Kiểm thử đường dẫn cơ sở  Kiểm thử rẽ nhánh  Kiểm thử vòng lặp  Kiểm tra luồng điều khiển CuuDuongThanCong.com https://fb.com/tailieudientucntt
  16. Lưu ý Không thể có được tất cả các test case mong muốn bằng việc áp dụng 1 kỹ thuật kiểm thử duy nhất. Trước khi áp dụng các kỹ thuật kiểm thử hộp trắng, hãy xem lại code. CuuDuongThanCong.com https://fb.com/tailieudientucntt
  17. Nội dung  Giới thiệu về kiểm thử hộp trắng  Các kỹ thuật kiểm thử hộp trắng:  Kiểm thử đường dẫn cơ sở  Kiểm thử điều kiện/kiểm thử nhánh  Kiểm thử vòng lặp  Kiểm thử luồng điều khiển CuuDuongThanCong.com https://fb.com/tailieudientucntt
  18. Kiểm thử đường cơ sở (Basis Path) Định nghĩa: Thu được các trường hợp thử nghiệm từ đường cơ sở, được xác định theo biểu đồ dòng chảy của chương trình Các bước:  1. Xây dựng một đồ thị dòng chảy dựa trên logic của chương trình  2. Tính toán độ phức tạp Cyclomatic của đồ thì dòng chảy  3. Xác định đường cơ sở.  4. Kiểm tra nếu số đường cơ sở không nhiều hơn độ phức tạp Cyclomatic.  5. Thiết kế trường hợp thử nghiệm để kiểm tra các đường cơ sở CuuDuongThanCong.com https://fb.com/tailieudientucntt
  19. ng  ng  nh.  nh.  ch: • • 19 CuuDuongThanCong.com https://fb.com/tailieudientucntt
  20. ng  m:  n.  n,  ng:  n.  c cung. 20 CuuDuongThanCong.com https://fb.com/tailieudientucntt
nguon tai.lieu . vn