SlideShare a Scribd company logo
1 of 23
KỸ THUẬT THIẾT KẾ TESTCASE BLACKBOX
Use case – State transition
HOÀNG HIỀN
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
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
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.
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 đó
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
• 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
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)
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ế
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
 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
Ứ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
Xác định Actor – Vai trò tham gia sử dụng phần mềm
Chủ shop
Khách hàng
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
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
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
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
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
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
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ử
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
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
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.

More Related Content

What's hot

Hệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng onlineHệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng onlineHan Nguyen
 
Xây dựng cơ sở dữ liệu trong quản lý nhân sự
Xây dựng cơ sở dữ liệu trong quản lý nhân sựXây dựng cơ sở dữ liệu trong quản lý nhân sự
Xây dựng cơ sở dữ liệu trong quản lý nhân sựAskSock Ngô Quang Đạo
 
Thiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sựThiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sựleemindinh
 
Thiết Kế Giao Diện Người dùng
Thiết Kế Giao Diện Người dùngThiết Kế Giao Diện Người dùng
Thiết Kế Giao Diện Người dùngPhương Minh
 
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minh
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minhBáo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minh
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minhnataliej4
 
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTT
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTTSlide Báo Cáo Đồ Án Tốt Nghiệp CNTT
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTTHiệu Nguyễn
 
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoMasterCode.vn
 
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMTÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMNguyễn Anh
 
Tong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdhTong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdhHoat Thai Van
 
Đảm bảo chất lượng phầm mềm (nguồn PTIT)
Đảm bảo chất lượng phầm mềm (nguồn PTIT)Đảm bảo chất lượng phầm mềm (nguồn PTIT)
Đảm bảo chất lượng phầm mềm (nguồn PTIT)Thuyet Nguyen
 
Báo cáo xây dựng và phát triển phần mềm
Báo cáo xây dựng và phát triển phần mềmBáo cáo xây dựng và phát triển phần mềm
Báo cáo xây dựng và phát triển phần mềmytthuan
 
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMSldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMNguyễn Anh
 
Bài 3: Xác định yêu cầu hệ thống & Phân tích quy trình xử lý nghiệp vụ - Giáo...
Bài 3: Xác định yêu cầu hệ thống & Phân tích quy trình xử lý nghiệp vụ - Giáo...Bài 3: Xác định yêu cầu hệ thống & Phân tích quy trình xử lý nghiệp vụ - Giáo...
Bài 3: Xác định yêu cầu hệ thống & Phân tích quy trình xử lý nghiệp vụ - Giáo...MasterCode.vn
 
Chương 2. HỆ THỐNG VÀ MÔ HÌNH HÓA HỆ THỐNG
Chương 2. HỆ THỐNG VÀ MÔ HÌNH HÓA HỆ THỐNGChương 2. HỆ THỐNG VÀ MÔ HÌNH HÓA HỆ THỐNG
Chương 2. HỆ THỐNG VÀ MÔ HÌNH HÓA HỆ THỐNGLe Nguyen Truong Giang
 
Quản lý học sinh cấp 2
Quản lý học sinh cấp 2Quản lý học sinh cấp 2
Quản lý học sinh cấp 2laonap166
 
Báo cáo bài tập lớn phân tích thiết kế hệ thống
Báo cáo bài tập lớn phân tích thiết kế hệ thốngBáo cáo bài tập lớn phân tích thiết kế hệ thống
Báo cáo bài tập lớn phân tích thiết kế hệ thốngJojo Kim
 
Giáo trình Tester Full
Giáo trình Tester FullGiáo trình Tester Full
Giáo trình Tester FullThanh Sơn
 

What's hot (20)

Hệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng onlineHệ thống quản lý bán hàng online
Hệ thống quản lý bán hàng online
 
Xây dựng cơ sở dữ liệu trong quản lý nhân sự
Xây dựng cơ sở dữ liệu trong quản lý nhân sựXây dựng cơ sở dữ liệu trong quản lý nhân sự
Xây dựng cơ sở dữ liệu trong quản lý nhân sự
 
Thiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sựThiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sự
 
