System Testing là gì – Hướng dẫn tối ưu cho người mới bắt đầu

Đã đăng vào thg 12 17, 2019 7:15 AM 18 phút đọc

System Testing là gì?

System Testing nghĩa là check toàn thể hệ thống. Toàn bộ các module/components được tích hợp theo thứ tự để kiểm tra rằng hệ thống làm việc đúng hay không.

System Testing được thực hiện sau Integration Testing. Nó đóng vai trò trọng yếu trong việc cho ra đời một sản phẩm chất lượng tốt.

Quy trình check tích hợp hệ thống Hartware & PM để kiểm tra rằng hệ thống đáp ứng yêu cầu đặc tả.

Verification (Kiểm tra): Confirm bằng sự kiểm soát & quy định của những envidence khách quan rằng các yêu cầu rõ ràng và cụ thể đã được đáp ứng.

Nếu một áp dụng có 3 module ?, Ɓ, ₵, thì việc check phối hợp module ? & Ɓ, hoặc Ɓ & ₵, hoặc ? & ₵ được biết là Integration testing. Còn việc tích hợp cả 3 module & check nó như một hệ thống hoàn chỉnh được gọi là System Testing.

Chẳng hạn về System Testing

Một nhà cung cấp ô tô không sản xuất toàn thể chiếc xe. Mà từng thành phần của chiếc xe được chia ra, chẳng hạn: ghế, gương, cable, động cơ, khung xe, bánh xe, …

Sau khoảng thời gian chế tác từng phòng ban, nó sẽ được check độc lập xem nó có hoạt động đúng hay không, & đó là Unit Testing.

Khi mỗi phần đã hoạt động đúng, chúng sẽ được lắp ráp với phần khác. Việc lắp ráp đó được kiểm soát xem có bất kỳ vấn đề gì xảy ra với tính năng của từng thành phần hay không, & liệu cả 2 thành phần có hoạt động bên nhau như trông đợi hay không. Đó được gọi là Integration testing.

Khi toàn bộ các thành phần được lắp ráp với nhau, & chiếc xe đã sẵn sàng. Nhưng thực ra nó chưa hề sẵn sàng.

Tất cả chúng ta cần kiểm soát toàn thể chiếc xe trên những góc cạnh khác nhau theo những yêu cầu được xác nhận như: xe có hoạt động suôn sẻ không, breaks, bánh răng & những tính năng khác đều hoạt động đúng, chiếc xe không có bất kỳ triệu chứng dị thường nào sau khoảng thời gian đã đi 2500 dặm liên tục, màu sắc của xe đơn giản được chấp thuận & yêu thích, xe có thể chạy trên nhiều loại đường phẳng phiu, gập ghềnh, … Việc check này được gọi là System testing, & nó không liên quan gì với Integration testing.

Chẳng hạn này hoạt động theo cách nó được trông đợi & KH đã bị thuyết phục về những phấn đấu thiết yếu cho System testing.

Tôi nêu chẳng hạn này để nhấn mạnh tầm trọng yếu của việc system check: bất kỳ hệ thống nào cũng nên thực hiện việc system check.

Cách tiếp cận

System check được thực hiện khi integration testing được giải quyết.

Nó chính là kiểu check black box. Việc check nhận xét hoạt động của hệ thống từ quan niệm của người dùng, với sự trợ giúp của các ebook đặc tả. Nó không yêu cầu bất kỳ tri thức nội bộ về hệ thống như thiết kế hoặc kết cấu code.

Nó chứa các khu vực tính năng & phi tính năng của áp dụng/sản phẩm.

Tiêu chuẩn trọng điểm: Các tiêu chuẩn trọng điểm bao gồm:

  1. Giao diện bên ngoài
  2. Đa năng & các tính năng cầu kỳ
  3. Bảo mật
  4. Bình phục
  5. Hiệu năng
  6. Vận hành & user tương tác suôn sẻ với hệ thống
  7. Khả năng seting
  8. Ebook
  9. Tính sử dụng
  10. Load/ căng thẳng

Vì sao cần System Testing (ST)?

  1. Rất trọng yếu để giải quyết một chu trình kiểm thử đầy đủ, & ST là một công đoạn nơi điều đó được thực hiện.
  2. ST được thực hiện trong môi trường tương đương với môi trường production, cho nên các bên liên quan có thể lấy được những sáng kiến tốt từ phản ứng của người dùng.
  3. Nó giúp cắt giảm việc giải quyết sự cố sau khoảng thời gian triển khai & các cuộc gọi trợ giúp
  4. Trong công đoạn STLC (PM Testing Life Cycle), Thiết kế áp dụng & yêu cầu Business đều được kiểm thử
