Software Testing (Kiểm thử phần mềm) là quá trình đánh giá và xác minh rằng một sản phẩm phần mềm đáp ứng đúng yêu cầu kỹ thuật, chức năng và phi chức năng trước khi phát hành. Testing đảm bảo chất lượng, độ tin cậy, hiệu suất và trải nghiệm người dùng của hệ thống phần mềm.
Đây là một bước bắt buộc và quan trọng trong vòng đời phát triển phần mềm (SDLC – Software Development Life Cycle), giúp phát hiện và loại bỏ lỗi (bugs), giảm rủi ro và tiết kiệm chi phí sửa chữa hậu kỳ. Testing có thể được thực hiện thủ công (manual) hoặc tự động (automated), tùy vào loại dự án, quy mô và mục tiêu kỹ thuật.
Các loại hình kiểm thử phần mềm phổ biến
- Unit Testing: Kiểm thử các đơn vị nhỏ nhất (functions, methods) của mã nguồn riêng lẻ.
- Integration Testing: Đảm bảo các module hoạt động đúng khi tích hợp với nhau.
- System Testing: Kiểm tra toàn bộ hệ thống theo yêu cầu thực tế.
- Acceptance Testing: Đánh giá phần mềm từ góc nhìn người dùng, xác nhận có thể bàn giao.
- Regression Testing: Đảm bảo những thay đổi mới không làm ảnh hưởng đến chức năng cũ.
- Performance Testing: Đo lường tốc độ, độ ổn định và khả năng chịu tải (load, stress test).
- Security Testing: Phát hiện các lỗ hổng bảo mật (XSS, SQLi, CSRF...)
- UI/UX Testing: Đảm bảo giao diện thân thiện, tương tác mượt mà trên nhiều thiết bị.