Kiểm thử phần mềm là một quá trình, để đánh giá chức năng của ứng dụng phần mềm với mục đích tìm phần mềm phát triển có đáp ứng các yêu cầu được chỉ định hay không và xác định các lỗi để đảm bảo rằng sản phẩm không có khiếm khuyết để tạo ra sản phẩm chất lượng
1. Unit Testing
- Test ở mức độ cơ bản, test từng module nhỏ trong hệ thông do lập trình viên thực hiện. Là kiểu white box testing
- Unit test là kiểu white box testing
- Mục đích: để xác nhận rằng mỗi thành phần của phần mềm thực hiện đúng với thiết kế
2. Integration Testing
- Là kiểm thử tích hợp 1 nhóm các module riêng lẻ với nhau. Một dự án phần mềm bao gồm nhiều module phần mềm, được code bởi nhiều người khác nhau. Tích hợp thử nghiệm tập trung vào kiểm tra truyền dữ liệu giữa các module
- Mục đích: để tìm ra lỗi trong quá trình tích hợp các thành phần, module lại với nhau
3. System Testing
- Kiểm thử một hệ thống đã được tích hợp hoàn chỉnh để xác minh rằng nó đáp ứng được yêu cầu
- System test thuộc loại kiểm thử hộp đen. Kiểm thử hệ thống tập trung nhiều hơn vào các chức năng của toàn bộ hệ thống. Kiểm tra cả chức năng và giao diện, các hành vi của hệ thống 1 cách hoàn chỉnh, đáp ứng đúng với yêu cầu
- Mục đích: để đánh gia hệ thống tuân thủ đúng với đặc tả yêu cầu
4. Acceptance Testing
- Mức test này giống nhưu system test nhưng thường được khách hàng thực hiện test, mục đich là xem phần mềm có đáp ứng đúng yêu cầu cảu khách hàng chưa.
- Mục đích: để đánh giá hệ thống tuân thủ đúng với yêu cầu của khách hàng và có thể chấp nhận hay không chấp nhận bàn giao sản phẩm.
- Kiểm thử chấp nhập chia là ra 2 loại: Alpha và Beta
4.1 Alpha
- Là việc kiểm thử hoạt động chức năng thực tế hoặc giả lập do người dùng/ khách hàng tiềm năng hoặc 1 nhóm test độc lập thực hiện tại nơi sản xuất phần mềm.
- Alpha testing thường dùng cho phần mềm đóng gói sẵn đề bán là một hình thức kiểm thử chấp nhận nội bộ, trước khi phần mềm được tiến hành kiểm thử beta
4.2 Beta
- Được thực hiện sau alpha testing. Các phiên bản của phần mềm – Được biết như là các phiên bản beta – chúng được phát hành tới một số lượng giới hạn khán giả bên ngoài nhóm sản xuất phần mềm.
- Nó được thực hiện tại địa điểm của khách hàng, không phải nơi phát triển phần mềm.