Sự khác nhau giữa System testing và Acceptance Testing

Trong vòng đời kiểm thử phần mềm có rất nhiều giai đoạn khác nhau . Đối với một nhân viên kiểm thử phần mềm khái niệm kiểm thử hệ thống (system testing) và kiểm thử chấp nhận (Acceptance testing) là quá quen thuộc nhưng không phải ai cũng biết được sự khác nhau giữa hai khái niệm này, vì vậy trong bài viết này mình xin giới thiệu về sự khác nhau giữa kiểm thử hệ thống và kiểm thử chấp nhận

Screen Shot 2016-06-23 at 9.11.44 AM.png

1. System testing là gì ?

  • Kiểm thử một hệ thống đã được tích hợp hoàn chỉnh để xác minh rằng nó đáp ứng được yêu cầu.
  • Kiểm thử hệ thống bao gồm kiểm thử hộp đen vì vậy các kiến thức về thiết kế nội bộ hoặc cấu trúc hoặc code không cần thiết cho loại kiểm thử phần mềm này.
  • Kiểm thử hệ thống bao gồm kiểm thử chức năng và phi chức năng.
  • Kiểm thử hệ thống tập trung nhiều hơn vào các chức năng của toàn bộ hệ thống.
  • Các trường hợp kiểm thử hệ thống bao gồm các chức năng của sản phẩm hoàn chỉnh và được thực hiện các trường hợp kiểm thử mức độ cao.
  • Các hành vi của ứng dụng hoàn chỉnh được kiểm tra để đáp ứng các yêu cầu quy định.
  • Các trường hợp kiểm thử và dữ liệu kiểm thử được thực hiện và các dữ liệu thực tế không được sử dụng trong loại kiểm thử này.
  • Trong kiểm thử tích hợp hệ thống sẽ tích hợp các mô-đun khác nhau và kiểm tra giao diện giữa chúng để kiểm tra tính toàn vẹn dữ liệu.
  • Trong khi thực hiện quá trình kiểm thử hệ thống, kiểm tra tính đúng đắn được thực hiện bởi nhân viên kiểm thử.

Có các kỹ thuật kiểm thử khác nhau được sử dụng trong kiểm thử hệ thống:

  • Kiểm thử chức năng
  • Kiểm thử giao diện , kiểm thử tính sử dụng
  • Kiểm thử bảo mật
  • Kiểm thử hiệu năng

2. Acceptance Testing là gì ?

  • Đây là một kiểm thử liên quan đến nhu cầu của người sử dụng, yêu cầu và quy trình kinh doanh được tiến hành để xác định có hay không một hệ thống đáp ứng các tiêu chí chấp nhận và kiểm tra hệ thống đáp ứng yêu cầu của khách hàng.
  • Kiểm thử chấp nhận kiểm thử các chức năng để kiểm tra hành vi của hệ thống bằng cách sử dụng dữ liệu thực tế. Nó cũng được gọi là thử nghiệm người dùng doanh nghiệp.
  • Kiểm thử chấp nhận được thực hiện bởi người dùng cuối để kiểm tra hệ thống được xây dựng để phù hợp với yêu cầu kinh doanh của tổ chức.
  • Trong kiểm thử này, tất cả các giao diện đã được kết hợp và hệ thống đã hoàn thành và đã được kiểm tra. Người dùng cuối cũng thực hiện các kiểm thử để kiểm tra khả năng sử dụng của hệ thống.
  • Nhiều kỹ thuật kiểm thử chức năng sử dụng cho loại này là phân tích giá trị biên giới, phân vùng tương đương, bảng quyết định. Đây là loại kiểm tra tập trung chủ yếu vào các kiểm thử hợp lệ của hệ thống.

Trong kiểm thử chấp nhận có hai mức độ kiểm thử là Alpha testing và Beta testing

  • Alpha Testing: Kiểm thử Alpha cũng được gọi là kiểm thử trang web off. Trong kiểm thử này quá trình kiểm thử sẽ kiểm tra các ứng dụng với sự hiện diện của người dùng cuối trong môi trường tổ chức.
  • Beta Testing: Kiểm thử Beta nên được thực hiện bởi người dùng cuối trong môi trường riêng của họ với sự hiện diện của đội phát hành.

3. Sự khác nhau giữa System Testing và Acceptance Testing

