You are on page 1of 28

KIỂM THỬ PHẦN MỀM – SOFTWARE TESTING

CÁC LOẠI KIỂM THỬ PHẦN MỀM


(TEST TYPES)

Đỗ Thị Thu Trang - FIT.UTEHY

1
NỘI DUNG

2
NỘI DUNG

4
Functional Testing Types

 Function testing: kiểm thử chức năng

 User interface (UI) testing: kiểm thử giao diện người


dùng

 Data and DataBase integrity testing: kiểm thử tính


toàn vẹn của dữ liệu và CSDL

 Business cycle testing: kiểm thử vòng đời nghiệp vụ

 Access control testing: kiểm thử kiểm soát truy cập

5
Function Testing

 Đảm bảo đúng chức năng như


yêu cầu
 Xác minh ứng dụng và quy trình nội
bộ của nó bằng cách tương tác với
ứng dụng thông qua giao diện người
dùng đồ họa (GUI)

 Phân tích đầu ra hoặc kết quả

6
Function Testing

7
User Interface Testing

 Đảm bảo giao diện nhất quán, rõ ràng, dễ dùng

 Phù hợp với nhu cầu của người sử dụng

 Đảm bảo giao tiếp giữa người sử dụng và ứng dụng


thuận lợi.

8
User Interface Testing

 Đảm bảo tính điều hướng và trạng


thái cho mỗi cửa sổ ứng dụng và các
đối tượng.
 Xác minh điều hướng

 Xác minh sử dụng phương pháp truy cập


(phím tab, di chuyển chuột, phím tắt)

 Các đặc điểm và các đối tượng cửa sổ


như: menu, kích thước, vị trí, trạng thái,
focus phù hợp với các tiêu chuẩn

9
User Interface Testing

10
Data and Database Integrity Testing

 Đảm bảo phương pháp truy cập


CSDL và các quy trình hoạt động
đúng và không bị hư hỏng dữ liệu.
 Xác minh dữ liệu trả về để đảm bảo rằng
đã truy xuất được đúng dữ liệu cho đúng
giao dịch.

 Xác minh CSDL để đảm bảo dữ liệu đã


được dân cư như dự định, tất cả các sự
kiện CSDL xảy ra đúng cách.

11
Business Cycle Testing

 Đảm bảo chức năng hoạt động


đúng theo quy trình nghiệp vụ được
yêu cầu và lịch trình.
 Tất cả các chức năng thực hiện theo lịch
trình định kỳ sẽ được thực thi hoặc khởi
chạy vào thời điểm phù hợp.

 Kiểm thử sẽ bao gồm việc sử dụng dữ


liệu hợp lệ và không hợp lệ.

 Mỗi quy tắc nghiệp vụ được áp dụng


đúng cách
12
Access Control Testing

 Đảm bảo rằng chỉ người có quyền


truy cập thì mới có thể truy cập vào
chức năng đó/dữ liệu đó.

 Đảm bảo rằng chỉ những người đã


được cấp quyền truy cập vào hệ
thống mới có thể truy cập vào các
ứng dụng và chỉ thông qua các cổng
thích hợp.

13
NỘI DUNG

14
Non-functional Testing Types

 Performance testing: Kiểm thử hiệu năng

 Load testing: Kiểm thử chịu tải

 Stress testing: Kiểm thử quá tải

 Volume testing (Capacity testing): kiểm thử khối


lượng

15
Performance Testing

 Để xác định một phần mềm/ hệ thống thực hiện một


khối lượng công việc cụ thể với tốc độ như thế nào.

 Cũng dùng để xác định/ xác minh những thuộc tính


chất lượng khác của HT như khả năng mở rộng, tính
ổn định, độ tin cậy và sử dụng tài nguyên.

 Ví dụ: Thời gian phản hồi, tỷ lệ giao dịch và các yêu


cầu khác phụ thuộc vào thời gian.

16
Load Testing (Concurrency Testing)

 Kiểm tra phần mềm làm việc trong điều kiện tải trọng
bình thường và cao điểm.

 Đây là loại kiểm thử xác định công suất tối đa của phần
mềm và hiệu suất của nó ở thời gian cao điểm.

 Ví dụ: 2 người dùng đồng thời rút tiền từ tài khoản ngân
hàng có thể làm cho hệ thống bị khóa hoặc xử lý không
chính xác hoặc cả hai điều trên.

17
Stress Testing

 Kiểm thử tập trung vào việc kiểm tra các đặc tính hoạt
