You are on page 1of 27

Test Case

ThS. Trương Bá Vĩnh


I. Định nghĩa
• Test case là một trường hợp cần kiểm thử, nó bao gồm các thao
tác/hành động trên hệ thống, điều kiện cần (tiên quyết), các giá trị đầu
vào, và kết quả mong đợi. Một test case thì nên chỉ kiểm tra một
trường hợp, một khía cạnh cụ thể nào đó.
• Test case là tiếng Anh, dịch sang tiếng Việt là “trường hợp kiểm thử”
hoặc “ca kiểm thử.”
• Test case thường có 2 loại chính: test case chi tiết và test case cơ bản

Trương Bá Vĩnh 2
II. Test case gồm những gì
• Trong thực tế test case được trình bày theo nhiều định dạng khác nhau, có thể sử
dụng MS Excel hoặc công cụ nào đó để quản lý test case như TestLink hoặc TestRail.
Dù test case được trình bày theo dạng nào, thì thành phần chính của test case cũng
bao gồm các thông tin sau:
• Test case ID: Để dễ dàng xác định và phân biệt test case với nhau
• Test summary: Để mô tả tóm tắt trường hợp cần kiểm thử. Còn gọi là test objective.
• Test precondition: Điều kiện tiên quyết, điều kiện cần để test case này chạy được
• Test steps: Các bước thực hiện test case
• Expected result: Kết quả mong đợi, điều bạn muốn chương trình/màn hình/API/… đó
thực hiện, thường dựa vào tài liệu mô tả để xác định kết quả mong đợi này.
• Test result: Ghi kết quả của test case, thường là Pass (đạt), và Fail (không đạt)
Trương Bá Vĩnh 3
• Ngoài ra còn có các thông tin khác giúp mình quản lý test case
tốt hơn, giúp mình biết được test case này là viết cho yêu cầu
nào, user story nào,… thì chúng ta sẽ thêm cột Test
requirement, … để quản lý.

Trương Bá Vĩnh 4
Test case mẫu

Trương Bá Vĩnh 5
III. Quy trình viết test case
• Tuỳ vào loại test case, mức kiểm thử, hoặc chương trình bạn
đang viết test case thì sẽ có các bước, trình tự khác nhau để
viết test case, nhưng nhìn chung thì quy trình viết test case sẽ
gồm các bước cơ bản sau:
1.Tìm hiểu hệ thống cần kiểm thử
2.Viết test case
3.Sắp xếp test case

Trương Bá Vĩnh 6
Mẫu Test Case

Trương Bá Vĩnh 7
IV. Thiết kế TEST-CASE
1/ Khái niệm
Thiết kế test – case trong kiểm thử phần mềm là quá trình xây dựng các
phương pháp kiểm thử có thể phát hiện lỗi, sai sót, khuyết điểm của
phần mềm để xây dựng phần mềm đạt tiêu chuẩn.

Trương Bá Vĩnh 8
2/ Vai trò của thiết kế test – case
• Tạo ra các ca kiểm thử tốt nhất có khả năng phát hiện ra lỗi,
sai sót của phần mềm một cách nhiều nhất.

• Tạo ra các ca kiểm thử có chi phí rẻ nhất, đồng thời tốn ít
thời gian và công sức nhất.

Trương Bá Vĩnh 9
Cấu trúc của Testcase
• Test Case ID : Giá trị cần để xác định số lượng trường hợp cần để
kiểm thử.
• Test Items : Dựa theo chức năng của hệ thống có thể chia nhỏ
các functions ra để tạo TCs rõ ràng hơn.
• Pre-condition : Điều kiện tiền đề nếu có
• Test Data : Những dữ liệu cần chuẩn bị để test
• Test Steps : Mô tả các bước thực hiện test
• Expected results: Kết quả mong đợi từ các bước thực hiện trên
• A result: Thông thường sẽ là pass, fail
• Comments : Cột này dùng để note lại thông tin liên quan khi
thực hiện test case.

