1. KỸ THUẬT THIẾT KẾ TESTCASE BLACKBOX
Use case – State transition
HOÀNG HIỀN
2. Việc test thấu đáo (test tất cả các đầu vào có thể) là phi thực tế
Cần sử dụng kỹ thuật test để chọn
lọc các trường hợp test một cách
hợp lý mà vẫn đảm bảo không để
sót lỗi
INPUT OUTPUT
Black
box
4/21
Tại sao phải có test case
3. Các kỹ thuật thiết kế test case blackbox
Phân lớp tương đương
Phân tích giá trị biên
Bảng quyết định
Sơ đồ chuyển trạng thái (State transition)
Use case
4. Kỹ thuật Use case
• Nội dung
– Là kỹ thuật thiết kế test case liệt kê các tình huống sử dụng của người dùng.
Trong đó, mỗi tình huống mô tả một luồng sử dụng cụ thể được thực hiện
bởi vai trò người dùng cụ thể nhằm thực hiện một công việc cụ thể hoặc ít
nhất mang lại giá trị nghiệp vụ cụ thể cho người dùng
• Ý nghĩa
– Định nghĩa ra các luồng sử dụng hệ thống của từng vai trò dựa trên luồng nghiệp
vụ thường xuyên sử dụng nhất -> Từ đó giúp phát hiện ra các lỗi có thể gặp
trong môi trường thực tế của hệ thống
– Thường sử dụng để thiết kế Acceptance testcase, System testcase và Scenario
testcase.
5. Kỹ thuật Use case
• Các bước thực hiện
- Xác định các vai trò sử dụng và các use case. Trong đó, mỗi use case thể hiện 1
bước thao tác của người dùng tương tác với hệ thống, 1 nghiệp vụ hoặc 1 chức
năng của phần mềm
- Mỗi use case xác định các luồng sử dụng chính và các luồng phát sinh khác
- Với mỗi luồng phát sinh thêm khác xác định các điều kiện đầu vào dẫn đến use
case đó
6. Kiểm thử luồng đăng nhập của máy ATM. Theo đó, nếu người dùng nhập sai mã PIN 3
lần thì sẽ bị nuốt thẻ.
Vai trò và các use case tương ứng
Tình huống thực tế - Đăng nhập máy ATM
7. • Luồng chính: Người dùng nhập đúng mã PIN, đăng nhập thành công vào tài khoản
• Có thể xảy ra các luồng Exception: Kiểm tra mã pin
• Nhập sai và yêu cầu nhập lại (2 lần)
• Nhập sai 3 lần, hệ thống khóa tài khoản
Các test case liệt kê được
• Người dùng đăng nhập đúng mã PIN
• Người dùng đăng nhập sai mã PIN dưới 3 lần
• Người dùng đăng nhập sai mãi PIN 3 lần
Tình huống thực tế - Đăng nhập máy ATM
8. Kỹ thuật Sơ đồ chuyển trạng thái
• Nội dung
– Là kỹ thuật thiết kế test case dựa trên việc sơ đồ hóa luồng làm việc của phần mềm
qua các trạng thái khác nhau
• Ý nghĩa: Thường áp dụng để
– Thiết kế các test case luồng nghiệp vụ (Scenario test case)
– Thiết kế test case kiểm thử hệ thống (System test case)
9. Kỹ thuật sơ đồ chuyển trạng thái
• Các bước thực hiện
– Liệt kê các trạng thái khác nhau và việc chuyển đổi từ trạng thái này sang trạng
thái khác trên phần mềm
– Tại mỗi trạng thái, ghi chú lại điều kiện dẫn đến trạng thái và điều kiện chuyển
sang trạng thái khác
– Xác định chuỗi các sự kiện dẫn đến trạng thái cho phép kết thúc việc kiểm thử
– Thực hiện lại bước 2 và bước 3 cho tất cả các trạng thái
– Liệt kê các test case bao phủ tối đa các trạng thái có thể với đầu vào/đầu ra thực tế
10. Chờ mã
PIN
Kiểm tra
PIN 1
Kiểm tra
PIN 2
Kiểm tra
PIN 3
Truy
cập TK
Nuốt
thẻ
Nhập
mã PIN
Sai PIN Sai PIN
Tình huống thực tế - Đăng nhập máy ATM
11. Các test case liệt kê được
• Nhập đúng mã PIN ngay từ lần 1
• Nhập đúng mã PIN ở lần nhập thứ 2
• Nhập đúng mã PIN ở lần nhập thứ 3
• Nhập sai mã PIN ở lần nhập thứ 3
Tình huống thực tế - Đăng nhập máy ATM
12. Ứng dụng TMĐT cho phép: Khách hàng lập và thanh toán cho giỏ hàng và nhận hàng
tại nhà:
• Chủ shop sẽ từ chối các đơn hàng trị giá dưới 100k
• Chủ shop sẽ giữ đơn hàng trong vòng 48h để khách hàng khác có thể biết số hàng
tồn thực
• Chủ shop sẽ cancel các đơn hàng không thanh toán trong vòng 48h
Thực hành - Ứng dụng TMĐT cho phép thanh toán giỏ hàng
13. Xác định Actor – Vai trò tham gia sử dụng phần mềm
Chủ shop
Khách hàng
14. Xác định Use Case
WHAT ???
Lập đơn
hàng
Thanh
toán
Nhận
hàng
Từ chối
Chấp
nhậnHủy đơn
hàng
15. Xác định luồng chính
Chủ shop
Khách hàng
Lập đơn
hàng
Thanh
toán
Nhận
hàng
Chấp
nhận
16. Xác định luồng phát sinh
Chủ shopKhách hàng
Lập đơn
hàng
Từ chối
Hủy đơn
hàng
17. Xác định các điều kiện đầu vào dẫn đến các luồng phát sinh
Lập đơn
hàng
Từ chối
Hủy đơn
hàng
Đơn hàng có giá trị dưới
100K
Đơn hàng quá 48h chưa
thanh toán
18. Liệt kê các test case xác định được
• Khách hàng lập đơn hàng trên 100K, thanh toán trong vòng 48 giờ và nhận hàng
• Khách hàng lập đơn hàng có giá trị dưới 100K bị chủ shop từ chối đơn hàng
• Chủ shop hủy đơn hàng đã được chấp nhận nhưng để quá 48h không thanh toán
19. Liệt kê các trạng thái và việc chuyển đổi trạng thái
• Trạng thái của Đơn hàng
– Chờ xác nhận
– Đã xác nhận, chờ thanh toán
– Đã thanh toán
– Đã nhận hàng
– Bị từ chối
– Đã hủy
Chờ xác
nhận
Đã nhận
hàng
Chờ thanh
toán
Đã thanh
toán
Bị từ chối
Đã hủy
20. Chờ xác
nhận
Đã nhận
hàng
Chờ thanh
toán
Đã thanh
toán
Bị từ chối
Đã hủy
Xác định chuỗi các sự kiện dẫn đến trạng thái cho phép kết thúc việc kiểm thử
21. Chờ xác
nhận
Đã nhận
hàng
Chờ thanh
toán
Đã thanh
toán
Bị từ chối
Đã hủy
Chủ shop từ chối
đơn hàng dưới 100K
Chủ shop chấp nhận
đơn hàng trên 100K
Khách hàng thanh toán
trong vòng 48h
Chủ shop
Giao hàng
Quá 48h
Khách chưa thanh toán
Ghi chú điều kiện dẫn đến trạng thái và điều kiện chuyển sang trạng thái khác
22. Liệt kê các test case xác định được
• Đơn hàng bị từ chối vì dưới 100K
• Đơn hàng bị hủy đơn hàng vì quá 48h không thanh toán
• Đơn hàng đã nhận hàng sau khi được khách hàng thanh toán trong vòng 48h
23. Bài tập – Mối quan hệ giữa người chơi Thiện nữ u hồn
Thiện nữ u hồn cho phép người chơi thiết lập các mối quan hệ với người chơi khác. Cụ thể
như sau:
- Người chơi này có thể đề nghị kết bạn với người chơi khác
- Người được đề nghị có thể từ chối hoặc chấp nhận kết bạn. Sau khi đồng ý, 2 người sẽ
trở thành bạn bè. Sau khi kết bạn, người dùng có thể bỏ kết bạn mà không cần sự đồng ý
của người kia.
- Hai người chơi là bạn bè và có mức điểm thân thiết trên 100 có thể đề nghị kết hôn,
người được đề nghị có thể đồng ý hoặc từ chối kết hôn. Sau khi kết hôn, người dùng có
thể ly hôn. Việc ly hôn phải có sự đồng ý của cả người kia thì mới được chấp nhận.