1. Khái niệm
- System testing là quá trình kiểm tra của một sản phẩm đã hoàn chỉnh và tích hợp đầy đủ. Sau khi Integration test và Unit test
- Thông thường 1 sản phẩm phần mềm chỉ được test trên 1 vì môi trường demo, nhưng system test đảm bảo cho hệ thống vận hành trên nhiều môi trường khác nhau, tích hợp với nhiều phần mềm và hệ thống khác nhau.
- System test thuộc loại kiểm thử hộp đen. System liên quan đến các hoạt động bên ngoài của phần mềm từ quan điểm của người sử dụng.
2. Tại sao system test là cần thiết?
System test sẽ thực hiện các công việc sau:
- Sau khi hoàn thành quá trình test tích hợp chúng ta cần phải kiểm tra thêm về độ tương thích và tương tác với các thiết bị ngoại vi bên ngoài của ứng dụng để kiểm tra tính khả dụng của nó.
- System test là việc xác minh kiểm tra kỹ lưỡng của mỗi đầu vào trong các ứng dụng để kiểm tra các kết quả mong muốn.
- Thử nghiệm các kinh nghiệm của người dùng với các ứng dụng.
3. Các loại chiến lượt system testing
System test có hơn 50 loại, ở đây tôi chỉ giới thiệu 1 số loại system test điển hình sau:
- Usability Testing – Kiểm tra tính khả dụng của ứng dụng, chủ yếu tập trung kiểm tra sự dễ sử dụng, tính linh hoạt, tính thân thiện của sản phẩm.
- Load Testing – Kiểm tra tốc độ vận hành của sản phẩm, một sản phẩm tốt là 1 sản phẩm phải vận hành với tốc độ cao và có thể chịu được sức tải lớn khi có nhiều user truy cập.
- Regression Testing – Kiểm thử hồi quy tập trung vào việc tìm kiếm lỗi sau khi xảy ra một thay đổi mã chính. Cụ thể, nó tìm cách phát hiện ra các hồi quy của phần mềm hoặc các lỗi cũ quay trở lại. Những hồi quy như vậy xảy ra bất cứ khi nào chức năng phần mềm trước đây đang hoạt động giờ tạm ngưng như đã định. Thông thường, những hồi quy xảy ra như một hệ quả không lường trước được những thay đổi chương trình, khi một phần mới của phần mềm được phát triển xung đột với mã tồn tại trước đó. Phương pháp phổ biến của kiểm thử hồi quy bao gồm chạy lại những kiểm thử trước đó và kiểm thử xem lỗi cố định trước đây tại sao lại xuất hiện. Độ sâu của kiểm thử phụ thuộc vào các nguy cơ và giai đoạn trong quá trình phát hành các tính năng bổ sung. Chúng có thể được hoàn tất khi thay đổi thêm vào đầu hoặc cuối bản phát hành, cũng có thể được có mức độ nguy hiểm thấp khi thực hiện kiểm thử tích cực trên mỗi tính năng.
- Recovery Testing – Kiểm thử phục hồi là kiểm thử được thực hiện sau khi có các sự cố hệ thống dẫn đến chương trình lỗi, không hoạt động được. Kiểm thử phục hồi được thực hiện để đảm bảo chương trình sau khi khắc phục lỗi trên không xảy ra bug
- Migration Testing – Kiểm thử di động được thực hiện để đảm bảo tính linh động của phần mềm, phần mềm có thể di chuyển được chuyển từ cơ sở hạ tầng hệ thống cơ sở hạ tầng hệ thống cũ để hiện tại không có bất kỳ vấn đề
- Functional Testing – Kiểm thử chức năng nhằm đảm bảo chức năng phần mềm được vận hành theo đúng mục đích đưa ra
- Hardware/Software Testing – Đây là khi các thử nghiệm tập trung chú ý về sự tương tác giữa các phần cứng và phần mềm trong quá trình thử nghiệm hệ thống.
4. Kết Luận
Trong quá trình hoàn thiện sản phẩm system test là vô cùng quan trọng, system test sẽ đảm bảo cho ứng dụng của bạn có khả năng tương thích cao với môi trường thực trước khi sản phẩm được ra mắt.