Bài giảng Kiểm tra phần mềm - Chương 6: Kỹ thuật kiểm thử hộp đen (tt)

Cũng giống như bảng quyết định, lược đồ chuyển trạng thái là
1 công cụ rất hữu ích để đặc tả các yêu cầu phần mềm hoặc để
đặc tả bảng thiết kế hệ thống phần mềm.
Thay vì miêu tả các qui tắc nghiệp vụ phức tạp mà phần mềm
phải thực hiện dưới dạng dễ đọc và dễ kiểm soát như bảng quyết
định, lược đồ chuyển trạng thái ghi nhận các sự kiện xảy ra, rồi
được hệ thống xử lý cũng như những đáp ứng của hệ thống
pdf 23 trang xuanthi 28/12/2022 2300
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Kiểm tra phần mềm - Chương 6: Kỹ thuật kiểm thử hộp đen (tt)", để 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:

  • pdfbai_giang_kiem_tra_phan_mem_chuong_6_ky_thuat_kiem_thu_hop_d.pdf

Nội dung text: Bài giảng Kiểm tra phần mềm - Chương 6: Kỹ thuật kiểm thử hộp đen (tt)

  1. TPPM ₫ặt mua vé máy bay có 6 trạng thái khác nhau : 1. Made : à ₫iều kiện chuyển ₫ến : sau khi người dùng ₫ã nhập thông tin khách hàng. à Hành ₫ộng cần thực hiện kèm theo : khởi ₫ộng timer T0 ₫ếm thời gian giữ trạng thái. 2. Cancelled (NonPay) : à ₫iều kiện chuyển ₫ến : sau khi timer T0 ₫ã hết. à Hành ₫ộng cần thực hiện kèm theo : null. 3. Paid : à ₫iều kiện chuyển ₫ến : sau khi người dùng ₫ã thanh toán tiền.
  2. Current State Event Action Next State Made payMoney Paid Made print Made Made giveTicket Made Made cancel Can-Cust Made PayTimerExpires Can-NonPay Paid giveInfo Paid Paid payMoney Paid Paid print Ticket Ticketed Paid giveTicket Paid Paid cancel Refund Can-Cust Paid PayTimerExpires Paid Ticketed giveInfo Ticketed Ticketed payMoney Ticketed Ticketed print Ticketed Ticketed giveTicket Used Ticketed cancel Refund Can-Cust Ticketed PayTimerExpires Ticketed Used giveInfo Used Used payMoney Used Used print Used Used giveTicket Used Used cancel Used Used PayTimerExpires Used Can-NonPay giveInfo Can-NonPay Can-NonPay payMoney Can-NonPay Can-NonPay print Can-NonPay Can-NonPay giveTicket Can-NonPay Can-NonPay cancel Can-NonPay Can-NonPay PayTimerExpires Can-NonPay
  3. 3. Phủ cấp 3 : tạo các testcase sao cho tất cả các path chuyển ₫ều ₫ược kiểm thử. 1 path chuyển là 1 ₫ường chuyển trạng thái xác ₫ịnh, bắt ₫ầu từ trạng thái nhập và kết thúc ở trạng thái kết thúc. Đây là phủ tốt nhất vì ₫ã vét cạn mọi khả năng hoạt ₫ộng của TPPM, tuy nhiên không khả thi vì 1 path chuyển có thể lặp vòng. 4. Phủ cấp 4 : tạo các testcase sao cho mỗi path chuyển tuyến tính ₫ều xảy ra ít nhất 1 lần. Thí dụ 5 tescase sau sẽ kiểm thử ₫ược TPPM ₫ạt phủ cấp 4 :
  4. Current State Event Action Next State Paid payMoney Paid Paid print Ticket Ticketed Paid giveTicket Paid Paid cancel Refund Can-Cust Paid PayTimerExpires Paid Ticketed giveInfo Ticketed Ticketed payMoney Ticketed Ticketed print Ticketed Ticketed giveTicket Used Ticketed cancel Refund Can-Cust Ticketed PayTimerExpires Ticketed Used giveInfo Used Used payMoney Used Used print Used Used giveTicket Used Used cancel Used Used PayTimerExpires Used Can-NonPay giveInfo Can-NonPay Can-NonPay payMoney Can-NonPay Can-NonPay print Can-NonPay Can-NonPay giveTicket Can-NonPay Can-NonPay cancel Can-NonPay Can-NonPay PayTimerExpires Can-NonPay Can-Cust givelnfo Can-Cust Can-Cust payMoney Can-Cust Can-Cust print Can-Cust
  5. 2. Biên nghiêng sai góc Đúng Sai 3. Thiếu biên Đúng Sai 4. Thừa biên Đúng Sai Ta ₫ịnh nghĩa 1 số thuật ngữ : 1. Điểm on : là ₫iểm nằm trên biên
  6. Binder ₫ề nghị 1 bảng rất hữu ích — ma trận kiểm thử vùng : Thí dụ, TPPM xét kết quả ₫ậu ₫ại học theo tiêu chuẩn sau : ƒ 10*GPA + ACT >= 71 ƒ GPA : ₫iểm trung bình tích lũy của lớp phổ thông (<=4.0) ƒ ACT : ₫iểm thi tuyển vào ₫ại học (<= 36).
  7. 6.3 Kỹ thuật dùng thông tin trong use-case Trong qui trình phát triển phần mềm hợp nhất, ta thực hiện nhiều workflows khác nhau : nắm bắt yêu cầu phần mềm, phân tích từng yêu cầu, thiết kế chi tiết ₫ể giải quyết từng yêu cầu, hiện thực từng phần bảng thiết kế, kiểm thử kết quả. Mỗi workflows, thậm chí mỗi lần lập thực hiện 1 workflow, ta phải có kết quả, kết quả này phải ₫ược miêu tả ở dạng dễ ₫ọc, dễ hiểu bởi nhiều người và phải cố gắng ₫ơn nghĩa ₫ể tránh nhặp nhằng. Ta dùng khái niệm mô hình ₫ể miêu tả hệ thống phần mềm theo một góc nhìn nào ₫ó.
  8. > User Maintenance POS Login Store Manager > > <<exten Edit User Information Add New User Remove User Trong lược ₫ồ usecase, mỗi usecase thể hiện 1 chức năng mà bên ngoài có thể truy xuất, tuy nhiên mỗi usecase chỉ ₫ược miêu tả ở dạng tối giản : gồm 1 hình ellipse và tên gợi nhớ sơ bộ về chức năng của usecase. Để hiểu ₫ầy ₫ủ hơn về usecase, người ta cần ₫ặc tả usecase ở 1 dạng chi tiết nào ₫ó. Rất tiết là hiện nay, mỗi nơi mỗi khác, chưa có 1 chuẩn nào ₫ược mọi người chấp thuận. Ở ₫ây, ta hãy dùng khuôn mẫu chi tiết ₫ể ₫ặc tả usecase do Alistair Cockburn ₫ề nghị trong sách “Writing Effective Use Cases”. Use Case Component Description Use Case Number or Identifier A unique identifier for this use case The name should be the goal stated as a short Use Case Name active verb phrase A more detailed statement of the goal if Goal in Context necessary Scope Corporate | System | Subsystem Level Summary | Primary task | Subfunction
  9. Thí dụ bảng ₫ặc tả usecase “₫ăng ký môn học” trong phần mềm quản lý học vụ có nội dung chi tiết như sau : Use Case Component Description Use Case Number or SURS1138 Identifier Register for a course (a class taught by a faculty Use Case Name member) Goal in Context Scope System Level Primary task Primary Actor Student Preconditions None The student is registered for the course–the course Success End Conditions has been added to the student's course list Failed End Conditions The student's course list is unchanged Trigger Student selects a course and "Registers" Step Action 1 A: Selects "Register for a course" 2 A: Selects course (e.g. Math 1060) Main Success Scenario 3 S: Displays course description A: Actor 4 A: Selects section (Mon & Wed 9:00am) S: System 5 S: Displays section days and times 6 A: Accepts S: Adds course/section to student's course 7 list Course does not exist 2a S: Display message and exit Section does not exist 4a S: Display message and exit Extensions Section is full 4b S: Display message and exit Student does not accept 6a S: Display message and exit
  10. ƒ các ký hiệu : mỗi ký hiệu miêu tả 1 phép toán luận lý. ƒ các phần tử ràng buộc, mỗi phần tử miêu tả 1 ràng buộc xác ₫ịnh nào ₫ó. Identify Not a b a b a Z b a Z b Ident Not a b And Or ∩ c b ∪ d a c a c a d b b c Giả sử ₫ặc tả 1 TPPM như sau : dữ liệu ₫ầu vào là tên file gồm 2 ký tự, ký tự ₫ầu là A hay B, ký tự còn lại là ký số, TPPM sẽ cập nhật file, nếu ký tự ₫ầu không phải là A hay B thì TPPM báo lỗi X1, nếu ký tự thứ 2 không phải là số thì báo lỗi X2. Duyệt ₫ọc ₫ặc tả và phân tích ₫ặc tả, ta tìm ₫ược các ₫iều kiện ₫ầu vào là : 1 : Ký tự ₫ầu là A. 2 : Ký tự ₫ầu là B. 3 : Ký tự thứ hai là ký số. Và các hậu quả ở ₫ầu ra là : 101 : cập nhật file. 102 : báo lỗi X1. 103 : báo lỗi X2. Đồ thị nhân quả của TPPM ở silde trước là :
  11. a O b 4. R : nếu a xảy ra thì b cũng xảy ra. a R b Đồ thị nhân quả của TPPM ở slide 34 ₫ược hoàn chỉnh là : 102 1 Or ∪ 11 ∩ 101 2 3 103 Qui trình ₫ịnh nghĩa các testcase dùng kỹ thuật ₫ồ thị nhân quả gồm các bước : 1. Đặc tả của TPPM ₫ược chia nhỏ ra nhiều phần nhỏ ₫ể có thể làm việc dễ dàng (nếu không thì ₫ồ thị nhân quả sẽ rất phức tạp). 2. Nhận dạng các nguyên nhân và hậu quả của phần nhỏ ₫ang xử lý.