Xem Thêm  Nối bằng Python - Cách nối vào một danh sách hoặc một mảng - thêm giá trị vào danh sách python

ST là rất trọng yếu & nó đóng một vai trò trọng yếu trong việc cho ra đời sản phẩm chất lượng đến người dùng.

Hãy cùng xem tầm trọng yếu của System testing qua các chẳng hạn dưới đây bao gồm các bổ phận mỗi ngày của http://phptravels.vn/:

  • Điều gì xảy ra nếu một giao dịch trực tuyến bị lỗi sau khoảng thời gian xác định?
  • Điều gì xảy ra nếu một mặt hàng được đặt trong giỏ hàng của một website trực tuyến không cho phép đặt mua?
  • Điều gì xảy ra nếu mong muốn tạo nhãn mới trong account Gmail & có lỗi khi nhấn vào tab Create?
  • Điều gì xảy ra nếu hệ thống bị crash khi việc tải tăng trưởng trên hệ thống?
  • Điều gì xảy ra nếu seting một PM trên hệ thống mất thời gian hơn trông đợi & vào cuối cùng lại bị lỗi?
  • Điều gì xảy ra nếu thời gian bình luận của website lâu hơn nhiều đối với trông đợi sau khoảng thời gian enhancement?
  • Điều gì xảy ra nếu website quá chậm khiến người dùng chẳng thể đặt vé du lịch?

Trên đây chỉ là một vài chẳng hạn để cho thấy rằng System testing sẽ tác động như vậy nào còn nếu như không được thực hiện đúng cách.

Toàn bộ những chẳng hạn trên là kết quả của việc system testing không được thực hiện hoặc thực hiện không đúng cách. Toàn bộ các module được tích hợp nên được check để bảo đảm rằng sản phẩm hoạt động đúng như trông đợi.

Cách thực hiện System Check

System Check là một phần căn bản của kiểm thử PM, & check kế hoạch phải luôn chứa không gian rõ ràng và cụ thể cho loại check này.

Để check toàn thể hệ thống, requirement & expectation phải cụ thể & tester cũng nên hiểu cách dùng thời gian thực của áp dụng.

không chỉ thế, đa số các tool bên thứ ba, phiên bản OS, thiết kế của OS có thể tác động đến tính năng của hệ thống, hiệu năng, bảo mật, khả năng hồi phục hoặc seting.

Cho nên, trong lúc check hệ thống, một bức họa cụ thể về cách dùng áp dụng như vậy nào, & các loại vấn đề có thể phải đương đầu trong thực tiễn là hữu hiệu. Hơn nữa, ebook requirement cũng trọng yếu như cách hiểu áp dụng.

Clear & cập nhật ebook requirement có thể giúp tester tránh được một số hiểu nhầm, giả thiết & các thắc mắc.

Tóm lại, một ebook yêu cầu cụ thể & sắc nét với các cập nhật mới nhất cùng với sự hiểu biết về việc sử dụng thời gian thực có thể làm cho System testing hiệu qủa hơn.

Thực nghiệm này được thực hiện một cách có kế sách & có hệ thống.

Dưới đây là các bước khác nhau liên quan trong lúc thực hiện loại thí nghiệm này:

  • Bước đầu tiên là tạo kế sách kiểm soát
  • Tạo System Check case & check script
  • Chuẩn bị dữ liệu check yêu cầu cho loại check này
  • Thực hiện system check case & script
  • Giải trình bug. Re-check bug sau khoảng thời gian fix
  • Check hồi quy để kiểm tra tác động của việc biến đổi trong code
  • Lặp lại vòng đời kiểm thử cho đến khi hệ thống sẵn sàng để deploy
  • Sign off khỏi đội check

Check cái gì?

Các điểm nêu dưới đây được đề cập trong system testing:

  • End to end testing: bao gồm kiểm tra tương tác giữa toàn bộ các thành phần & cùng với các thiết bị ngoại vi bên ngoài để bảo đảm rằng hệ thống làm việc đúng trong bất kỳ cốt chuyện nào được đề cập trong thí nghiệm này.
  • Xác minh các đầu vào được phân phối cho hệ thống sẽ phân phối kết quả trông đợi
  • Kiểm tra toàn bộ các yêu cầu tính năng & phi tính năng đều được check để xem nó hoạt động đúng như trông đợi hay không
  • Ad-hoc & exploratory testing có thể được thực hiện trong loại check này sau khoảng thời gian cốt chuyện check được thực hiện. Exploratory testing & ad-hoc testing giúp tìm ra các bug cái mà chẳng thể tìm ra trong cốt chuyện check vì nó đem lại sự tự do cho tester để check dựa vào kinh nghiệm & trực giác của họ.