động của hệ thống khi làm việc với các điều kiện quá
tải, như:
 Số người dùng đồng thời tối đa

 Bộ nhớ hạn chế

 Không đủ dung lượng ổ đĩa

18
Volume Testing

 Là kiểm thử một ứng dụng với số lượng lớn dữ liệu trong
cơ sở dữ liệu.

 Dùng để xác minh nếu hệ thống đáp ứng một khối lượng
dữ liệu nhất định như mong đợi. Nó có thể phải tăng
kích thước của file dữ liệu.

 Ví dụ: thử nghiệm tình trạng của trang web âm nhạc khi
có hàng triệu người dùng tải bài hát xuống.

19
NỘI DUNG

20
Structure Testing

 Kiểm tra cấu trúc của phần mềm


 Còn được gọi là kiểm thử hộp trắng vì trong kiểm thử
cấu trúc, chúng ta quan tâm đến những gì đang xảy ra
bên trong của ứng dụng.
 KTV được yêu cầu phải có kiến thức về triển khai mã
lệnh. Cụ thể yêu cầu KTV hiểu biết về cách thức hoạt
động, làm việc của phần mềm.
 Hầu hết được thực hiện ở mức độ Unit Test.

21
NỘI DUNG

22
Testing related to changes

 Thực thi khi có sự thay đổi về phần mềm


 Thay đổi phần mềm có thể do:
 Sửa lỗi, phát hiện bởi các hoạt động đảm bảo chất lượng
 Có sự thay đổi về yêu cầu

23
Confirmation Testing (re-testing)

 Confirmation testing: kiểm tra xác nhận.


 Re-testing được thực hiện để xác định liệu các test case
fail trước đó có pass không sau khi các vấn đề đã được
sửa.
 Comfirmation testing = re-test failed test case.
 Khi thực hiện kiểm tra xác nhận, điều quan trọng là đảm
bảo rằng việc kiểm thử lần sau được thực hiện giống hệt
như lần đầu tiên, sử dụng cùng đầu vào, dữ liệu và môi
trường.
 Nếu kiểm thử pass thì báo cáo Close bug.
 Nếu kiểm thử faild thì báo cáo Re-Open để LTV sửa lại.

24
Regression Testing

 Kiểm thử hồi quy là kiểm thử được thực hiện để xác
minh phần thay đổi của phần mềm, để đảm bảo rằng
sửa đổi không gây ra lỗi trong các phần khác (kiểm tra
các phản ứng phụ của thay đổi).
 Được thực hiện khi:
 Sau khi phần mềm có sự thay đổi
 Khi môi trường có sự thay đổi
 Ví dụ:
 Dự án phát triển với mô hình Iterative
 Các dự án bảo trì (khắc phục lỗi hoặc nâng cấp hệ thống với một
số tính năng mới, thay đổi).

25
Regression Testing

 Sử dụng lại bộ các test case đã có trước đó để kiểm tra


các module vừa sửa đổi, thay đổi.
 Nên sử dụng kiểm thử tự động.

26
Confirmation Testing vs. Regression
Testing
Regression testing Re-testing
Được thực hiện để tìm ra những vấn Được thực hiện để xác định liệu các
đề có thể phát sinh do bất kỳ thay đổi test case fail trước đó có pass không
nào trong ứng dụng. sau khi các vấn đề đã được sửa
Mục đích của kiểm thử hồi quy là bất Mục đích của retest là đảm bảo bug /
kỳ sự thay đổi nào cũng không tạo ra các vấn đề đã được giải quyết và
bug trong những chức năng đã có. chức năng được làm việc đúng như
mong đợi
Việc verify bugs không nằm trong Bao gồm cả việc verify bugs
regression test
Có thể được thực hiện song song với Retest có độ ưu tiên cao nên nó được
retest thực hiện trước regression test
Test cases có thể được chạy tự động Test cases không thể thực hiện tự
(automation test) động
Thực hiện test với cả các test case đã Chỉ chạy lại các test cases đã fail
pass trước đó
27
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.guru99.com/performance-testing.html

 https://www.guru99.com/load-testing-tutorial.html

 https://www.guru99.com/stress-testing-tutorial.html

 https://www.guru99.com/volume-testing.html

 https://www.guru99.com/scalability-testing.html

 https://www.guru99.com/gui-testing.html

 https://www.guru99.com/what-is-security-testing.html

28
TỔNG KẾT

QUESTION/ ANSWER

29

You might also like