intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Software testing: Chương 5 - ThS. Nguyễn Quốc Huy

Chia sẻ: 653543 653543 | Ngày: | Loại File: PPT | Số trang:28

74
lượt xem
10
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Toàn hệ thống xem như là tập các hệ thống con được xác định trong suốt quá trình thiết kế hệ thống và đối tượng. Chiến lược kiểm thử là thứ tự mà các hệ thống con được chọn để kiểm và tích hợp. Trong chương này chúng ta sẽ cùng tìm hiểu một số kiến thức về chiến lược kiểm thử phần mềm. Mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Software testing: Chương 5 - ThS. Nguyễn Quốc Huy

  1. Chiến lược kiểm thử Khoa CNTT – ĐH Sài Gòn 07/04/16 ThS Nguyễn Quốc Huy 1
  2. Chiến lược kiểm thử tích hợp Toàn hệ thống xem như là tập các hệ thống con được xác  định trong suốt quá trình thiết kế hệ thống và đối tượng.  Chiến lược kiểm là thứ tự mà các hệ thống con được chọn  để kiểm và tích hợp .  Tích hợp Big bang  Tích hợp từ dưới lên  Tích hợp từ trên xuống  Kiểm thử Sandwich  Biến dạng các cách trên Dùng cách phân rã hệ thống từ bản thiết kế
  3. Dùng mẫu trung gian cho phép kiểm tích hợp sớm Dùng mẫu trung gian để cung cấp nhiều cách thực thi dưới 1  giao diện. Giao diện cho thành phần không hoàn chỉnh, chưa biết hay  không thể xài suốt quá trình kiểm. Seat Interface Seat Implementation VIP (in Vehicle Subsystem) Simulated Stub Code Real Seat Seat (SA/RT)
  4. Ví dụ:  Phân cấp 3 lớp A Layer I B C D Layer II E F G Layer III
  5. Kiểm tích hợp: Hướng Big­Bang Unit Test  A Đừng cố! Unit Test  B Unit Test  C System Test Unit Test  D Unit Test  E Unit Test  F
  6. Chiến lược từ dưới lên Hệ thống con ở lớp thấp nhất trong phân cấp được kiểm  riêng lẻ. Sau đó các hệ thống con tiếp theo được kiểm thì gọi các hệ  thống con được kiểm trước đó. Việc này thực hiện lập đi lặp lại cho đến khi tất cả các hệ  thống con được kiểm. Chương trình đặc biệt cần để kiểm, Test Driver:   Lộ trình gọi một hệ thống con và vượt qua test case của nó SeatDriver Seat Interface Seat Implementation (simulates VIP) (in Vehicle Subsystem) Simulated Stub Code Real Seat Seat (SA/RT)
  7. Tích hợp từ dưới lên A Layer I B C D Layer II Test E F G E Layer III Test B, E, F Test F Test C Test  A, B, C, D, E, F, G Test D,G Test G
  8. Khi nào dùng chiến lược từ dưới lên Không tốt cho các hệ thống phân rã theo chức năng:  Kiểm thử hệ thống con quan trọng nhất sau cùng Hữu dụng để tích hợp cho các hệ thống sau:  Các hệ thống hướng đối tượng  Các hệ thống thời gian thực  Các hệ thống có yêu cầu việc thực thi nghiêm ngặt
  9. Chiến lược từ trên xuống Kiểm tầng trên cùng hay hay các hệ thống con quan trọng  trước Rồi kết nối tất cả các hệ thống con đã được kiểm và kiểm  tập kết quả các hệ thống con. Thực hiện cho đến khi kiểm tất cả các hệ thống con được  kết hợp. Chương trình đặc biệt cần để kiểm, Test stub :  Chương trình hay là phương pháp giả lập hoạt động của hệ  thống con bị thiếu bằng cách trả lời một loạt lời gọi hệ thống  con và trả về dữ liệu giả.
  10. Kiểm từ trên xuống A Layer I B C D Layer II E F G Layer III Test  Test A Test A, B, C, D A, B, C, D, E, F, G Layer I Layer I + II All Layers
  11. Khi nào dùng chiến lược từ trên xuống Test cases có thể được định nghĩa dưới dạng chức năng hệ  thống (yêu cầu chức năng) Viết stubs có thể khó: Stubs phải cho phép tất cả điều kiện  có thể xảy ra được kiểm. Có thể cần số lượng rất lớn stubs, đặc biệt nếu lớp thấp  nhất của hệ thống chứa nhiều phương pháp. Một giải pháp để tránh quá nhiều stubs: Điều chỉnh chiến  lược từ trên xuống.  Kiểm mỗi tầng của hệ thống trước khi trộn các tầng.   Khuyết điểm của kiểm thử từ trên xuống có điều  chỉnh: Cả hai, stubs và drivers đều cần.
  12. Chiến lược Sandwich Kết hợp từ trên xuống và từ dưới lên Hệ thống xem như có 3 lớp:  Lớp mục tiêu ở giữa  Lớp trên  Lớp dưới  Kiểm thử tập trung vào lớp giữa Nếu có hơn 3 lớp thì lớp giữa là lớp nào?  Mẹo: Cố gắng cực tiểu hoá số stubs và drivers
  13. Chiến lược Sandwich A Layer I B C D Layer II E F G Test E Layer III Bottom Test B, E, F Layer Test F Tests Test  A, B, C, D, Test D,G E, F, G Test G Test A,B,C, D Top Test A Layer Tests
  14. Khi nào dùng Sandwich Thực hiện song song lớp Trên và Dưới. Không kiểm các lớp con riêng lẻ kỹ trước khi tích hợp. Giải pháp: Điều chỉnh chiến lược sandwich
  15. Điều chỉnh chiến lược Sandwich Kiểm song song:  Lớp giữa với drivers và stubs  Lớp trên với stubs  Lớp dưới với drivers Kiểm song song:  Tầng trên truy xuất tầng giữa (lớp trên thay drivers)  Tầng giữa truy xuất tầng dưới (lớp dưới thay stubs)
  16. Điều chỉnh chiến lược Sandwich Double Double Test I Test I A Layer I Test B B C D Layer II Test E Triple Triple E F G Layer III Triple Triple Test I Test B, E, F Test I Test I Test I Double Double Test II Test II Test F Test  Test D A, B, C, D, Double Double Test D,G E, F, G Test II Test II Test G Test A,C Test A Test C Double Double Test I Test I
  17. Lập lịch kiểm Sandwich: Ví dụ Unit Tests Double Tests Triple Tests SystemTests
  18. Các bước kiểm tích hợp 1. Dựựa trên chi 1. D a trên chiếến l n lượ c tích hợợp,  ược tích h p,   4. Th 4. Thựực hi c hiệện n kikiểểm c m cấấu trúc:  u trúc: ĐĐịnh  ịnh  chchọọn m n mộột thành ph t thành phầần n đđểể ki  kiểểm.  m.  nghĩa test cases thuộộc thành ph nghĩa test cases thu c thành phầần n  KiKiểểm đ m đơơn vn vị t ị tấất c t cảả các l  các lớớp trong  p trong  đđượ c chọọn.  ược ch n.  thành phầần.n. thành ph 5. Thi hành kiểểm th 5. Thi hành ki m thửử công su  công suấất.t. . 2. Đặặt thành ph 2. Đ t thành phầần đ n đượ c chọọn vào  ược ch n vào  6. Giữữ các h 6. Gi  các hồồ s sơơ c củủa test cases và  a test cases và  vvớới nhau; th i nhau; thựực hi c hiệện bn bấất c t cứứ s sựự    ssắắp đ các hoạạt đ các ho t độộng ki ng kiểểm th m thửử. . p đặặt s t sơơ b bộ c ộ cầần thi n thiếết đ t đểể ki  kiểểm  m  ththửử tích h  tích hợợp chp chứức năng (drivers,  c năng (drivers,  7. Lặặp các b 7. L p các bướ c 1 đếến 7 cho đ ước 1 đ n 7 cho đếến n  stubs) stubs) khi toàn hệệ th khi toàn h  thốống đ ng đượ c kiểểm. ược ki m. 3. Thựực hi 3. Th c hiệệnn ki  kiểểm th m thửử ch chứức năng:  c năng:  ĐĐịnh nghĩa test cases thu ịnh nghĩa test cases thuộộc t c tấất c t cảả    Mụục tiêu nguyên thu M c tiêu nguyên thuỷỷ c củủa ki a kiểểm tích  m tích  uses cases vớới thành ph uses cases v i thành phầần đ n đượ ược c  hhợợp là xác đ p là xác định l ịnh lỗỗi trong c i trong cấấu hình  u hình  chchọọn.n. thành phầần hi thành ph n hiệện hành. n hành.
  19. Chiến lược tích hợp nào nên dùng? Các yếếu t Các y u tốố xem xét  xem xét ...Các thành ph ...Các thành phầần  n ởở t tầầng  ng  Kh trên th trên thườ ường quan tr ng quan trọọng và  ng và  Khốối l ượng stubs &drivers i lượ ng stubs &drivers không th Xác đ không thểể xem th  xem thườ ường vào  ng vào  Xác địịnh các ph nh các phầần quan  n quan  giai đo giai đoạạn cu n cuốối c i củủa vi a việệc c  trtrọọng trong h ng trong hệ thốngệ  th ố ng ki kiểểm th m thửử. . Kh Khảả năng ph  năng phầần c n cứứngng  Dò tìm các l  Dò tìm các lỗỗi thi i thiếết k t kếế    Kh Khảả năng các thành ph  năng các thành phầầnn đđượ ược hoãn l c hoãn lạại i ởở cu  cuốối giai  i giai  SSắắp x đo ạ n ki ể m th đoạn kiểm thử. ử . p xếếp các m p các mốối quan tâm i quan tâm HHướ HHướ ng từừ trên xu ướng t  trên xuốốngng ướng tng từừ d dướ ưới lên i lên Phù h Test cases có th Test cases có thểể đ ược đ  đượ c địịnh  nh  Phù hợợp cho các ph p cho các phươ ương  ng  nghĩa theo các ch pháp thi pháp thiếết k t kếế h ướng đ  hướ ng đốối i  nghĩa theo các chứức năng  c năng   ttượ đang xét. đang xét. ượng.ng. Các giao di CCầần duy trì tính đúng đ n duy trì tính đúng đắắn  n  Các giao diệện driver ki n driver kiểểm  m  ccủủa test stubs  th thửử ph phảải khi khớớp các giao  p các giao  a test stubs  di diệện thành ph n thành phầần. n. Vi Viếết stubs có th t stubs có thểể khó khăn.  khó khăn. ......
  20. Kiểm thử hệ thống Kiểm thử chức năng Kiểm thử cấu trúc Kiểm thử hiệu suất Kiểm thử chấp nhận Kiểm thử cài đặt Ảnh hưởng của yêu cầu đối với kiểm thử hệ thống:  Yêu cầu càng tường minh, càng dễ kiểm thử.  Chất lượng use cases xác định độ dễ của kiểm thử chức năng.  Chất lượng việc phân rã các hệ thống con xác định độ dễ của  kiểm cấu trúc.  Chất lượng các yêu cầu phi chức năng và các ràng buộc xác định  độ dễ của kiểm thử hiệu suất:
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2