System Testing Acceptance Testing
1. Kiểm thử hệ thống được thực hiện để kiểm tra xem phần mềm đáp ứng các yêu cầu đã quy định. 1. Kiểm thử chấp nhận là kiểm thử chức năng, được thực hiện để kiểm tra xem phần mềm đáp ứng các yêu cầu của khách hàng.
2. Kiểm thử hệ thống được thực hiện bởi những người phát triển và các nhân viên kiểm thử. 2. Kiểm thử chấp nhận được thực hiện bởi khách hàng , người dùng và các bên liên quan.
3. Kiểm thử hệ thống kiểm tra cả các yêu cầu chức năng và phi chức năng 3. Kiểm thử chấp nhận kiểm tra các yêu cầu chức năng
4. Trong kiểm thử hệ thống, sẽ kiểm tra cách toàn bộ hệ thống được thực hiện, thực hiện kiểm tra các chức năng. 4. Trong kiểm thử chấp nhận sẽ kiểm tra hệ thống đáp ứng các nhu cầu kinh doanh của tổ chức, khả năng sử dụng của sản phẩm
5. Được thực hiện với dữ liệu demo và không phải là dữ liệu thực tế. 5. Được thực hiện với các dữ liệu thời gian thực tế.
6. Kiểm thử phần mềm cho đặc tả yêu cầu đầy đủ bao gồm cả phần cứng và phần mềm, bộ nhớ và số lượng người dùng. 6. Kiểm thử phần mềm cho các nhu cầu sử dụng và nhu cầu của người sử dụng được đáp ứng trong phát triển phần mềm.
7. Kiểm thử hệ thống bao gồm kiểm thử hệ thống và kiểm thử tích hợp hệ thống 7. Kiểm thử chấp nhận bao gồm kiểm thử alpha và kiểm thử beta.
8. Kiểm thử hệ thống được tiến hành trước kiểm thử chấp nhận 8. Kiểm thử chấp nhận được thực hiện sau kiểm thử hệ thống.
9. Kiểm thử hệ thống liên quan đến kiểm thử phi chức năng là hiệu suất tải (performance load) và kiểm thử stress . 9. Kiểm thử chấp nhận liên quan đến kiểm thử chức năng đó là phân tích giá trị biên, phân vùng tương đương và bảng quyết định.
10. Kiểm thử hệ thống được thực hiện bởi nhóm các nhân viên kiểm thử, nó sẽ chứa nhiều trường hợp kiểm thử bất thường (abnormal test cases) . 10. Kiểm thử chấp nhận chứa nhiều các trường hợp kiểm thử thông thường (normal test cases) .
11. Các lỗi tìm thấy trong kiểm thử hệ thống có thể được sửa dựa trên độ ưu tiên. 11. Các lỗi tìm thấy trong kiểm thử chấp nhận được xem như là sự thất bại của sản phẩm.
12. Kiểm thử hệ thống cho tất cả các dữ liệu đầu vào giả có thể. 12. Kiểm thử với các dữ liệu ngẫu nhiên

Làm thế nào kiểm thử hệ thống và kiểm thử chấp nhận được thực hiện

Quan điểm Kiểm thử hệ thống Kiểm thử chấp nhận
Điều kiện tiên quyết 1. Unit testing được hoàn thành 1. Kiểm thử hệ thống được hoàn thành
2. Phần mền đã hoàn thành và đã được develop 2. Yêu cầu doanh nghiệp có sẵn
3. Môi trường kiểm thử phần mềm đã sẵn sàng. 3. Môi trường kiểm thử chấp nhận sẵn sàng.
Tiến trình 1. Tạo kế hoạch kiểm thử hệ thống. 1. Phân tích các yêu cầu doanh nghiệp
2. Tạo các trường hợp kiểm thử hệ thống. 2. Tạo một kế hoạch kiểm thử chấp nhận.
3. Tạo dữ liệu kiểm thử 3. Xác định các kịch bản kiểm thử chấp nhận.
4. Thực hiện test các trường hợp kiểm thử (test case) 4. Tạo các trường hợp kiểm thử chấp nhận.
5. Báo cáo lỗi 5. Thực hiện test các trường hợp kiểm thử chấp nhận.
6. Lặp lại các bước 6. Xác nhận các mục tiêu doanh nghiệp.
Tiêu chí hoàn thành 1. Tất cả các lỗi có độ ưu tiên cao và các lỗi phải sửa chưa ngay lập tức được sửa . 1. Không có các lỗi quan trọng còn chưa được sửa.
2. Bất kỳ lỗi có độ ưu tiên vừa, được xác nhận bởi người quản lý phân tích kinh doanh / người quản lý dự án. 2. Quá trình kinh doanh đang làm việc tốt.
3. Tất cả các trường hợp kiểm thử đã được passed. 3. Có một dấu hiệu hoàn thành trên kiểm thử chấp nhận từ các khách hàng doanh nghiệp hoặc các bên liên quan.
4. Không có vấn đề liên quan đến bảo mật 4. Không có vấn đề liên quan đến bảo mật

Trên đây là sự khác nhau giữa System testing và Accept testing hy vọng qua bài việt này mọi ng có thể hiểu rõ hơn về hai giai đoạn kiểm thử này.

Nguồn tham khảo

http://www.softwaretestingclass.com/difference-between-system-testing-and-acceptance-testing/

http://science-technology.vn/?p=1913

http://www.testingvn.com/viewtopic.php?f=9&t=25