Trương Bá Vĩnh 10
ID Test Case Field Description
1 Test case ID Mỗi test case nên có một ID duy nhất
2 Test Priority Rất hữu ích trong khi thực thi test. Có các loại priority:
- Low
- Medium
- High
3 Test Designed by Tên của người viết test cases (tester)
4 Date of test designed Ngày mà các thử nghiệm được tạo ra
5 Test Executed by Người thực thi việc kiểm thử (tester)
6 Date of the Test Execution Ngày thực thi việc kiểm thử
7 Name or Test Title Tiêu đề phải cung cấp sự mô tả ngắn gọn về trường hợp thử
nghiệm, chẳng hạn như "Đặt lại mật khẩu". Tiêu đề khá quan
trọng bởi vì nó thường là điều đầu tiên hoặc duy nhất bạn thấy
khi nhìn lướt qua một danh sách các trường hợp thử nghiệm (test
cases). Tiêu đề rõ ràng là chìa khóa giúp người kiểm thử nhanh
chóng tìm ra các trường hợp thử nghiệm đúng.
8 Description/Summary of Test Mô tả chi tiết cho trường hợp thử nghiệm (test case). Trong phần
này, bạn cũng có thể thiết lập các danh mục để tổ chức các trường
hợp thử nghiệm (test cases) thành các nhóm hợp lý.
9 Pre-condition Bất kỳ yêu cầu cần được hoàn thành trước khi thực thi trường
hợp thử nghiệm (test case)
Trương Bá Vĩnh 11
10 Test Steps Các bước kiểm thử, đưa ra cho tester một danh sách được đánh số
các bước thực hiện trong hệ thống, giúp cho test case dễ hiểu
hơn.
Nên có từ 3-8 bước kiểm thử trên 1 trường hợp kiểm thử (test
case). Quá nhiều bước sẽ gây khó khăn cho các lập trình viên và
nhân viên kiểm thử tái hiện lại các bước khi một báo cáo lỗi (bug
report) được đưa ra dựa vào test case.
11 Test Data Bạn có thể nhập dữ liệu kiểm thử trực tiếp vào các trường dữ liệu
kiểm thử (test data), hoặc chỉ ra một tập tin riêng biệt chứa dữ
liệu kiểm thử cho 1 hoặc nhiều trường hợp kiểm thử (test cases).
Bằng việc sử dụng một tập tin dữ liệu kiểm thử như vậy, bạn sẽ
tránh khỏi dữ liệu kiểm thử mã hóa cứng trong trường hợp kiểm
thử, nên 1 trường hợp kiểm thử đơn lẻ có thể được sử dụng để
kiểm tra một tập hợp các dữ liệu kiểm thử
12 Expected Results Đề cập đến kết quả mong muốn bao gồm lỗi hoặc thông báo xuất
hiện trên màn hình. Người kiểm thử cần phải biết kết quả mong
muốn để đánh giá xem trường hợp kiểm thử này có thành công
hay không. Chi tiết về mức độ tối ưu của trường này thay đổi tùy
theo tình hình.
13 Post-Condition Trạng thái của hệ thống sau khi chạy trường hợp thử nghiệm là
gì? Trương Bá Vĩnh 12
14 Status (Fail/Pass) Đánh dấu trường này là không thành công (Fail), nếu kết quả
thực tế (actual result) không giống với kết quả mong đợi
(expected resutl).
Đánh dấu trường này là thành công (Pass) nếu kết quả thực tế
(actual result) giống với kết quả mong đợi (expected resutl)
15 Notes/Comments/Questions Nếu có một vài điều kiện đặc biệt cần ghi chú liên quan đến
những trường phía trên
16 Requirements Danh sách các yêu cầu cho một chu kỳ kiểm tra cụ thể.
17 Attachments/References Các tệp và tài liệu được gắn vào trường hợp kiểm thử, chẳng hạn
như ảnh chụp màn hình và các tài liệu hỗ trợ khác
18 Automation? (Yes/No) Điền vào "CÓ" khi các trường hợp thử nghiệm được chạy tự
động

Trương Bá Vĩnh 13
Mẫu Test Case

Trương Bá Vĩnh 14
Trương Bá Vĩnh 15
Các mẫu Test Case
• Mẫu Test Case 1
• Mẫu Test Case 2
• Mẫu Test Case 3
• Mẫu Test Case 4
Nguồn tham khảo
https://geteasyqa.com/qa/best-test-case-templates-examples/

Trương Bá Vĩnh 16
Ví dụ
Poject Name: Banking System Test Case
Test Case ID: BU_001 Test Designed by: <Name>
Test Priority Test Designed date: <Date>
(Low/Medium/High): Med
Module Name: Bank login screen Test Executed by: <Name>
Test Title: Test the Login Test Execution date: <Date>
Functionality in Banking
Description: Verify login with
valid username and password
Trương Bá Vĩnh 17
Pre-conditions: User has valid username and password
Dependencies:

Step Test Steps Test Data Expected Result Actual Result Status Notes
(Pass/Fail)

1 Navigate to login page User should be able User is able to Pass


to login login

2 Provide valid username User= example Credential can be As Expected Pass


@gmail.com entered

3 Provide valid password Password: Credential can be As Expected Pass


1234 entered

4 Click on Login button User logged User logged Pass


