You are on page 1of 5

Huỳnh Thị Tố Trinh

MSSV: 21110932

Bài tập
KIỂM THỬ PHẦN MỀM
------o0o------
Bài tập 02: Quy trình kiểm thử phần mềm
1. Thực hiện: Làm và nộp bài cá nhân
2. Thời lượng: 60 phút.
3. Cách thức nộp bài: nộp file Word.
4. Kết quả / Sản phẩm: file word .DOC hoặc .DOCX
5. Yêu cầu cụ thể:
Tìm hiểu và trình bày định nghĩa của các thuật ngữ sau (trình bày ngắn gọn nhưng đầy
đủ, i.e khoảng 5 dòng cho mỗi thuật ngữ):
a. Unit Test (1) l. Usability Test
b. Integration Test (2) m. Configuration Test (4)
c. System Test (3) n. Black box / functional testing (5)
d. Acceptance Test (4) o. White box / structural testing (6)
e. Stress / Load Test (5) p. Sanity testing
f. Performance Test (6) q. Regression testing (1, 2)
g. Install / Uninstall Test r. Incremental testing (3, 4)
h. Recovery Test (1) s. Thread testing
i. Compatibility Test (2) t. Alpha Test
j. Comparison Test u. Beta Test (5, 6)
k. Conversion Test (3)

