+1

Kiểm thử dựa trên rủi ro: Cách tiếp cận, ma trận, quy trình và ví dụ (P1)

Kiểm thử dựa trên rủi ro là gì?

Kiểm thử dựa trên rủi ro là các tính năng ưu tiên, mô-đun và chức năng của ung dụng đang được test dựa trên tác động và khả năng thất bại. Nó liên quan đến việc đánh giá rủi ro dựa trên mức độ phức tạp, mức độ quan trọng của doanh nghiệp, tần suất sử dụng, khu vực có thể nhìn thấy, khu vực dễ bị xảy ra lỗi , v.v.

Rủi ro là sự xuất hiện của một sự kiện không chắc chắn có ảnh hưởng tích cực hoặc tiêu cực đến các tiêu chí thành công có thể đo lường được của một dự án. Nó có thể là các sự kiện đã xảy ra trong quá khứ hoặc các sự kiện hiện tại hoặc điều gì đó có thể xảy ra trong tương lai. Những sự kiện không chắc chắn này có thể có tác động đến các mục tiêu chi phí, kinh doanh, kỹ thuật và chất lượng của một dự án.

Rủi ro có thể là tích cực cũng có thể là tiêu cực.

  • Rủi ro tích cực được gọi là cơ hội và giúp đỡ trong việc phát triển, kinh doanh bền vững. Ví dụ đầu tư vào một dự án mới, Thay đổi quy trình kinh doanh, Phát triển sản phẩm mới.
  • Rủi ro tiêu cực được gọi là các mối đe dọa và muốn dự án được thành công thì khuyến nghị nên giảm thiểu hoặc loại bỏ chúng .

Khi nào nên thực hiện Kiểm thử dựa trên rủi ro

Thử nghiệm dựa trên rủi ro có thể được thực hiện trong:

  • Các dự án hạn chế về thời gian, nguồn lực, ngân sách, vv
  • Các dự án phân tích dựa trên rủi ro có thể được sử dụng để phát hiện các lỗ hổng đối với các lỗi do hành động tấn công bởi SQL injection .
  • Kiểm tra bảo mật trong môi trường điện toán đám mây.
  • Các dự án mới với các yếu tố rủi ro cao như thiếu kinh nghiệm với các công nghệ được sử dụng, thiếu kiến thức về lĩnh vực kinh doanh.
  • Mô hình tăng dần và lặp đi lặp lại, v.v.

Quy trình quản lý rủi ro

Bây giờ chúng ta hãy tìm hiểu các bước liên quan đến Quy trình quản lý rủi ro

Xác định rủi ro

Nhận dạng rủi ro có thể được thực hiện thông qua các interviewing về rủi ro, checklists, brainstorming, interviewing, kỹ thuật Delphi, sơ đồ nguyên nhân và kết quả, bài học từ các dự án trước, phân tích nguyên nhân gốc rễ, liên hệ với các chuyên gia về lĩnh vực và chuyên gia về vấn đề.

Risk Register là một bảng tính bao gồm một danh sách các rủi ro được xác định, các potential responses và nguyên nhân gốc rễ. Nó được sử dụng để theo dõi các rủi ro (cả mối đe dọa và cơ hội) trong suốt vòng đời của dự án. Chiến lược ứng phó rủi ro có thể được sử dụng để quản lý rủi ro tích cực và tiêu cực.

Cấu trúc phân loại rủi ro đóng vai trò quan trọng trong hoạch định rủi ro. Cấu trúc phân chia rủi ro sẽ giúp xác định các khu vực dễ bị rủi ro, giúp đánh giá hiệu quả và giám sát rủi ro trong suốt quá trình của dự án. Nó giúp cung cấp đủ thời gian và nguồn lực cho các hoạt động quản lý rủi ro. Nó cũng giúp phân loại nhiều nguồn mà rủi ro dự án có thể phát sinh.

Mẫu cấu trúc phân loại rủi ro:

Phân tích rủi ro (Bao gồm phân tích định lượng và định tính)

Khi danh sách các rủi ro tiềm ẩn đã được xác định, bước tiếp theo là phân tích chúng và lọc rủi ro dựa trên tầm quan trọng.

Một trong những kỹ thuật phân tích rủi ro định tính là sử dụng Ma trận rủi ro (được đề cập trong phần tiếp theo). Kỹ thuật này được sử dụng để xác định xác suất và tác động của rủi ro.

Lập kế hoạch ứng phó rủi ro

Dựa trên phân tích, chúng ta có thể quyết định xem các rủi ro có cần phải có phản hồi hay không.

Ví dụ, một số rủi ro sẽ yêu cầu phản hồi trong kế hoạch dự án trong khi một số rủi ro yêu cầu phản hồi trong giám sát dự án và một số rủi ro sẽ không yêu cầu bất kỳ phản hồi nào.

