Tìm hiểu về System Testing

Tram Ho

1. System testing là gì?

Kiểm thử hệ thống là một mức độ của tiến trình kiểm thử phần mềm khi các module và tích hợp các module đã được test. Mục đích của kiểm thử hệ thống là để đánh giá hệ thống phần mềm đã được tích hợp đầy đủ và hoàn chỉnh không, kiểm tra cách các thành phần tương tác với nhau và với toàn bộ hệ thống, từ đó đánh giá xem phần mềm có tuân thủ theo các yêu cầu đã đưa ra không.

Điểm khác nhau then chốt giữa Integration Test và System Test:

  • System Test chú trọng các hành vi và lỗi trên toàn hệ thống

  • Integration Test chú trọng sự giao tiếp giữa các đơn thể hoặc đối tượng khi chúng làm việc cùng nhau.

    Thông thường ta phải thực hiện Unit Test và Integration Test để bảo đảm mọi Unit và sự tương tác giữa chúng hoạt động chính xác trước khi thực hiện System Test.

System test được thực hiện bằng phương pháp kiểm thử hộp đen, tức là chỉ có các tính năng làm việc bên ngoài của phần mềm được đánh giá trong quá trình thử nghiệm này. Nó không đòi hỏi bất kỳ kiến thức nội bộ nào về coding, lập trình, thiết kế, v.v. và hoàn toàn dựa trên quan điểm của người dùng.

2. Lý do thực hiện System Testing:

Một số lý do để thực hiện system test này là:

  • Đảm bảo sản phẩm đáp ứng các tiêu chuẩn chất lượng.
  • Xác minh hệ thống phần mềm đáp ứng các yêu cầu chức năng, kỹ thuật và kinh doanh theo yêu cầu của khách hàng.
  • Thực hiện kiểm tra từ đầu đến cuối của sản phẩm phần mềm giúp ngăn ngừa lỗi hệ thống và sự cố trong quá trình thực hiện với môi trường thật.
  • Được thực hiện trong một môi trường tương tự như môi trường production, cho phép các nhà phát triển cũng như các bên liên quan có được ý tưởng về phản ứng của người dùng đối với sản phẩm.
  • Đó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 người dùng cuối.
  • Đảm bảo rằng đầu vào được cung cấp đầu ra / kết quả như mong đợi.

3. Các loại kiểm thử được sử dụng trong kiểm thử hệ thống

Giống như kiểm thử phần mềm, kiểm thử hệ thống cũng là sự kết hợp của các kỹ thuật kiểm thử đa năng, cho phép xác nhận hiệu suất và chức năng tổng thể của sản phẩm. Mỗi kỹ thuật kiểm tra này được tập trung vào các khía cạnh khác nhau của sản phẩm và phục vụ các yêu cầu khác nhau của khách hàng / người dùng. Những loại kiểm thử được sử dụng:

  • Kiểm tra cài đặt: Nó được sử dụng để kiểm tra chức năng mong muốn của phần mềm sau khi cài đặt thành công cùng với tất cả các yêu cầu cần thiết
  • Functional Testing ( Kiểm thử chức năng): Đánh giá phần mềm hoạt động đúng với yêu cầu đã đưa ra từ trước, đồng thười có thể lập ra danh sách các chức năng bổ sung để cải thiện sản phẩm
  • 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 phần mềm, tính linh hoạt trong việc xử lý các điều khiển và khả năng dáp ứng các mục tiêu của phần mềm
  • Load Testing: để biết được khả năng chịu tải thực tế của ứng dụng
  • Regression Testing ( Kiểm thử hồi quy): Đảm bảo không có vấn đề gì trong quá trình phát triển cũng như các chức năng ban đầu vẫn hoạt động đúng mà không phát sinh lỗi khi có sự thay đổi trong code
  • Kiểm tra bảo mật: Để đánh giá các tính năng bảo mật của phần mềm để đảm bảo, bảo vệ, tính xác thực, bảo mật và tính toàn vẹn của thông tin và dữ liệu.
  • Recovery Testing ( Kiểm thử khả năng phục hồi): 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, đáng tin cậy và có thể phục hồi thành công từ các sự cố có thể xảy ra
  • Migration Testing ( Kiểm thử di chuyển): được thực hiện để đảm bảo rằng phần mềm có thể được chuyển từ cơ sở hạ tầng hệ thống cũ sang cơ sở hạ tầng hệ thống hiện tại mà không có bất kỳ vấn đề nào.
  • Kiểm tra khả năng tương tác: 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.

Tùy thuộc vào từng yêu cầu của mỗi hệ thống mà Tester sẽ có những tiêu chí khác nhau để lựa chọn loại kiểm thử phù hợp, ví dụ dựa vào các tiêu chí

  • Người kiểm thử làm việc cho ai – Đây là một yếu tố chính trong việc xác định các loại kiểm thử hệ thống mà người kiểm tra sẽ sử dụng. Các phương pháp được sử dụng bởi các công ty lớn khác với các phương pháp được sử dụng bởi các công ty vừa và nhỏ.
  • Quỹ thời gian dành cho việc kiểm thử- Thời gian thường là những gì giới hạn chúng ta chỉ sử dụng các loại có liên quan nhất cho dự án phần mềm.
  • Tài nguyên phục vụ cho việc kiểm thử- Tất nhiên một số người kiểm thử sẽ không có tất cả các tài nguyên cần thiết để tiến hành loại kiểm thử . Ví dụ: nếu bạn là người thử nghiệm làm việc cho một công ty phát triển phần mềm lớn, bạn có thể có phần mềm kiểm tra tự động đắt tiền không có sẵn cho người khác.
  • Kiến thức của người kiểm thử – Mỗi loại kiểm thử sẽ yêu cầu những kiến thức nền tảng nhất đinh, vì vậy người kiểm thử phải đáp ứng được kiến thức đó thì mưới có thể tận dụng hết giá trị của loại kiểm thử
  • Kiểm tra ngân sách – Tiền trở thành một yếu tố không chỉ đối với các công ty nhỏ hơn và các nhà phát triển phần mềm riêng lẻ mà cả các công ty lớn.

Kết luận

System testing là một phần không thể thiếu trong vòng đời kiểm thử phần mềm, được thực hiện khi quá trình phát triển phần mềm hoàn tất và sản phẩm đã trải qua kiểm thử đơn vị và tích hợp. Thử nghiệm này không giới hạn ở một khía cạnh hoặc thành phần của sản phẩm mà được sử dụng để kiểm tra toàn bộ hệ thống phần mềm, điều này làm cho nó trở thành một phần quan trọng của bất kỳ chu kỳ thử nghiệm nào và do đó nó được thực hiện bởi tester để cung cấp những trải nghiệm tốt nhất cho người dùng

Tài liệu tham khảo

https://www.guru99.com/system-testing.html

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo