System Testing - Kiểm thử hệ thống

1. System Testing là gì?

  • 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.
  • Tất cả các mô-đun / thành phần được tích hợp để xác minh xem hệ thống có hoạt động như mong đợi hay không.
  • System testing thuộc loại kiểm thử hộp đen, hoạt động kiểm thử được thực hiện bên ngoài của phần mềm, được đánh giá bởi sự hỗ trợ của tài liệu yêu cầu và nó hoàn toàn dựa trên quan điểm của người dùng.

2. Tại sao thực hiện System Testing là cần thiết?

  • Kiểm thử hệ thống được thực hiện khi hệ thống đã được tích hợp đầy đủ các chức năng bao gồm cả các thiết bị ngoại vi bên ngoài, kiểm thử các thành phần tương tác với nhau và với toàn bộ hệ thống.
  • Kiểm thử kỹ lưỡng mọi đầu vào và đầu ra mong muốn.
  • Nó giúp giảm thiểu xử lý sự cố sau khi triển khai và các cuộc gọi hỗ trợ.
  • Kiểm thử trải nghiệm của người dùng với ứng dụng. Việc thực hiện System testing này rất quan trọng và nó đóng một vai trò quan trọng trong việc cung cấp một sản phẩm chất lượng cho khách hàng.

3. Quy trình viết các trường hợp kiểm tra hệ thống

Các trường hợp kiểm thử hệ thống bao gồm tất cả các trường hợp sử dụng và các trường hợp kiểm tra chức năng, phi chức năng, giao diện người dùng, các trường hợp kiểm tra liên quan đến bảo mật. Cách viết test case cho System testing cũng giống như cách viết để kiểm tra chức năng.

File test case cho System testing thường gồm các trường sau:

  • Test Case ID
  • Test Suite name
  • Description - Mô tả trường hợp thử nghiệm sẽ được thực hiện.
  • Steps - Các bước mô tả cách thực hiện kiểm tra.
  • Test Data - Dữ liệu giả được chuẩn bị để kiểm tra ứng dụng.
  • Expected Result - Kết quả dự kiến theo tài liệu yêu cầu được cung cấp.
  • Actual Result - Kết quả sau khi thực hiện trường hợp thử nghiệm được cung cấp.
  • Pass/Fail - So sánh kết quả thực tế và dự kiến sẽ xác định được kết quả case Pass/Fail
  • Remarks

Dưới đây là một số tình huống kiểm thử mẫu cho Trang web thương mại điện tử:

  • Trang web khởi chạy đúng với tất cả các trang, tính năng và logo có liên quan.
  • Người dùng có thể đăng ký / đăng nhập vào trang web.
  • Có thể thêm sản phẩm vào giỏ hàng, thanh toán và nhận được xác nhận qua email hoặc SMS hoặc gọi điện.
  • Kiểm tra số lượng người dùng (được xác định như trong tài liệu yêu cầu) có thể truy cập trang web cùng một lúc.
  • Trang web khởi chạy đúng trong tất cả các trình duyệt chính và các phiên bản mới nhất của chúng
  • Trang web khởi chạy đúng trên tất cả các nền tảng được hỗ trợ như Windows, Linux, Mobile, ...
  • Chính sách hoàn trả hướng dẫn sử dụng, chính sách quyền riêng tư và điều khoản sử dụng trang web có sẵn dưới dạng tài liệu riêng biệt và hữu ích cho bất kỳ người dùng mới hoặc người dùng lần đầu.
  • Nội dung của các trang được căn chỉnh chính xác, được quản lý tốt và không có lỗi chính tả.
  • Thời gian chờ phiên được thực hiện và làm việc như mong đợi
  • Người dùng hài lòng sau khi sử dụng trang web hoặc nói cách khác là không cảm thấy khó khăn khi sử dụng trang web.

4. Các loại kiểm thử hệ thống

System testing được gọi là superset của tất cả các loại thử nghiệm vì tất cả các loại thử nghiệm chính đều được đề cập trong đó. Mặc dù trọng tâm về các loại thử nghiệm có thể khác nhau trên cơ sở sản phẩm, quy trình tổ chức, thời gian và yêu cầu của khách hàng.

  • Kiểm tra chức năng - 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
  • Kiểm tra khả năng Recoverability Testing: Nó được thực hiện bằng cách cố làm cho phần mềm bị crash hoặc fail, để đánh giá khả năng phục hồi của sản phẩm một cách nhanh chóng.
  • Kiểm tra khả năng tương tác - Interoperability Testing: Nó đảm bảo khả năng phần mềm tương thích và tương tác với phần mềm hoặc hệ thống khác và các thành phần của chúng.
  • Kiểm tra năng suất - Performance Testing: Nó được thực hiện để kiểm tra phản ứng, độ ổn định, khả năng mở rộng, độ tin cậy và các số liệu chất lượng khác của phần mềm dưới các khối lượng công việc khác nhau.
  • Kiểm tra khả năng mở rộng - Scalability Testing: Để đảm bảo các khả năng mở rộng quy mô của hệ thống theo các thuật ngữ khác nhau như chia tỷ lệ người dùng, chia tỷ lệ theo địa lý và mở rộng tài nguyên.
  • Kiểm tra độ tin cậy - Reliability Testing: Đảm bảo hệ thống có thể được vận hành trong thời gian dài hơn mà không phát triển lỗi.
  • Kiểm tra hồi quy - Regression Testing: Đảm bảo hệ thống ổn định khi hệ thống tích hợp các hệ thống con và nhiệm vụ bảo trì khác nhau.
  • Kiểm tra bảo mật - Security Testing: Để đảm bảo rằng hệ thống không cho phép truy cập trái phép vào dữ liệu và tài nguyên.
  • Kiểm thử khả năng sử dụng - Usability Testing: kiểm thử khả năng sử dụng chủ yếu tập trung vào việc người dùng dễ dàng sử dụng ứng dụng, linh hoạt trong việc kiểm soát xử lý và khả năng của hệ thống để đáp ứng các mục tiêu.

Tài liệu tham khảo: https://www.softwaretestinghelp.com/system-testing/ https://www.professionalqa.com/system-testing