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

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

Đ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

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.

Chiến lược kiểm thử Khoa CNTT – ĐH Sài Gòn 05/08/21 ThS Nguyễn Quốc Huy Chiến lược kiểm thử tích hợp ♦ ♦ ♦ Tồn hệ thống xem tập hệ thống xác định suốt trình thiết kế hệ thống đối tượng Chiến lược kiểm thứ tự mà hệ thống chọn để kiểm tích hợp  Tích hợp Big bang  Tích hợp từ lên  Tích hợp từ xuống  Kiểm thử Sandwich  Biến dạng cách Dùng cách phân rã hệ thống từ thiết kế 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 giao diện Giao diện cho thành phần khơng hồn chỉnh, chưa biết hay khơng thể xài suốt q trình kiểm VIP Seat Interface (in Vehicle Subsystem) Stub Code Seat Implementation Simulated Seat (SA/RT) Real Seat Ví dụ: Phân cấp lớp A C B E Layer I F D Layer II G Layer III Kiểm tích hợp: Hướng Big-Bang Unit Test A Đừng cố! Unit Test B Unit Test C Unit Test D Unit Test E Unit Test F System Test Chiến lược từ lên ♦ ♦ ♦ ♦ Hệ thống lớp thấp phân cấp kiểm riêng lẻ Sau hệ thống kiểm gọi hệ thống kiểm trước Việc thực lập lặp lại tất hệ thống kiểm Chương trình đặc biệt cần để kiểm, Test Driver:  Lộ trình gọi hệ thống vượt qua test case SeatDriver (simulates VIP) Seat Interface (in Vehicle Subsystem) Stub Code Seat Implementation Simulated Seat (SA/RT) Real Seat Tích hợp từ lên A C B Test E E Layer I F Test B, E, F Test F Test C Test D,G Test G Test A, B, C, D, E, F, G D G Layer II Layer III Khi dùng chiến lược từ lên ♦ ♦ Không tốt cho hệ thống phân rã theo chức năng:  Kiểm thử hệ thống quan trọng sau Hữu dụng để tích hợp cho 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 Chiến lược từ xuống ♦ ♦ ♦ ♦ Kiểm tầng hay hay hệ thống quan trọng trước Rồi kết nối tất hệ thống kiểm kiểm tập kết hệ thống Thực kiểm tất hệ thống kết hợp Chương trình đặc biệt cần để kiểm, Test stub :  Chương trình phương pháp giả lập hoạt động hệ thống bị thiếu cách trả lời loạt lời gọi hệ thống trả liệu giả Kiểm từ xuống A C B E Test A Test A, B, C, D Layer I D G F Test A, B, C, D, E, F, G Layer I Layer I + II All Layers Layer II Layer III Khi dùng Sandwich ♦ ♦ ♦ Thực song song lớp Trên Dưới Không kiểm lớp riêng lẻ kỹ trước tích hợp Giải pháp: Điều chỉnh chiến lược sandwich Điều chỉnh chiến lược Sandwich ♦ ♦ Kiểm song song:  Lớp với drivers stubs  Lớp với stubs  Lớp với drivers Kiểm song song:  Tầng truy xuất tầng (lớp thay drivers)  Tầng truy xuất tầng (lớp thay stubs) Điều chỉnh chiến lược Sandwich A Test B Test E Triple Triple Test TestII Test B, E, F E Layer I C B Triple Triple Test TestII Double Double Test TestII F Double Double Test TestIIII Test D,G Test G Test A,C Test A Test C Double Double Test TestII G Layer II Layer III Double Double Test TestIIII Test F Test D D Test A, B, C, D, E, F, G Lập lịch kiểm Sandwich: Ví dụ Unit Tests Double Tests Triple Tests SystemTests Các bước kiểm tích hợp 1.1.Dựa Dựatrên trênchiến chiếnlược lượctích tíchhợp, hợp,chọn chọn mộtthành thànhphần phầnđể đểkiểm kiểm.Kiểm Kiểm đơn đơnvịvịtất tấtcả cảcác cáclớp lớptrong trongthành thành phần phần Đặt thành phần chọn vào với 2.2 Đặt thành phần chọn vào với nhau; nhau;thực thựchiện hiệnbất bấtcứ cứsự sựsắp sắpđặt đặt sơ sơbộ bộcần cầnthiết thiếtđể đểkiểm kiểmthử thửtích tích hợp hợpchức chứcnăng năng(drivers, (drivers,stubs) stubs) 3.3.Thực Thựchiện hiệnkiểm kiểmthử thửchức chứcnăng: năng: Định Địnhnghĩa nghĩatest testcases casesthuộc thuộctất tấtcả uses usescases casesvới vớithành thànhphần phầnđược chọn chọn 4.4.Thực Thựchiện hiệnkiểm kiểmcấu cấutrúc: trúc:Định Định nghĩa nghĩatest testcases casesthuộc thuộcthành thànhphần phần đượcchọn chọn 5.5.Thi Thihành hànhkiểm kiểmthử thửcông côngsuất suất 6.6.Giữ Giữcác cáchồ hồsơ sơcủa củatest testcases casesvà vàcác hoạt hoạtđộng độngkiểm kiểmthử thử 7.7.Lặp Lặpcác cácbước bước11đến đến77cho chođến đếnkhi toàn toànhệ hệthống thốngđược đượckiểm kiểm Mục Mụctiêu tiêunguyên nguyênthuỷ thuỷcủa củakiểm kiểmtích tích hợp hợplàlàxác xácđịnh địnhlỗi lỗitrong trongcấu cấuhình hình thành thànhphần phầnhiện hiệnhành hành Chiến lược tích hợp nên dùng? ♦♦ Các Cácyếu yếutốtốxem xemxét xét Khối Khốilượng lượngstubs stubs&drivers &drivers Xác Xácđịnh địnhcác cácphần phầnquan quan trọng trọngtrong tronghệ hệthống thống Khả Khảnăng năngphần phầncứng cứng Khả Khảnăng năngcác cácthành thànhphần phần Sắp Sắpxếp xếpcác cácmối mốiquan quantâm tâm ♦♦ Hướng từ lên Hướng từ lên Phù Phùhợp hợpcho chocác cácphương phương pháp phápthiết thiếtkế kếhướng hướngđối đối tượng tượng Các Cácgiao giaodiện diệndriver driverkiểm kiểm thử thửphải phảikhớp khớpcác cácgiao giaodiện diện thành thànhphần phần   Các Cácthành thànhphần phầnởởtầng tầng trênthường thườngquan quantrọng trọngvà không khôngthể thểxem xemthường thườngvào vào giai giaiđoạn đoạncuối cuốicủa củaviệc việckiểm kiểm thử thử  Dị Dịtìm tìmcác cáclỗi lỗithiết thiếtkế kếđược hoãn hoãnlại lạiởởcuối cuốigiai giaiđoạn đoạn kiểm kiểmthử thử ♦♦ Hướng từ xuống Hướng từ xuống Test Testcases casescó cóthể thểđược đượcđịnh định nghĩa nghĩatheo theocác cácchức chứcnăng đangxét xét Cần Cầnduy duytrì trìtính tínhđúng đúngđắn đắn củatest teststubs stubs Viết Viếtstubs stubscó cóthể thểkhó khókhăn khăn Kiểm thử hệ thống ♦ ♦ ♦ ♦ ♦ Kiểm thử chức 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 yêu cầu kiểm thử hệ thống:  Yêu cầu tường minh, dễ kiểm thử  Chất lượng use cases xác định độ dễ kiểm thử chức  Chất lượng việc phân rã hệ thống xác định độ dễ kiểm cấu trúc  Chất lượng yêu cầu phi chức ràng buộc xác định độ dễ kiểm thử hiệu suất: Kiểm thử cấu trúc ♦ Giống với kiểm hộp trắng ♦ Mục tiêu: Phủ tất đường thiết kế hệ thống  Thử tất tham số đầu vào đầu thành phần  Thử tất thành phần tất lời gọi hàm (mỗi thành phần gọi lần thành phần gọi tất nơi gọi.)  Dùng kiểm thử điều kiện lặp unit testing Kiểm chức Giống kiểm hộp đen ♦ ♦ ♦ ♦ Mục tiêu: Kiểm chức hệ thống Test cases thiết kế từ tài liệu phân tích yêu cầu (tốt là: tài liệu hướng dẫn sử dụng) tập trung vào yêu cầu xung quanh chức (use cases) Hệ thống xử lý hộp đen Unit test cases tái sử dụng, người dùng cuối hướng đến test cases Kiểm thử suất ♦ Stress Testing  Stress limits of system (maximum # of users, peak demands, extended operation) ♦ ♦ ♦ ♦ ♦ Compatibility test Security testing  Try to violate security requirements Quality testing  Test reliability, maintain- ability & availability of the system Recovery testing  Tests system’s response to presence of errors or loss of data  Test backward compatibility with existing systems ♦ Environmental test  Test tolerances for heat, humidity, motion, portability Configuration testing  Test the various software and hardware configurations Timing testing  Evaluate response times and time to perform a function Volume testing  Test what happens if large amounts of data are handled ♦ ♦ ♦ Human factors testing  Tests user interface with user Test Cases cho kiểm thử suất ♦ ♦ ♦ ♦ Đưa hệ thống tích hợp vào giới hạn Mục tiêu: Cố gắng phá hệ thống Kiểm tra hệ thống xử lý tải Thử thứ tự thi hành khác thường  Gọi receive() trước send() ♦ Kiểm tra phản ứng hệ thống trước khối lượng liệu lớn  Nếu hệ thống kiểm soát 1000 mục, thử 1001 mục ♦ Xét thời gian thực use case khác Acceptance Testing ♦♦ Mục Mụctiêu: tiêu:Hệ Hệthống thốngsẵn sẵnsàng sàngsử sử dụng dụng Khách Kháchhàng hàngthực thựchiện Có Cóthể thểthực thựchiện hiệnởởgiai giaiđoạn đoạn tích tíchhợp hợp Lập Lậptrình trìnhviên viênkhông khôngkiểm kiểm thử giai đoạn thử giai đoạn ♦♦ Phần lớn bugs phần mềm Phần lớn bugs phần mềm dokhách kháchhàng hàngtìm tìmthấy thấysau saukhi khihệ hệ thống đưa vào sử dụng Vì có thống đưa vào sử dụng Vì có 22loại loạikiểm kiểmởởgiai giaiđoạn đoạnnày: này: ♦♦ Alpha Alphatest: test: Khách Kháchhàng hàngkiểm kiểmngay ngaytại tạinơi nơi viết viếtphần phầnmềm mềm Lập Lậptrình trìnhviên viênsẵn sẵnsàng sàngfix fix bugs bugskhi khitìm tìmthấy thấy ♦♦ Beta test: Beta test: Khách Kháchhàng hàngxài xàithử thử Phần Phầnmềm mềmđang đangởởtrong trongmơi mơi trường trườngthực thực Khách Kháchhàng hàngtiềm tiềmnăng năngcó cóthể thể khơng khơnghài hàilịng lịng Kiểm thử có chu kì sống riêng Thiết lập mục tiêu kiểm Thiết kế test cases Viết test cases Kiểm test cases Thực thi the tests Đánh giá kết kiểm Thay đổi hệ thống Thực kiểm hồi qui Đội Test Professional Tester Programmer Analyst User Test Team Configuration Management Specialist System Designer too familiar with code Tóm tắt ♦ Kiểm thử vẩn ma thuật, có nhiều luật mẹo dùng ♦ Kiểm thử bao gồm unit testing, integration testing system testing Các mẫu thiết kế (Design Patterns) dùng để kiểm tích hợp Kiểm thử có chu kì sống riêng ♦ ♦ ... tất hệ thống kiểm kiểm tập kết hệ thống Thực kiểm tất hệ thống kết hợp Chương trình đặc biệt cần để kiểm, Test stub :  Chương trình phương pháp giả lập hoạt động hệ thống bị thiếu cách trả lời... cấutrúc: trúc:Định Định nghĩa nghĩatest testcases casesthuộc thuộcthành thànhphần phần đượcchọn chọn 5. 5.Thi Thihành hànhkiểm kiểmthử thửcông côngsuất suất 6.6.Giữ Giữcác cáchồ hồsơ sơcủa củatest testcases... Real Seat Ví dụ: Phân cấp lớp A C B E Layer I F D Layer II G Layer III Kiểm tích hợp: Hướng Big-Bang Unit Test A Đừng cố! Unit Test B Unit Test C Unit Test D Unit Test E Unit Test F System Test

Ngày đăng: 08/05/2021, 13:16

Mục lục

  • Chiến lược kiểm thử

  • Chiến lược kiểm thử tích hợp

  • Dùng mẫu trung gian cho phép kiểm tích hợp sớm

  • Ví dụ: Phân cấp 3 lớp

  • Kiểm tích hợp: Hướng Big-Bang

  • Chiến lược từ dưới lên

  • Tích hợp từ dưới lên

  • Khi nào dùng chiến lược từ dưới lên

  • Chiến lược từ trên xuống

  • Kiểm từ trên xuống

  • Khi nào dùng chiến lược từ trên xuống

  • Khi nào dùng Sandwich

  • Điều chỉnh chiến lược Sandwich

  • Lập lịch kiểm Sandwich: Ví dụ

  • Các bước kiểm tích hợp

  • Chiến lược tích hợp nào nên dùng?

  • Kiểm thử hệ thống

  • Kiểm thử cấu trúc

  • Kiểm thử năng suất

  • Test Cases cho kiểm thử năng suất

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

Tài liệu liên quan