Unit Test là một phương pháp kiểm thử phần mềm nhằm xác định tính chính xác
của từng thành phần hoặc đơn vị trong mã nguồn, được thực hiện trong quá trình phát
triển ứng dụng, mục tiêu của kiểm thử đơn vị là tách biệt và kiểm tra từng phần code một
cách cẩn thận để đảm bảo hoạt động đúng đắn.
Integration testing, còn được biết đến là kiểm thử tích hợp (Integration and
Testing, viết tắt: I&T), là một giai đoạn quan trọng trong quá trình kiểm thử phần mềm.
Ở giai đoạn này, các module phần mềm riêng biệt được kết hợp lại và kiểm thử như một
nhóm. Điều này nhằm mục đích đảm bảo tính tương thích và hoạt động đúng đắn của các
thành phần khi chúng được tích hợp vào một hệ thống lớn hơn.
System Test, hay còn gọi là Kiểm thử hệ thống, là một phương pháp đánh giá và
kiểm tra hành vi của sản phẩm hoặc hệ thống phần mềm toàn diện và đã được tích hợp
một cách đầy đủ. Quá trình này dựa trên các đặc tả và yêu cầu chức năng đã được xác
định trước, nhằm mục đích đảm bảo rằng hệ thống hoạt động như mong đợi và đáp ứng
được các yêu cầu của người dùng.
Acceptance Testing, hay còn được gọi là Kiểm thử chấp nhận, là một phương
pháp kiểm thử phần mềm mà trong đó hệ thống được kiểm tra để xác định khả năng chấp
nhận của nó. Mục tiêu chính của kiểm thử này là đánh giá sự tuân thủ của hệ thống với
các yêu cầu nghiệp vụ trước khi được triển khai cho người dùng sử dụng.
Load Test là quá trình mô phỏng độ chịu tải thực tế của một ứng dụng hoặc trang
web bất kỳ. Trong quá trình này, mục tiêu là kiểm thử cách mà ứng dụng hoạt động trong
điều kiện hoạt động bình thường và cả trong điều kiện hoạt động với hiệu suất cao. Loại
kiểm thử này thường được áp dụng trong những dự án gần đi đến giai đoạn hoàn thành,
nhằm đảm bảo rằng hệ thống có thể xử lý được lượng lớn người dùng và tải trọng mà
không gặp vấn đề.
Stress Test là một loại kiểm thử nhằm xác định sự ổn định và độ mạnh mẽ của hệ
thống dưới điều kiện tải trọng cực đoan. Đây là một kỹ thuật kiểm thử không chức năng,
thường sử dụng mô hình mô phỏng tự động để kiểm tra các giả định và tình huống biên
trong hệ thống.
Performance Test, hoặc Kiểm thử hiệu năng, là một công cụ quan trọng để đảm
bảo chất lượng của hệ thống (QA), được thực hiện để đánh giá tốc độ thực hiện của hệ
thống khi phải xử lý một khối lượng công việc cụ thể. Ngoài ra, Performance Test cũng
có thể được sử dụng để xác nhận và kiểm tra các thuộc tính chất lượng khác của hệ thống
như khả năng mở rộng, độ tin cậy và sử dụng tài nguyên. Điều này giúp đảm bảo rằng hệ
thống hoạt động một cách hiệu quả và ổn định dưới tải trọng và điều kiện sử dụng khác
nhau.
Install Test là quá trình kiểm tra để đảm bảo rằng phần mềm đã được cài đặt đúng
cách và hoạt động như mong đợi. Trong quá trình này, các thành phần cần thiết cùng các
ứng dụng phụ thuộc đều được cài đặt và cấu hình một cách đầy đủ. Mục tiêu của Install
Test là xác nhận rằng quá trình cài đặt không gặp vấn đề và phần mềm hoạt động đúng
trên môi trường đích.
Uninstall Test là quá trình kiểm tra xem tất cả các thành phần của ứng dụng đã
được loại bỏ đúng cách sau quá trình gỡ cài đặt, bao gồm cả các tập tin và thư mục liên
quan. Mục tiêu là đảm bảo không còn dư vị của ứng dụng trên hệ thống.
Recovery Testing, hay còn gọi là Kiểm thử phục hồi, là một loại kiểm thử phi
chức năng dùng để đánh giá khả năng của hệ thống phục hồi từ các sự cố, lỗi phần cứng
hoặc các vấn đề nghiêm trọng khác. Mục tiêu là kiểm tra kỹ thuật và hiệu suất của hệ
thống trong việc khôi phục lại hoạt động sau khi gặp vấn đề, đảm bảo tính ổn định và khả
năng hoạt động tiếp tục của nó.
Compatibility Testing là một kỹ thuật kiểm thử nhằm xác nhận khả năng của phần
mềm hoạt động một cách tốt trên các nền tảng khác nhau như phần cứng, phần mềm, hệ
điều hành, môi trường hệ thống và mạng. Quá trình này thường được thực hiện bởi các
nhóm kiểm thử để đảm bảo rằng phần mềm có khả năng tương thích và hoạt động ổn định
trên mọi môi trường sử dụng.
Conversion Testing là quá trình kiểm thử các chương trình hoặc quy trình được sử
dụng để chuyển đổi dữ liệu từ hệ thống hiện tại sang các hệ thống thay thế. Đây là một
phương pháp kiểm thử để đảm bảo tính chính xác và hiệu quả của quá trình chuyển đổi dữ
liệu. Thường được thực hiện bởi nhóm QA để đảm bảo rằng dữ liệu được chuyển đổi một
cách đúng đắn và không mất mát thông tin quan trọng.
Usability Testing là kỹ thuật để đảm bảo rằng ứng dụng dễ sử dụng và thân thiện
với người dùng cuối. Người sử dụng thực hiện các tác vụ thông thường và đánh giá trải
nghiệm, bao gồm cách thao tác, nhập dữ liệu và hiểu kết quả từ hệ thống. Mục tiêu là tạo
ra một giao diện dễ sử dụng và thân thiện với người dùng.
Configuration Testing là quá trình kiểm thử để đảm bảo rằng cấu hình phần cứng
và phần mềm của hệ thống được cấu hình tối thiểu và tối ưu. Trong quá trình này, hiệu
quả của việc thêm hoặc sửa đổi các nguồn tài nguyên như bộ nhớ, ổ đĩa và CPU được
đánh giá. Thường được thực hiện bởi các kỹ sư kiểm thử hiệu năng để đảm bảo rằng hệ
thống hoạt động một cách hiệu quả và ổn định dưới các cấu hình khác nhau.
Black box Testing là một phương pháp kiểm thử phần mềm để xác minh tính
chính xác của các chức năng của ứng dụng mà không cần kiến thức cụ thể về mã nguồn
hoặc cấu trúc bên trong của ứng dụng. Trong quá trình này, các kiểm thử được thiết kế
dựa trên yêu cầu và chức năng đã được xác định trước. Thường được thực hiện bởi nhóm
QA để đảm bảo tính đầy đủ và chính xác của ứng dụng từ góc nhìn của người dùng cuối.
Functional testing là một loại kiểm thử hộp đen tập trung vào việc kiểm tra tính
chính xác của các chức năng của phần mềm. Phương pháp này dựa trên việc sử dụng các
test case và các yêu cầu chức năng đã được xác định trước (spec). Functional testing
thường được thực hiện bởi nhóm kiểm thử để đảm bảo rằng các chức năng của phần mềm
hoạt động như mong đợi và đáp ứng được các yêu cầu chức năng được quy định.
Structural Testing, còn được gọi là White box testing, là một phương pháp kiểm
thử phần mềm tập trung vào kiểm tra cấu trúc nội bộ của mã nguồn. Thực hiện bởi các nhà
phát triển, nó đảm bảo tính đúng đắn của mã nguồn và xử lý logic của từng hàm và chức
năng. Phương pháp này giúp đảm bảo rằng mã nguồn hoạt động đúng theo yêu cầu và
không có lỗi logic.
Sanity testing là một loại kiểm thử nhanh chóng dựa trên việc đánh giá tính phù
hợp của yêu cầu hoặc tính toán. Ví dụ, trong toán học, khi nhân 3 với 9, ta kiểm tra xem
tổng của các chữ số trong kết quả có chia hết cho 3 hoặc 9 không. Loại kiểm thử này
thường được thực hiện bởi các tester để xác nhận tính đúng đắn cơ bản của hệ thống mà
không cần kiểm tra chi tiết hoàn chỉnh.
Regression testing, hay còn được gọi là kiểm thử hồi quy, là quá trình kiểm thử
một chương trình đã được thử nghiệm trước đó sau khi có sự thay đổi trong mã nguồn
hoặc môi trường của nó. Mục tiêu của kiểm thử này là đảm bảo rằng các lỗi đã sửa hoặc
các tính năng đã thêm vào không làm ảnh hưởng đến các phần của phần mềm đã được
kiểm tra trước đó, và các lỗi mới không xuất hiện trong các phần không được thay đổi.
Incremental testing, hoặc kiểm thử tăng dần, là quá trình kiểm thử mà các thành
phần hoặc hệ thống được tích hợp và kiểm thử một hoặc nhiều lần cho đến khi toàn bộ hệ
thống đã được tích hợp và kiểm thử. Phương pháp này giúp đảm bảo tính chính xác và
tính ổn định của phần mềm theo từng bước phát triển.
Thread Testing là một kỹ thuật kiểm thử phần mềm thường được sử dụng trong
giai đoạn kiểm thử tích hợp sớm để đánh giá khả năng hoạt động của các chức năng
chính. Phương pháp này đặc biệt hữu ích khi kiểm thử các ứng dụng sử dụng kiến trúc
client-server. Thread Testing thường được thực hiện bởi các tester để đảm bảo tính đúng
đắn và hiệu suất của hệ thống trong các tình huống tương tác giữa client và server.
Alpha Test là quá trình cuối cùng trong quá trình phát triển phần mềm, nơi các
khách hàng tiềm năng hoặc người dùng hiện tại thực hiện kiểm thử. Điều này giúp đảm
bảo tính đúng đắn và tính ứng dụng của phần mềm trước khi phát hành. Quá trình này
diễn ra trong môi trường mà nhà phát triển tạo ra, đặc biệt là không có sự can thiệp từ
nhóm phát triển.
Beta Test là quá trình kiểm thử phần mềm do các khách hàng tiềm năng thực hiện
hoặc tại môi trường của họ. Thường được thực hiện sau khi Alpha Testing hoàn tất để
tiếp tục đánh giá tính năng, hiệu suất, độ ổn định và khả năng sử dụng của phần mềm
trước khi phát hành chính thức. Quá trình này giúp xác định và sửa các lỗi còn sót lại và
cải thiện trải nghiệm người dùng cuối.
6. Tài liệu sử dụng:
[1] Bài giảng powerpoint Chương 1: Tổng quan về kiểm thử (từ slide 41)
[2] Phần 2: Tài liệu Software Testing Fundamental.
[3] Chương 1&2, tài liệu tiếng Việt của Thầy Nguyễn Văn Hiệp.
[4] Các nguồn trên Internet và wiki.
[5] 100+ khái niệm test dành cho Tester, truy xuất từ
https://techmaster.vn/posts/35296/100-khai-niem-test-danh-cho-tester

You might also like