Xem Thêm  Làm cách nào để gửi biểu mẫu trên nút Enter bằng jQuery? - gửi một jquery biểu mẫu

Ưu thế

Một số ưu điểm của System Testing:

  • Thực nghiệm này bao gồm các cốt chuyện từ đầu đến cuối để check hệ thống.
  • Thực nghiệm này được thực hiện trong môi trường giống với môi trường Production, từ đó giúp hiểu được quan niệm của người dùng & tránh được các issue có thể xảy ra khi hệ thống go live.
  • Nếu thí nghiệm này được thực hiện có hệ thống & đúng mẹo, nó sẽ giúp cắt giảm các vấn đề sau khoảng thời gian lên production.
  • Thực nghiệm này check cả thiết kế áp dụng & yêu cầu business.

Tiêu chuẩn đầu vào/Tiêu chuẩn chấm dứt

Tiêu chuẩn đầu vào:

  • Hệ thống phải pass các tiêu chuẩn chấm dứt của công đoạn Integration testing. Chẳng hạn: toàn bộ các check case phải được thực thi & không có bug critical hay có độ ưu tiên Immediately, Urgent, High ở hiện trạng open.
  • Check Kế hoạch phải được approve & sign off.
  • Check case/ Check scenario phải sẵn sàng để thực thi
  • Check script phải sẵn sàng để thực thi
  • Toàn bộ các yêu cầu phi tính năng cần phải có sẵn & check case tương đương phải được tạo
  • Môi trường check phải sẵn sàng.

Tiêu chuẩn chấm dứt:

  • Toàn bộ các check case phải được thực thi
  • Không có bug critical, hoặc có độ ưu tiên cao, hoặc liên quan đến bảo mật ở hiện trạng open.
  • Nếu bất kỳ bug có độ ưu tiên medium hay low đang ở hiện trạng open, thì nó phải được thực hiện với sự chấp thuận của người tiêu dùng.
  • Giải trình chấm dứt phải được submit.

System Check Kế hoạch

Check Kế hoạch là một ebook được sử dụng để miêu tả mục đích, mục tiêu, phạm vi của dòng sản phẩm được tiến triển. Những gì cần check & những gì không cần check, sách lược check, dụng cụ được sử dụng, môi trường yêu cầu & mọi cụ thể khác được ghi lại để tiến hành check.

Check kế hoạch giúp tiến hành check có mẹo & đúng cách, & giúp tránh được những nguy cơ & issue trong lúc check được thực hiện.

System Check Kế hoạch bao phủ những điểm sau:

  • Mục đích & mục tiêu được khái niệm cho thí nghiệm này
  • Phạm vi (Những tính năng được check, tính năng chưa được check được liệt kê ra)
  • Tiêu chuẩn chấp thuận (tiêu chuẩn mà hệ thống sẽ được chấp thuận). Chẳng hạn: điểm được đề cập trong tiêu chuẩn chấp thuận phải ở hiện trạng pass
  • Tiêu chuẩn đầu vào/ Tiêu chuẩn chấm dứt (Khái niệm tiêu chuẩn lúc nào system testing bắt đầu & lúc nào nó được cân nhắc là giải quyết)
  • Check Schedule (Estimate thí nghiệm sẽ được giải quyết trong một thời gian rõ ràng và cụ thể)
  • Kế sách check (bao gồm các kỹ thuật check)
  • Nguồn lực (Số nguồn lực yêu cầu cho việc check, vai trò của họ, nguồn lực sẵn có, …)
  • Môi trường check (HĐH, Browser, Platform)
  • Check Case (Danh mục các check case được thực thi)
  • Giả thiết (Nết có bất kỳ giả thiết nào, nó nên được ghi lại trong check kế hoạch)

Thủ tục, quy trình viết System Check Case

System check case bao phủ toàn bộ các scenario & use case & nó cũng bao phủ các tính năng, phi tính năng, giao diện người dùng, các check case liên quan đến bảo mật. Check case của System check được viết giống như cách viết check case check tính năng.

Xem Thêm  Hướng Dẫn Kết Nối Csdl Sql Với C# Kết Nối Cơ Sở Dữ Liệu Sql, Lập Trình Cơ Sở Dữ Liệu Với C# - ket noi c# voi sql

