Quá trình kiểm thử phần mềm sẽ bao gồm nhiều giai đoạn khác nhau. Vậy System Test là gì, đây là giai đoạn nào? Đâu là tầm quan trọng của System Test trong quá trình kiểm thử? Hãy cùng Got It Vietnam khám phá qua bài viết này nhé!
Mục lục
System Test là gì?
Nói một cách dễ hiểu thì System Test là một hình thức kiểm thử. Trong đó, các kỹ sư sẽ theo dõi và đánh giá những tương tác của phần mềm đối với hệ thống. Họ làm việc này dựa trên những đặc tả và miêu tả chức năng đã có từ trước. System Test sẽ là đáp án cho câu hỏi: “Liệu hệ thống và phần mềm có thể hoạt động trơn tru cùng nhau hay không?”
System Test thuộc loại kiểm thử black box testing (Kiếm thử theo phương pháp hộp đen). Điều này có nghĩa là các hoạt động test sẽ diễn ra ở bên ngoài sản phẩm, đến trực tiếp từ trải nghiệm của người dùng và không yêu cầu kiến thức nội bộ về code, lập trình hay thiết kế.
Tầm quan trọng của System Test
Để hiểu tầm quan trọng của System Test, chúng ta có thể lấy ví dụ từ một xưởng lắp ráp xe ô tô.
Đầu tiên, người thợ máy của từng bộ phận sẽ phải đảm bảo sản phẩm đầu ra (như một chiếc ắc quy, bánh xe hay bộ phanh) không hề có lỗi nào. Trong quy trình kiểm thử phần mềm, đây thường được gọi là Unit Test (Kiểm thử Đơn vị)
Sau đó, các bộ phận sẽ được lắp ráp với nhau và được thử xem chúng có vận hành cùng nhau một cách hài hoà và trơn tru hay không. Với quá trình kiểm thử, đây là Integration Test (Kiểm thử Tích hợp).
Tuy nhiên, đâu phải cứ như vậy là chiếc xe có thể được giao ngay cho người dùng. Nó phải trải qua nhiều quá trình thử nghiệm những ảnh hưởng của ngoại cảnh. Liệu đá ném vào kính có vỡ luôn không? Nước nhiều cỡ nào thì xe bắt đầu chết máy? Việc thử nghiệm những ảnh hưởng của ngoại cảnh này là một ví dụ của System Test.
Để tóm gọn cho bạn đọc, System Test quan trọng bởi những lý do sau:
- System Test là một phần cần thiết và quan trọng của quá trình kiểm thử. Như đã trình bày ở trong ví dụ về chiếc xe ô tô ở trên, sẽ thật tai hại nếu quá trình kiểm thử thiếu đi System Test. Hãy cứ tưởng tượng bạn đang cần mua gấp một chiếc vé máy bay nhưng tốc độ load web lại cực kỳ chậm so với kỳ vọng, thật khó chịu phải không nào?
- Loại kiểm thử này mô phỏng sát với thực tế của trải nghiệm của người dùng, và điều này giúp bạn có thể nắm bắt được phản ứng của người dùng.
- Dĩ nhiên, System Test giúp giới hạn số lỗi xuất hiện ở các bước tiếp theo của quá trình kiểm thử, đảm bảo chất lượng của sản phẩm khi đến tay khách hàng.
Các loại kiểm thử trong System Test
Trên thực tế, có đến hơn 50 loại kiểm thử trong System Test. Tuy nhiên, sẽ có 7 loại kiểm thử chính và thường được sử dụng nhiều nhất bởi các công ty. 7 loại kiểm thử đó bao gồm:
1. Kiểm thử khả năng sử dụng
Bài kiểm thử này tập trung vào việc kiểm thử sự dễ dàng của người dùng trong việc sử dụng phần mềm, cũng như để xem end user có gặp vấn đề gì với phần mềm hay không.
2. Kiểm thử khối lượng tải
Đây là bài kiểm thử để xem phần mềm liệu có chịu được những sức ép về khối lượng dữ liệu phải tải trong điều kiện thực tế hay không.
3. Kiểm thử hồi quy
Kiểm thử hồi quy nhằm đảm bảo sẽ không có bug mới xuất hiện sau mỗi lần chỉnh sửa và các bug cũ sẽ không “tái xuất” trở lại.
4. Kiểm thử khả năng phục hồi
Đây là loại hình kiểm thử để test xem phần mềm có đáng tin cậy và có thể phục hồi nhanh chóng từ những lần sập (crash) hay không
5. Kiểm thử di chuyển
Kiểm thử di chuyển được dùng để xác định xem quá trình di chuyển phần mềm từ cấu hình cũ sang cấu hình mới có trơn tru hay không
6. Kiểm thử chức năng
Bài kiểm thử chức năng bao gồm việc suy nghĩ thêm về những chức năng có thể hoàn thiện sản phẩm. Tester có thể sẽ lập một danh sách về những chức năng này.
7. Kiểm thử với phần cứng/phần mềm
Đây là lúc tester dồn sự tập trung của họ vào tương tác giữa phần cứng/phần mềm với sản phẩm.
Việc sử dụng bài kiểm tra nào sẽ còn phụ thuộc vào nhiều yếu tố. Ví dụ, khách hàng của bạn là ai, tài nguyên cũng như thời gian dành cho tester như thế nào, ngân sách hoặc kiến thức của tester về các bài kiểm tra ra sao. Do đó, không có một bài kiểm tra cố định nào với mọi tester.
System Test Plan nên có những phần nào?
Test Plan (Kế hoạch Kiểm thử) là 1 bản kế hoạch trong đó liệt kê mục đích, mục tiêu và các hạng mục cần được test. Ngoài ra, trong Test Plan cũng có quy định về những thứ phải được test và không cần test, chiến thuật kiểm thử, v.v. Test Plan được sinh ra để giúp quá trình kiểm thử ngắn nhưng hiệu quả hơn.
Một bản System Test Plan nên có những phần sau:
- Mục tiêu và mục đích của kiểm thử hệ thống
- Phạm vi công việc (Những tính năng nào phải test, tính năng nào không?)
- Tiêu chí chấp nhận kiểm thử: Những tiêu chí nào sẽ được sử dụng để đánh giá phần mềm có được chấp nhận hay không?
- Tiêu chí Khởi đầu/Kết thúc: Khi nào thì bài test có thể bắt đầu và khi nào thì chúng có thể kết thúc
- Lịch trình kiểm thử: Quy định về thời gian bắt đầu và kết thúc của mỗi phần, cũng như toàn bộ quá trình kiểm thử hệ thống
- Chiến thuật kiểm thử: Những kỹ thuật, phương pháp được sử dụng
- Tài nguyên: Những tài nguyên nào cần được sử dụng, với số lượng và vai trò như thế nào?
- Môi trường kiểm thử: Quá trình kiểm thử diễn ra trong môi trường nào? Hệ thống vận hành nào, nền tảng nào?
- Trường hợp kiểm thử: Danh sách những trường hợp kiểm thử sẽ được đưa vào thực hiện
- Giả định
Got It Vietnam hi vọng qua bài viết này, các bạn kỹ sư có thêm kiến thức về System Test là gì và vai trò của System Test trong quá trình kiểm thử.