Phần này sẽ nêu ví dụ minh họa cho phương pháp được nêu trên. Với ví dụ là hệ thống máy rút tiền ATM.
Các use case của hệ thống này từ góc nhìn của người sử dụng gồm có: Rút tiền, gửi tiền, chuyển khoản, tra số dư tài khoản.
Chọn giao dịch rút tiền của máy ATM làm ví dụ minh họa Các bước rút tiền gồm có:
- Khách hàng đưa thẻ vào máy ATM
- Máy ATM kiểm tra thẻ và đưa yêu cầu thông tin mã pin - Khách hàng nhập mã pin
- Máy ATM xác thực mã pin, đưa yêu cầu cho khách hàng chọn loại giao dịch - Khách hàng chọn giao dịch rút tiền
- Hệ thống yêu cầu nhập số tiền cần rút - Khách hàng nhập số tiền cần rút
- Hệ thống kiểm tra số tiền cần rút và số tiền còn lại trong tài khoản, đưa ra thông báo lỗi hoặc thực hiện giao dịch
Với một giao dịch rút tiền, ta có biểu đồ trạng thái của máy ATM như sau:
Hình 3.4: Biểu đồ trạng thái máy ATM chức năng rút tiền
Bước 1: Chuyển biểu đồ tuần tự thành đồ thị tuần tự. Gọi mi là các message trong biểu đồ tuần tự phía trên, i có giá trị từ 1 đến 20.
Hình 3.5: Đồ thị tuần tự của chức năng rút tiền
Bước 2: Kết hợp duyệt đồ thị tuần tự và biểu đồ trạng thái: Xác định được các điểm làm chuyển trạng thái của đối tượng. Các thông tin về trạng thái của đối tượng được bổ sung trên đồ thị tuần tự được đồ thị chung
Bước 3: Duyệt đồ thị chung, áp dụng thuật toán tìm kiếm theo chiều sâu để xác định các ca kiểm thử. Thông tin mỗi ca kiểm thử gồm có trình tự thực hiện các message và sự chuyển trạng thái của message trên từng ca kiểm thử.
Duyệt đồ thị hình 3.6 theo thuật toán tìm kiếm theo chiều sâu, xác định được các ca kiểm thử có dạng {ID, Start State, Set of Message, End State }
STT Test case Sự chuyển trạng thái của đối tượng
1 TC1: {1, Idle, {m1 à m2 à m3 à
m19 à m20}, Eject Card} Idle à Reading Card à Eject Card
2
TC 2: {2, dle, {m1 à m2 à m3 à m4
à m5 à m6 à m7à m8 à m19 à
m20}, Eject Card}
Idleà Reading Card à Requesting Pin à
Reading Pin à Eject Card
3 TC 2: {3, Idle, {m1 à m2 à m3 à m4à m5 à m6 àm7 à m8 à m9 à m10 à m11à m12à m13 à m14 à m15 à m16 à m19 àm20}, Eject Card}
Idle à Reading Card à Requesting Pin à
Reading Pin à Withdraw à Checking Account à Eject Card
4 TC 2: {4, Idle, {m1 à m2 à m3 à m4 à m5à m6 à m7 à m8 à m9 à m10 à m11à m12 à m13 à m14 à m15 à m16 à m17à m18à m19 à m20}, Eject Card}
Idleà Reading Cardà Requesting Pin à
Reading Pin à Withdraw à Checking Account à Peporming Withdraw à Eject Card
Bảng 3.1: Kết quả danh sách các ca kiểm thử theo định nghĩa.