Professional Documents
Culture Documents
Bai 9 1 Test Design Test Case
Bai 9 1 Test Design Test Case
XÂY DỰNG
TEST DESIGN - TEST CASE
1
NỘI DUNG
Thiết kế kiểm thử (Test design)
Trường hợp kiểm thử (Test case)
Các yếu tố đảm bảo chất lượng phần mềm
2
NỘI DUNG
Thiết kế kiểm thử (Test design)
Trường hợp kiểm thử (Test case)
Các yếu tố đảm bảo chất lượng phần mềm
3
Vòng đời kiểm thử phần mềm
4
TEST DESIGN - Example
5
TEST DESIGN - Problems?
6
TEST DESIGN - What? When?
What?
Là tài liệu liệt kê tất cả các trường hợp kiểm
thử - test cases, sẽ được sử dụng để kiểm thử
hệ thống phần mềm.
Giống như tài liệu thiết kế mức cao (HLD),
nhưng dùng cho kiểm thử.
When
Trong giai đoạn Solution của vòng đời phát
triển phần mềm - SDLC
7
TEST DESIGN - Objective
Mục đích:
Xác định số lượng test case từ các yêu cầu của đặc tả.
Đảm bảo các test case bao phủ các yêu cầu phần mềm.
Từ đó ước lượng thời gian viết test case và thực hiện
kiểm thử.
Căn cứ phân công công việc cho các tester.
8
TEST DESIGN - Process
9
Define Test case List
10
TEST DESIGN - Requirement for test
GUI
12
User Interface Test Cases - GUI
13
Field Validation Test Cases
14
Field Validation Test Cases
15
Field Validation Test Cases
16
Field Validation Test Cases
17
Field Validation Test Cases
18
Field Validation Test Cases
Xây dựng test case với dữ liệu hợp lệ/ luồng nghiệp vụ
chính.
Xây dựng test case cho quy tắc nghiệp vụ được xác
định trong SRS/ Các luồng thay thế.
Sử dụng các kỹ thuật kiểm tra hộp đen:
Phân vùng tương đương (Equivalent Partition)
Phân tích giá trị biên (Boundary Value Analysis)
Bảng quyết định (Decision Table)
Chuyển đổi trạng thái (State Transition)
20
Functional Test Cases
21
Role & Permission Test Cases
Dựa trên yêu cầu phân quyền/ yêu cầu bảo mật của một
sản phẩm.
Thiết kế các test case để đảm bảo:
Mỗi vai trò có đặc quyền cụ thể được kiểm tra
Người dùng với vai trò kết hợp được kiểm tra
22
System testing
23
TEST DESIGN - Xác định yêu cầu
Non-Function requirement:
Chất lượng mà hệ thống cần phải có:
Hiệu năng
Bảo mật
24
TEST DESIGN - Xác định test case
25
TEST DESIGN - Xác định test suite
26
TEST DESIGN – Xác định test suite
27
TEST DESIGN - Benefit
28
TEST DESIGN - Exercise
29
NỘI DUNG
Thiết kế kiểm thử (Test design)
Trường hợp kiểm thử (Test case)
Các yếu tố đảm bảo chất lượng phần mềm
30
Vòng đời kiểm thử phần mềm
31
TEST CASE PROCESS
32
TEST CASE - What?
Là một tập hợp các yếu tố đầu vào, điều kiện thực thi, các
hành động (action) /sự kiện (event), kết quả quả mong đợi và
các điều kiện thực thi tiên quyết, được phát triển cho một
mục tiêu cụ thể / điều kiện kiểm thử.
Đầu vào:
Đặc tả yêu cầu phần mềm (SRS)
Thiết kế chi tiết
Kế hoạch kiểm thử
Phạm vi:
Test case mức cao
Test case mức thấp
33
TEST CASE - Why?
34
TEST CASE - Good?
35
TEST CASE - Structure?
Thông tin dự án
GUI: Liệt kê tất cả các thông tin trên màn hình để dễ dàng kiểm tra
Pictures: liệt kê tất cả các thiết kế màn hình cần được kiểm tra. Các
màn hình này phải được chấp thuận bởi khách hàng.
Test Report
36
TEST CASE - Structure?
37
TEST CASE - Elements
38
Test Case - Test Case Title
39
Test Case - Example
Ví dụ:
Thêm user thành công Nhập Username đã tồn tại
Nhập ký tự đặc biệt trong Thêm user, không thêm địa
trường Username chỉ email
40
Test Case Proceduces/ Steps
Là một tập các bước/ các hành động cần thiết để thực
thi một test case.
Ví dụ:
1. Trên màn hình đăng nhập, nhập Username: “test”
2. Nhập Password: “test@123”
3. Nhấn nút [Login]
41
Test Case - Expected Output
Là một tập các đầu ra/ kết quả mong đợi sau thực hiện
các bước trong test description.
Ví dụ:
1. Hiển thị thông báo lỗi
2. Đăng nhập không thành công
42
Test Case Result/ Status
Trạng thái của một test case thực thi. Nó có thể là:
Passed/OK: Kết quả thực tế đáp ứng yêu cầu (kết quả mong
đợi)
Failed/NOK/NG: Kết quả thực tế không đáp ứng yêu cầu (kết
quả mong đợi).
Blocked: Không thể thực hiện được vì các điều kiện tiên quyết
đã không thành công.
NA/Skipped: Không kiểm tra được, bỏ qua.
Not Tested: Chưa kiểm tra.
43
Test Case - Other consider Elements
44
Test Case - Other consider Elements
Test data:
Danh sách các biến và giá trị có thể sử dụng cho test case.
Có thể liệt kê các giá trị cụ thể hoặc mô tả phạm vi giá trị.
Test case được thực thi với mỗi giá trị.
Các giá trị này được viết bằng ký hiệu.
Ví dụ: loginID = {Valid loginID , invalid loginID , valid email,
invalid email, empty} ; password = {valid, invalid, empty}
Actual output: kết quả thực tế khi chạy các test case.
45
Tips for good Test case
46
Terms
47
TEST CASE -[Function]
Example
48
TEST CASE -[Non_Function]
Example
49
TEST CASE - Note?
50
TEST CASE – Note?
51
TEST CASE – Ví dụ
52
Exercise
Viết test case giao diện, chức năng cho module quản lý
sinh viên dựa trên tài liệu thiết kế:
Account management
Student management
53
NỘI DUNG
Thiết kế kiểm thử (Test design)
Trường hợp kiểm thử (Test case)
Các yếu tố đảm bảo chất lượng phần
mềm
54
Mô hình chất lượng McCall’s
Các tiêu chí đảm
bảo chất lượng
phần mềm:
Vận hành sản
phẩm (Product
operation)
Sửa đổi sản phẩm
(Product revision)
Chuyển giao sản
phẩm (Product
transition)
55
Vận hành sản phẩm(Product operation)
Correctness (Tính đúng đắn): thể hiện mức độ hoàn
thành, mức độ hoạt động chính xác của hệ thống so
với đặc tả của nó.
Reliability (Tính tin cậy): Đề cập tới khả năng không
hỏng, không lỗi, không sai của HT trong quá trình sử
dụng.
Efficiency (Tính hiệu quả): Đề cập tới việc dùng tài
nguyên trong thực hiện và lưu trữ các chức năng của
phần mềm.
Integrity (Tính toàn vẹn): Tính bảo mật của HT với việc
ngăn chặn truy cập trái phép, khả năng phục hồi.
Usability (Tính khả dụng): Đề cập tới khả năng dễ dùng
của HT. 56
Sửa đổi sản phầm (Product revision)
Maintainability (Tính bảo trì): Mức công sức cần để bảo
trì PM khi có lỗi, kiến trúc các module như thế nào
Flexibility (Tính khả chuyển): Đề cập tới khả năng thay
đổi của HT khi chuyển HT từ môi trường này sang môi
trường khác.
Testability (Khả năng kiểm thử): Có dễ dàng kiểm thử
được hay không để đảm bảo nó không lỗi và đáp ứng
đặc tả.
57
Chuyển giao sản phẩm (Product
transition)
Portability (Tính thích ứng): Tính thích ứng của hệ
thống khi được cài đặt trong môi trường mới, phần
cứng, hệ điều hành...
Reusability (Tính tái dụng): Khả năng tái sử dụng các
module, tài liệu của hệ thống nhằm rút ngắn thời gian
xây dựng hệ thống mới.
Interoperability (Khả năng tương tác): Khả năng phát
triển, tích hợp hệ thống với các hệ thống/ thiết bị khác.
58
TEST DESIGN
TÓM LẠI
Nội dung bài học gồm
59
Tài liệu tham khảo
Bộ môn CNPM - Khoa CNTT, Đề cương Kiểm thử phần mềm, Đại
học Sư phạm Kỹ Thuật Hưng Yên.
http://istqbexamcertification.com/what-is-fundamental-test-
process-in-software-testing/
60
TỔNG KẾT
QUESTION/ ANSWER
61
TEST CASE - [Unit]
• Condition: đưa ra các điều kiện để thực hiện các test case
Precondition: Liệt kê các yêu cầu cần phải có trước khi kiểm thử
Input: Liệt kê các dữ liệu đầu vào.
• Confirm: đưa ra các kết quả mong đợi tương ứng với từng
test case
Return: Liệt kê các kết quả trả về tương ứng với từng test case
Exception: Liệt kê các trường hợp ngoại lệ
Log message: Liệt kê các câu thông báo nếu có
63
TEST CASE - [Unit]
64
TEST CASE - [Unit]
Example
65
Tài liệu tham khảo
Bộ môn CNPM - Khoa CNTT, Đề cương Kiểm thử phần mềm, Đại
học Sư phạm Kỹ Thuật Hưng Yên.
https://www.slideserve.com/woody/software-quality-models
68
TỔNG KẾT
QUESTION/ ANSWER
69