Thiết Kế Giao Diện Người dùng
Thiết Kế Giao Diện Người dùngThiết Kế Giao Diện Người dùng
Thiết Kế Giao Diện Người dùng
 
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minh
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minhBáo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minh
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minh
 
Mau bao cao project 1
Mau bao cao project 1Mau bao cao project 1
Mau bao cao project 1
 
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTT
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTTSlide Báo Cáo Đồ Án Tốt Nghiệp CNTT
Slide Báo Cáo Đồ Án Tốt Nghiệp CNTT
 
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theoBài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
Bài 1: Làm quen với ASP.NET - Giáo trình FPT - Có ví dụ kèm theo
 
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMTÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
 
Tong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdhTong hop cau hoi trac nghiem hdh
Tong hop cau hoi trac nghiem hdh
 
Đảm bảo chất lượng phầm mềm (nguồn PTIT)
Đảm bảo chất lượng phầm mềm (nguồn PTIT)Đảm bảo chất lượng phầm mềm (nguồn PTIT)
Đảm bảo chất lượng phầm mềm (nguồn PTIT)
 
Báo cáo xây dựng và phát triển phần mềm
Báo cáo xây dựng và phát triển phần mềmBáo cáo xây dựng và phát triển phần mềm
Báo cáo xây dựng và phát triển phần mềm
 
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMSldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
 
Bài 3: Xác định yêu cầu hệ thống & Phân tích quy trình xử lý nghiệp vụ - Giáo...
Bài 3: Xác định yêu cầu hệ thống & Phân tích quy trình xử lý nghiệp vụ - Giáo...Bài 3: Xác định yêu cầu hệ thống & Phân tích quy trình xử lý nghiệp vụ - Giáo...
Bài 3: Xác định yêu cầu hệ thống & Phân tích quy trình xử lý nghiệp vụ - Giáo...
 
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đĐề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
Đề tài: Xây dựng phần mềm quản lý quán cà phê, HOT, 9đ
 
Chương 2. HỆ THỐNG VÀ MÔ HÌNH HÓA HỆ THỐNG
Chương 2. HỆ THỐNG VÀ MÔ HÌNH HÓA HỆ THỐNGChương 2. HỆ THỐNG VÀ MÔ HÌNH HÓA HỆ THỐNG
Chương 2. HỆ THỐNG VÀ MÔ HÌNH HÓA HỆ THỐNG
 
Quản lý học sinh cấp 2
Quản lý học sinh cấp 2Quản lý học sinh cấp 2
Quản lý học sinh cấp 2
 
Đề tài: Kiểm thử phần mềm trên thiết bị di động, HAY, 9đ
Đề tài: Kiểm thử phần mềm trên thiết bị di động, HAY, 9đĐề tài: Kiểm thử phần mềm trên thiết bị di động, HAY, 9đ
Đề tài: Kiểm thử phần mềm trên thiết bị di động, HAY, 9đ
 
Báo cáo bài tập lớn phân tích thiết kế hệ thống
Báo cáo bài tập lớn phân tích thiết kế hệ thốngBáo cáo bài tập lớn phân tích thiết kế hệ thống
Báo cáo bài tập lớn phân tích thiết kế hệ thống
 
Giáo trình Tester Full
Giáo trình Tester FullGiáo trình Tester Full
Giáo trình Tester Full
 

Similar to Thiet ke test case luong

Hệ thống quản lý bán hàng tại siêu thị
Hệ thống quản lý bán hàng tại siêu thịHệ thống quản lý bán hàng tại siêu thị
Hệ thống quản lý bán hàng tại siêu thịHan Nguyen
 
Phân tích và thiết kế & Đảm bảo chất lượng phần mềm PTIT
Phân tích và thiết kế & Đảm bảo chất lượng phần mềm PTIT Phân tích và thiết kế & Đảm bảo chất lượng phần mềm PTIT
Phân tích và thiết kế & Đảm bảo chất lượng phần mềm PTIT Popping Khiem - Funky Dance Crew PTIT
 
Phân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngPhân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngleemindinh
 
Tiểu luận Kiến trúc và thiết kế phần mềm PTIT - Software Architecture & Design
Tiểu luận Kiến trúc và thiết kế phần mềm PTIT - Software Architecture & DesignTiểu luận Kiến trúc và thiết kế phần mềm PTIT - Software Architecture & Design
Tiểu luận Kiến trúc và thiết kế phần mềm PTIT - Software Architecture & DesignPopping Khiem - Funky Dance Crew PTIT
 