successfully

Trương Bá Vĩnh 18
Ví dụ
• Các testase cần test cho màn hình login bao gồm các trường
sau:

Trương Bá Vĩnh 19
Kiểm tra chức năng mở form login
• Kiểm tra chức năng Login trường hợp không nhập trường nào
• Kiểm tra trường hợp chỉ nhập trường [Username] mà không nhập
password
• Kiểm tra trường hợp chỉ nhập trường [Password] mà không nhập
[Username]
• Kiểm tra chức năng Login trường hợp nhập đúng [Username] và
[Password]
• Kiểm tra trường hợp nhập sai [Username] và [Password] đúng
• Kiểm tra trường hợp nhập đúng [Username] và [Password] sai
• Kiểm tra chức năng Login trường hợp nhập sai 3 lần [Username] và
[Password]
• Kiểm tra sự hoạt động của button Close khi đang nhập thông tin trên
form.
Trương Bá Vĩnh 20
• Kiểm tra sự hoạt động của button Close khi đã hoàn thành việc
nhập liệu trên form
• Kiểm tra trường hợp nhập [Username] có ít hơn 3 kí tự
• Kiểm tra trường hợp nhập [Username] có 3 kí tự
• Kiểm tra trường hợp nhập [Username] có 50 kí tự
• Kiểm tra trường hợp nhập [Username] quá 50 kí tự
• Kiểm tra trường hợp nhập kí tự đặc biệt vào [Username]
• Kiểm tra trường hợp nhập [Username] có khoảng trắng 2 đầu
• Kiểm tra trường hợp nhập [Username] có dấu gạch ngang,dấu
nháy đơn,dấu nháy kép

Trương Bá Vĩnh 21
• Kiểm tra trường hợp nhập [Password] nhỏ hơn 6 kí tự
• Kiểm tra trường hợp nhập Password 6 kí tự
• Kiểm tra trường hợp nhập [Password] 30 kí tự
• Kiểm tra trường hợp nhập [Password] quá 30 kí tự
• Kiểm tra trường hợp nhập [Password] có khoảng trắng 2 đầu
• Kiểm tra dữ liệu hiển thị trong textbox Password phải là dấu
sao hoặc dấu chấm
• SQL Injection

Trương Bá Vĩnh 22
Trương Bá Vĩnh 23
Bài tập: Test case tính tiền vé máy bay
• Một hãng hàng không mới được thành lập và công bố giá vé như sau:
• Business Class:Người lớn: 4.000.000 VND
Trẻ em: 1.500.000VND
• Economy Class:Người lớn: 3.000.000 VND
Trẻ em: 700.000VND
• Quy định về tuổi:Trẻ em: < 7 tuổi
Người lớn: >= 7 tuổi
• Hãng yêu cầu viết một phần mềm nhỏ để tự động tính ra số tiền phải
trả tương ứng với tuổi của khách hàng đăng ký mua vé. Điều kiện thực
hiện là vé có đủ cho người đăng ký.

Trương Bá Vĩnh 24
Yêu cầu của chức năng và giao diện được mô tả như sau:
• Yêu cầu 1: Nhập thông tin đăng ký vé bao gồm:
• - Tên người đăng ký (Name)
- Địa chỉ (Address)
- Số CMT (ID Card No)
- Ngày tháng năm sinh (Date of Birth): cho phép nhập theo định dạng DD/MM/YYYY
- Loại vé (Type of Class): cho phép chọn trong danh sách 2 giá trị Business Class và Economy Class
- Số tiền vé (Payment): Không cho phép sửa đổi giá trị
• Yêu cầu 2: Kiểm tra các ràng buộc: Name, ID Card No, Date of Birth và Type of Class bắt buộc phải nhập
dữ liệu.
• Yêu cầu 3: Tự động xác định số tuổi của khách hàng theo quy tắc:- Nếu năm hiện tại > năm sinh thì Tuổi =
Năm hiện tại – Năm sinh.
- Nếu năm hiện tại = năm sinh thì Tuổi = 1
- Tuổi > 0
• Yêu cầu 4: Tự động xác định số tiền vé (Payment) của khách hàng theo giá vé được công bố trên.
• Yêu cầu 5: Lưu thông tin: Chỉ cho phép lưu thông tin đăng ký mua vé nếu số tiền vé lớn hơn 0.
Trương Bá Vĩnh 25
Giao diện tính tiền

• Hãy chọn 1 trong 4 mẫu Test case đã học. Viết Test case cho chức
năng tính tiền vé máy bay theo độ tuổi.

Trương Bá Vĩnh 26
Trương Bá Vĩnh 27

You might also like