System check case bao gồm các trường sau:

  • Check case ID
  • Check Suite name
  • Description – Miêu tả về các check case được thực thi
  • Steps – Các bước để thực hiện check case
  • Check Data – Dữ liệu giả được chuẩn bị để check
  • Expected result – Kết quả trông đợi dựa vào requirement
  • Actual Result – Kết quả thu được sau khoảng thời gian thực thi check case
  • Pass/Fail
  • Remarks

Các loại System Testing

Functionality Testing (Check tính năng): Bảo đảm tính năng của dòng sản phẩm hoạt động đúng như yêu cầu, trong khả năng của hệ thống

Recoverability Testing (Check khả năng hồi phục): Bảo đảm hệ thống có khả năng hồi phục tốt từ các lỗi đầu vào khác nhau & các tình huống lỗi khác.

Interoperability Testing (Check khả năng tương tác): Bảo đảm hệ thống có thể vận hành tốt với các sản phẩm thứ ba hay không.

Performance Testing (Kiểm soát hiệu năng): Bảo đảm hiệu năng của hệ thống dưới các điều kiện khác nhau.

Scalability Testing (Check khả năng mở rộng): Bảo đảm khả năng mở rộng của hệ thống trong những điều kiện khác nhau như: mở rộng user, địa lý hay tài nguyên.

Reliability Testing (Check tính tin cậy): Bảo đảm hệ thống có thể vận hành trong thời gian dài mà không có lỗi phát sinh.

Regression Testing (Check hồi quy): Bảo đảm sự ổn định của hệ thống khi nó được tích phù hợp với các hệ thống con khác nhau & thực hiện các task bảo dưỡng khác nhau.

Documentation Testing (Kiểm soát ebook): Bảo đảm ebook hướng dẫn sử dụng & các ebook khác đúng & có thể sử dụng

**Security Testing **(Check bảo mật): Bảo đảm hệ thống không cho phép sự truy cập bất hợp pháp vào dữ liệu hoặc tài nguyên.

Usability Testing (Check khả năng sử dụng): Bảo đảm hệ thống dễ sử dụng, dễ học & dễ vận hành.

không chỉ thế, còn tồn tại các loại System testing như bảng sau:

Sự khác nhau giữa System Testing & Acceptance Testing

System Testing
Acceptance Testing

System Testing là check toàn thể hệ thống. Check từ đầu đến cuối hệ thống được thực hiện nhằm kiểm tra toàn bộ các cốt chuyện đã hoạt động đúng như trông đợi.
Acceptance Testing được thực hiện nhằm kiểm tra sản phẩm đúng với yêu cầu KH hay chưa.

System Testing bao gồm check tính năng & phi tính năng, & được thực hiện bởi tester.
Acceptance Testing là check tính năng & được thực hiện bởi tester cũng như KH.

ST sử dụng dữ liệu check được tạo bởi tester.
Acceptance Testing sử dụng dữ liệu thực/production.

Toàn thể hệ thống được check để kiểm soát tính năng & năng suất của dòng sản phẩm.
Acceptance Testing được thực hiện nhằm kiểm tra rằng yêu cầu kinh doanh đáp ứng được những điều KH đang tìm kiếm.

Defect tìm ra có thể fix.
Bất kỳ defect nào được tìm ra trong acceptance check đều được nhìn nhận là failure của dòng sản phẩm.

System testing gồm: system testing & system integration testing.
Acceptance Testing gồm: Alpha testing & Beta testing.

Tips để thực hiện System Testing

  1. Cải tiến các cốt chuyện thời gian thực hơn là thực hiện thí nghiệm lý tưởng vì hệ thống sẽ được sử dụng bởi người dùng cuối chứ không phải bởi người kiểm soát được huấn luyện.
  2. Kiểm tra phản ứng của hệ thống trong các điều kiện khác nhau vì con người không thích chờ đợi hoặc trông thấy dữ liệu sai.
  3. Thiết lập & cấu hình hệ thống theo ebook vì đó là những gì người dùng cuối sẽ làm.
  4. Lôi kéo mọi người từ các khu vực khác nhau như BA, developer, tester, customer.
  5. Check thường xuyên là cách duy nhất để bảo đảm rằng biến đổi nhỏ nhất trong code để fix bug không tạo thành bug cực kỳ nghiêm trọng trong hệ thống.

Đọc qua: https://www.softwaretestinghelp.com/system-testing/

Viết một bình luận