Kiểm Thử Hệ Thống Là Gì ? (What Is System Testing ?)

Kiểm Thử Hệ Thống Là Gì ?

Trong kiểm thử phần mềm, người kiểm thử thực hiện nhiều cấp độ kiểm thử khác nhau. Từ unit testing tới acceptance testing,  bảo đảm rằng tất cả các thành phần của sản phẩm được kiểm tra kỹ lưỡng, không có bất kỳ trở ngại nào. Được thực hiện sau lúc integration testing và trước khi acceptance tests, system test là một trong những cấp độ kiểm thử phần mềm, sẽ được thảo luận chi tiết bên dưới.

I. Kiểm Thử Hệ Thống Là Gì

Kiểm thử hệ thống là 1 cách theo dõi và đánh giá hành vi của sản phẩm hoặc hệ thống phần mềm hoàn chỉnh và đã được tích hợp đầy đủ, dựa vào đặc tả và các yêu cầu chức năng đã được xác định trước. Đó là giải pháp cho câu hỏi “Liệu hệ thống hoàn chỉnh có hoạt động đúng với yêu cầu hay không?”

System test được thử nghiệm trong 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ề codinh, 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.

Kiểm Thử Hệ Thống Là Gì
Kiểm Thử Hệ Thống Là Gì

II. Đặc Điểm Của System Test

  • Trong Vòng đời phát triển phần mềm (SDLC), đây là thử nghiệm thực hiện nhiệm vụ kiểm tra đa số phần mềm hoặc hệ thống.
  • Đánh giá chức năng của hệ thống hoàn chỉnh theo yêu cầu chức năng được quyết định trước.
  • Cùng với những yêu cầu chức năng, nó cũng xác minh và xác nhận các yêu cầu nghiệp vụ và kiến trúc của phần mềm.
  • Staging server có thể hoạt động như một môi trường để thực hiện thử nghiệm.
  • Một loại thử nghiệm hộp đen.
  • Nó có thể bao gồm, cả thử nghiệm chức năng và phi chức năng.
  • Giảm sự cố và bảo trì sau khi triển khai.
  • Yêu cầu đội ngũ thử nghiệm độc lập với nhóm phát triển.
Đặc Điểm Của System Test
Đặc Điểm Của System Test

III. Khi Nào Thực Hiện System Testing

Như đã nêu trước đó, vòng đời kiểm thử phần mềm bao gồm nhiều cấp độ kiểm thử khác nhau, điều này khiến chúng ta phải hiểu khi nào, trong STLC mà system testing được thực hiện bởi những người kiểm thử. Dưới đây là các tình huống lúc người kiểm thử có thể thực hiện system testing, bằng tay hoặc với sự hỗ trợ của các công cụ kiểm tra.

  • Sau lúc hoàn thành unit & integration testing.
  • Trước khi bắt đầu acceptance testing
  • Sau khi tích hợp hoàn toàn các mô-đun.
  • Sau khi hoàn thành quy trình phát triển phần mềm, dựa trên đặc tả yêu cầu phần mềm (SRS).
  • Sau khi môi trường thử nghiệm sẵn sàng.
Khi Nào Thực Hiện System Testing
Khi Nào Thực Hiện System Testing

IV. Điều Kiện Tiên Quyết Của System Testing

Dưới đây là một số điều kiện tiên quyết quan trọng của system testing:

  • Phải bảo đảm phần mềm được thống nhất kiểm tra.
  • Kiểm thử tích hợp đã được thực hiện trên sản phẩm.
  • Phần mềm nên được phát triển hoàn chỉnh.
  • Trước khi thực hiện quy trình kiểm tra hệ thống, phải đảm bảo rằng môi trường kiểm tra đã sẵn sàng.
Điều Kiện Tiên Quyết Của System Testing
Điều Kiện Tiên Quyết Của System Testing

V. Các Loại Kiểm Thử Hệ Thống