Risk owner có trách nhiệm xác định các cách thức để giảm xác suất và tác động của các rủi ro được giao.

Giảm thiểu rủi ro là một phương pháp ứng phó rủi ro được sử dụng để giảm bớt tác động bất lợi của các mối đe dọa có thể. Điều này có thể được thực hiện bằng cách loại bỏ các rủi ro hoặc giảm chúng đến mức chấp nhận được.

Dự phòng rủi ro

Dự phòng có thể được mô tả như là một biện pháp hạn chế sự diễn ra của một sự kiện, tác động không thể đoán trước.

Một kế hoạch dự phòng còn được gọi là kế hoạch hành động / kế hoạch dự phòng cho các trường hợp xấu nhất. Nói cách khác, nó xác định những bước nào có thể được thực hiện khi một sự kiện không thể đoán trước xảy ra.

Giám sát và kiểm soát rủi ro

Kiểm soát rủi ro và quy trình giám sát được sử dụng để theo dõi các rủi ro đã xác định, giám sát rủi ro tồn dư, xác định rủi ro mới, cập nhật rủi ro mới tìm thấy, phân tích lý do thay đổi, thực hiện kế hoạch ứng phó rủi ro và giám sát các tác nhân rủi ro, v.v. Đánh giá hiệu quả của chúng trong việc giảm thiểu rủi ro .

Điều này có thể đạt được bằng cách đánh giá lại rủi ro, kiểm tra rủi ro, phân tích phương sai và xu hướng, đo lường hiệu suất kỹ thuật, các cuộc họp cập nhật trạng thái và các cuộc họp retrospect.

Bảng dưới đây cung cấp thông tin về

Đầu vào để theo dõi và kiểm soát rủi ro Tools and Techniques for Risk Monitoring and Control Outputs from Risk Monitoring and Control
Kế hoạch quản lý rủi ro Kiểm tra phản hồi của rủi ro dự án Kế hoạch giải quyết
Kế hoạch giám sát rủi ro Đánh giá rủi ro định kỳ Hành động khắc phục
Kế hoạch truyền thông tin dự án Phân tích rủi ro thu thập được Yêu cầu thay đổi dự án
Nhận dạng rủi ro bổ sung và phân tích Đo lường hiệu suất kỹ thuật Cập nhật kế hoạch phản hồi cho rủi ro và danh sách kiểm tra xác định rủi ro
Thay đổi phạm vi Kế hoạch ứng phó rủi ro bổ sung Cơ sở dữ liệu về rủi ro

Chúng ta cần nhớ rằng rủi ro gia tăng khi thay đổi công nghệ, quy mô dự án, thời gian thực hiện dự án (khung thời gian dự án dài hơn), số lượng cơ quan tài trợ, ước tính dự án, nỗ lực và thiếu kỹ năng phù hợp.