Test techniques
Test techniquesTest techniques
Test techniquesLê Huệ
 
tailieunhanh_ais2_chuong_6_ctcp_1_1887.pptx
tailieunhanh_ais2_chuong_6_ctcp_1_1887.pptxtailieunhanh_ais2_chuong_6_ctcp_1_1887.pptx
tailieunhanh_ais2_chuong_6_ctcp_1_1887.pptxPhngTrn43350
 
Quản lý cua hang giai khat lxt
Quản lý cua hang giai khat lxtQuản lý cua hang giai khat lxt
Quản lý cua hang giai khat lxtlaonap166
 

Similar to Thiet ke test case luong (14)

Thiet ket function
Thiet ket functionThiet ket function
Thiet ket function
 
Chuong 4 pp kiem toan va ky thuat lay mau
Chuong 4   pp kiem toan va ky thuat lay mauChuong 4   pp kiem toan va ky thuat lay mau
Chuong 4 pp kiem toan va ky thuat lay mau
 
Hệ thống quản lý bán hàng tại siêu thị
Hệ thống quản lý bán hàng tại siêu thịHệ thống quản lý bán hàng tại siêu thị
Hệ thống quản lý bán hàng tại siêu thị
 
Phân tích và thiết kế & Đảm bảo chất lượng phần mềm PTIT
Phân tích và thiết kế & Đảm bảo chất lượng phần mềm PTIT Phân tích và thiết kế & Đảm bảo chất lượng phần mềm PTIT
Phân tích và thiết kế & Đảm bảo chất lượng phần mềm PTIT
 
Phân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàngPhân tích và thiết kế hệ thống quản lý bán hàng
Phân tích và thiết kế hệ thống quản lý bán hàng
 
Tiểu luận Kiến trúc và thiết kế phần mềm PTIT - Software Architecture & Design
Tiểu luận Kiến trúc và thiết kế phần mềm PTIT - Software Architecture & DesignTiểu luận Kiến trúc và thiết kế phần mềm PTIT - Software Architecture & Design
Tiểu luận Kiến trúc và thiết kế phần mềm PTIT - Software Architecture & Design
 
ITSS
ITSSITSS
ITSS
 
ITSS
ITSSITSS
ITSS
 
Test techniques
Test techniquesTest techniques
Test techniques
 
Lecture03
Lecture03Lecture03
Lecture03
 
Lecture03(1)
Lecture03(1)Lecture03(1)
Lecture03(1)
 
tailieunhanh_ais2_chuong_6_ctcp_1_1887.pptx
tailieunhanh_ais2_chuong_6_ctcp_1_1887.pptxtailieunhanh_ais2_chuong_6_ctcp_1_1887.pptx
tailieunhanh_ais2_chuong_6_ctcp_1_1887.pptx
 
Khao sat QL ban va mua hang
Khao sat QL ban va mua hangKhao sat QL ban va mua hang
Khao sat QL ban va mua hang
 
Quản lý cua hang giai khat lxt
Quản lý cua hang giai khat lxtQuản lý cua hang giai khat lxt
Quản lý cua hang giai khat lxt
 

More from HoangThiHien1

More from HoangThiHien1 (8)

ISTQB Test level, Test type
ISTQB Test level, Test typeISTQB Test level, Test type
ISTQB Test level, Test type
 
ISTQB - Software development life cycle
ISTQB - Software development life cycleISTQB - Software development life cycle
ISTQB - Software development life cycle
 
ISTQB Test Process
ISTQB Test ProcessISTQB Test Process
ISTQB Test Process
 
Overview
OverviewOverview
Overview
 
ISTQB - What's testing
ISTQB - What's testingISTQB - What's testing
ISTQB - What's testing
 
Bdd
BddBdd
Bdd
 
Auto
AutoAuto
Auto
 
Mô tả lỗi hiệu quả
Mô tả lỗi hiệu quảMô tả lỗi hiệu quả
Mô tả lỗi hiệu quả
 

Thiet ke test case luong

  • 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.