Dưới đây là danh sách các loại kiểm thử hệ thống mà các công ty phát triển phần mềm lớn thường sử dụng:

  1. 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 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 những mục tiêu.
  2. Kiểm thử tải – Load Testing: Kiểm thử tải là cần thiết để biết rằng 1 phần mềm sẽ thực hiện theo tải thực tế.
  3. Kiểm thử hồi quy – Regression Testing: Kiểm thử hồi quy bao gồm kiểm thử được thực hiện để đảm bảo không có sự thay đổi nào phát sinh ra lỗi mới trong quá trình triển phần mềm. Nó cũng bảo đảm không có lỗi cũ xuất hiện từ việc bổ sung các module mới theo thời gian.
  4. Kiểm thử phục hồi – Recovery Testing: Kiểm thử phục hồi được thực hiện để chứng minh một giải pháp phần mềm là đáng tin cậy và có thể phục hồi thành công lúc các sự cố xảy ra.
  5. Kiểm thử di chuyển – 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 m mà không gặp sự cố nào.
  6. Kiểm thử chức năng – Functional Testing: Còn được gọi là kiểm thử tính đầy đủ của chức năng. Tester có thể lập danh sách các chức năng bổ sung mà sản phẩm có thể phải cải thiện trong quá trình kiểm thử chức năng.
  7. Kiểm thử phần cứng / phần mềm – Hardware/Software Testing: IBM gọi kiểm thử phần cứng / phần mềm là Kiểm thử CTNH / SW, là khi tester tập trung sự chú ý của mình vào các tương tác giữa phần cứng và phần mềm trong quá trình kiểm thử hệ thống.
Các Loại Kiểm Thử Hệ Thống
Các Loại Kiểm Thử Hệ Thống

VI. Quy Trình Kiểm Thử Hệ Thống

Bước 1: Lên plan test

Bước 2: Phân tích và thiết kế ( Tạo testcase và các bước kiểm tra chi tiết cho mỗi version)

Bước 3: Thực thi test bao gồm thực hiện test và chạy test( chuẩn bị data test, chạy case và so sánh kết quả)

Bước 4: Đánh giá kết quả thực thi và báo cáo kết quả test:

Bước 5: Đóng hoạt động kiểm thử

Quy Trình Kiểm Thử Hệ Thống
Quy Trình Kiểm Thử Hệ Thống

VII. Ví Dụ Về Kiểm Thử Hệ Thống

Một nhà sản xuất xe hơi thường sẽ không sản xuất toàn bộ chiếc xe. Mỗi thành phần của xe như ghế ngồi, tay lái, gương, cáp, động cơ, khung xe, bánh xe, v.v sẽ.được sản xuất riêng biệt,

Sau khi sản xuất, từng thành phần sẽ được kiểm tra độc lập để xác định xem có hoạt động đúng cách hay không và xác minh này được gọi là Unit testing/kiểm thử Đơn vị.

Bây giờ, với việc một thành phần được ráp với thành phần khác, chúng sẽ được kiểm tra xem nếu việc lắp ráp gây ra bất kỳ tác động nào đến chức năng của từng thành phần và liệu cả hai thành phần này có hoạt động trơn tru cùng với nhau hay không, thì được gọi là kiểm thử tích hợp.

Và khi tất cả các bộ phận được lắp ráp, có phải chiếc xe đã sẵn sàng? Thực ra thì chưa.

Toàn bộ chiếc xe cần được kiểm tra khả năng thỏa mãn theo các yêu cầu cụ thể như: vô lăng điều khiển có mượt mà, phanh xe, bánh xe và các chức năng khác có hoạt động bình thường?, xe liệu vẫn chạy bền bỉ sau 2500 dặm liên tục, màu xe mcos hài hòa, xe có thể lái được trên bất kỳ loại địa hình nào, từ bằng thẳng đến gập ghềnh hay không v.v… Toàn bộ quá trình kiểm tra này được gọi là kiểm thử hệ thống và hoàn toàn tách biệt với kiểm thử tích hợp.

Ví Dụ Về Kiểm Thử Hệ Thống
Ví Dụ Về Kiểm Thử Hệ Thống

VIII. Sự Khác Biệt Giữa System Testing & 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 những 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 tới 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

Bài viết liên quan

guest
0 Thảo Luận & Hỏi Đáp
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
Hotline: 0984.876.750
Chat Facebook
Gọi điện ngay