Phương pháp kiểm tra dựa trên rủi ro

  1. Phân tích các yêu cầu.
  2. Tài liệu (SRS, FRS, Usecase) được xem xét. Hoạt động này được thực hiện để tìm, loại bỏ lỗi & sự mơ hồ, không rõ ràng.
  3. Requirements sign-off là một trong những kỹ thuật giảm rủi ro để tránh đưa ra các thay đổi muộn vào trong dự án.
  4. Đánh giá rủi ro bằng cách tính toán khả năng và tác động của từng yêu cầu đối với dự án có thể xem xét các tiêu chí đã xác định như chi phí, lịch trình, tài nguyên, phạm vi, an toàn hiệu suất kỹ thuật, độ tin cậy, độ phức tạp, v.v.
  5. Xác định xác suất thất bại và các khu vực rủi ro cao. Điều này có thể được thực hiện bằng cách sử dụng ma trận đánh giá rủi ro.
  6. Sử dụng risk register để liệt kê các rủi ro được xác định. Cập nhật và theo dõi các rủi ro định kỳ.
  7. Hồ sơ rủi ro cần được thực hiện trong giai đoạn này để hiểu được ảnh hưởng của rủi ro và mức độ chấp nhận rủi ro.
  8. Ưu tiên các yêu cầu dựa trên việc đánh giá.
  9. Quy trình kiểm tra dựa trên rủi ro được xác định
  10. Rủi ro cao và trung bình có thể được xem xét để lập kế hoạch giảm thiểu, thực hiện, giám sát tiến độ. Rủi ro thấp có thể được xem xét trong danh sách theo dõi.
  11. Đánh giá chất lượng dữ liệu rủi ro được thực hiện để phân tích chất lượng dữ liệu.
  12. Lập kế hoạch và xác định kiểm tra theo xếp hạng.
  13. Áp dụng phương pháp kiểm thử phù hợp và kỹ thuật kiểm thử để tạo các test case dùng để test theo cách mà các rủi ro với độ ưu tiên cao nhất được thử nghiệm trước tiên.
  14. Các kỹ thuật thiết kế thử nghiệm khác nhau có thể được sử dụng, ví dụ như sử dụng kỹ thuật bảng quyết định đối với các đối tượng kiểm thử có rủi ro cao và sử dụng phân vùng tương đương 'chỉ' cho các đối tượng có rủi ro thấp.
  15. Test cases cũng được thiết kế để bao phủ nhiều chức năng có thể dử dụng thêm end to end business scenarios.
  16. Chuẩn bị dữ liệu, điều kiện và môi trường test.
  17. Xem lại các Test plans, Test Strategy, Test cases, Test reports hoặc bất kỳ tài liệu nào khác được tạo bởi nhóm Tester.
  18. Peer review là một bước quan trọng trong việc xác định lỗi và giảm thiểu rủi ro.
  19. Thực hiện dry runs và kiểm tra chất lượng về kết quả
  20. Test cases được thực hiện theo mức độ ưu tiên của đối tượng tồn tại rủi ro.
  21. Maintain traceability giữa các đối tượng rủi ro, test bao phủ chúng, kết quả của quá trình kiểm thử đó và các lỗi được tìm thấy trong quá trình test. Tất cả các chiến lược thử nghiệm được thực hiện đúng sẽ làm giảm rủi ro chất lượng.
  22. Kiểm thử dựa trên rủi ro có thể được sử dụng ở mọi cấp độ test, ví dụ component, integration, system, và acceptance testing
  23. Ở system level, chúng ta cần tập trung vào những gì quan trọng nhất trong ứng dụng. Điều này có thể được xác định bằng cách xem xét khả năng hiển thị của các chức năng, tần suất sử dụng và chi phí thất bại có thể xảy ra.
  24. Đánh giá tiêu chí hoàn thành (kết thúc). Tất cả các khu vực rủi ro cao đã được kiểm tra đầy đủ, chỉ còn lại những rủi ro nhỏ.
  25. Báo cáo kết quả kiểm tra dựa trên rủi ro và phân tích số liệu.
  26. Đánh giá lại các sự kiện rủi ro hiện tại và các sự kiện rủi ro mới dựa trên các chỉ số rủi ro chính.
  27. Cập nhật các rủi ro mới.
  28. Contingency plans - Điều này hoạt động như một kế hoạch dự phòng / kế hoạch khẩn cấp cho các rủi ro có khả năng cao sẽ xảy ra.
  29. Phân tích lỗi và phòng ngừa lỗi và loại bỏ các lỗi.
  30. Retesting và Regression testing để xác nhận các hoạt động sửa lỗi dựa trên phân tích rủi ro được tính toán trước và khu vực có nguy cơ cao xảy ra rủi ro.
  31. Test tự động hóa dựa trên rủi ro (nếu khả thi).
  32. Tính toán rủi ro tồn dư.
  33. Giám sát và kiểm soát rủi ro.
  34. Tiêu chí thoát hoặc tiêu chí hoàn thành có thể được sử dụng cho các mức độ rủi ro khác nhau. Tất cả các rủi ro chính đã được giải quyết với các hành động thích hợp hoặc kế hoạch dự phòng. Rủi ro rủi ro ở mức hoặc dưới mức đã đồng ý cho dự án.
  35. Đánh giá lại hồ sơ rủi ro và phản hồi của khách hàng.

Phương pháp kiểm thử dựa trên rủi ro đối với System Test

1. Technical System Test - được coi là test môi trường và test tích hợp. Test môi trường bao gồm test trong quá trình phát triển, quá trình test và môi trường production.

2. Functional System Test - Test tất cả các chức năng, tính năng, chương trình, mô-đun. Mục đích của việc test này là để đánh giá xem hệ thống có đáp ứng các yêu cầu được chỉ định hay không.

3. Non-functional System Test- Test non-functional về hiệu năng, load tests, stress-test, configuration tests, Security tests, quy trình sao lưu và phục hồi và tài liệu (tài liệu hệ thống, vận hành và cài đặt). Sơ đồ dưới đây cung cấp một cái nhìn tổng quan rõ ràng về quy trình nêu trên:

System test bao gồm cả Functional test và Non - Functional test

System test đảm bảo rằng sản phẩm / ứng dụng đáp ứng yêu cầu của khách hàng và doanh nghiệp. Mặt khác, thử nghiệm phi chức năng được thực hiện để xác minh xem sản phẩm có đáp ứng mong đợi của khách hàng về chất lượng, khả năng sử dụng độ tin cậy, hiệu suất, khả năng tương thích, v.v.

Bài viết được dịch lại từ nguồn: https://www.guru99.com


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí