Các Kỹ Thuật Kiểm Thử Dựa Vào Rủi Ro
Trong kiểm thử dựa vào rủi ro, có một số kỹ thuật và phương pháp được sử dụng để thực hiện quá trình này. Dưới đây là một số kỹ thuật phổ biến trong kiểm thử dựa vào rủi ro:
- Mô hình hóa rủi ro: Sử dụng các phương pháp mô hình hóa để định lượng và đánh giá các rủi ro tiềm năng. Các mô hình như FMEA (Failure Mode and Effects Analysis) và HAZOP (Hazard and Operability Study) được sử dụng để xác định các yếu tố rủi ro và ảnh hưởng của chúng.
- Đánh giá ưu tiên rủi ro: Sử dụng các phương pháp như ma trận đánh giá rủi ro (Risk Assessment Matrix) để xác định mức độ ưu tiên của các rủi ro. Đánh giá dựa trên hai yếu tố: xác suất xảy ra và mức độ nghiêm trọng của rủi ro.
- Thiết kế kiểm thử dựa vào rủi ro: Từ các thông tin về rủi ro, thiết kế các ca kiểm thử tập trung vào những phần quan trọng và những kịch bản có khả năng gây ra các rủi ro cao. Điều này đảm bảo rằng nguồn lực kiểm thử được tập trung vào các phần quan trọng nhất của hệ thống.
- Kiểm thử mức độ rủi ro cao – High-risk testing: Tập trung vào các kịch bản kiểm thử có khả năng gây ra những rủi ro có tác động lớn và có xác suất xảy ra cao. Điều này đảm bảo rằng các rủi ro quan trọng được kiểm tra kỹ càng và được giải quyết sớm.
- Kiểm thử thăm dò – Exploratory testing: Sử dụng kỹ thuật kiểm thử thăm dò để tìm kiếm các lỗ hổng và rủi ro tiềm ẩn mà không phụ thuộc vào kịch bản kiểm thử trước đó. Điều này giúp phát hiện các rủi ro không được biết trước và kiểm tra tính ổn định và sự linh hoạt của hệ thống.
- Kiểm thử tốc độ cao – High-speed testing: Sử dụng kỹ thuật kiểm thử tốc độ cao để kiểm tra hệ thống với một trọng tải công việc lớn hoặc một khối lượng dữ liệu lớn. Điều này giúp xác định các rủi ro có liên quan đến độ chịu tải cao và hiệu năng hệ thống.
- Kiểm thử độ bền vững – Endurance testing: Kiểm tra khả năng của hệ thống trong việc chịu đựng các tình huống tải công việc liên tục trong một khoảng thời gian dài. Điều này giúp xác định các rủi ro liên quan đến hiệu suất dài hạn và mức độ ổn định của hệ thống.
Các kỹ thuật và phương pháp trên đều nhằm tối ưu hóa việc kiểm thử bằng cách tập trung vào những rủi ro quan trọng và tối đa hóa hiệu quả của quá trình kiểm thử. Tuy nhiên, lựa chọn kỹ thuật cụ thể phụ thuộc vào tính chất và yêu cầu của dự án kiểm thử.
Mô Hình FMEA (Failure Mode and Effects Analysis)

Mô hình FMEA (Failure Mode and Effects Analysis) là một phương pháp phân tích rủi ro được sử dụng để xác định, đánh giá và giảm thiểu các lỗi tiềm ẩn hoặc lỗi có thể xảy ra trong một quy trình, sản phẩm hoặc hệ thống. Nó được sử dụng rộng rãi trong các lĩnh vực như công nghiệp, y tế, ô tô, hàng không vũ trụ và phần mềm.
Việc sử dụng thành công FMEA yêu cầu sử dụng dữ liệu và thông tin chi tiết thu được từ kinh nghiệm trong quá khứ với các sản phẩm và hệ thống tương tự. Mục tiêu là để xác định rủi ro và ảnh hưởng của chúng. Rủi ro được định nghĩa là các khiếm khuyết hoặc lỗi tiềm ẩn hoặc thực tế trong một hệ thống. Ảnh hưởng của chúng mô tả cách rủi ro sẽ tác động đến khách hàng hoặc người dùng cuối.
Có bốn bước trong FMEA:
- F- Failure: Xác định các rủi ro tiềm ẩn
- M – Mode: Xác định mức độ nghiêm trọng tiềm tàng và hậu quả của chúng bằng cách mô hình hóa chúng
- Effect: Dự đoán ảnh hưởng của rủi ro khi xảy ra
- Analysis: Phân tích rủi ro và xây dựng hệ thống kiểm soát rủi ro
Định lượng rủi ro trong mô hình FMEA
Việc định lượng rủi ro trong mô hình FMEA dựa vào 3 yếu tố: Mức độ nghiêm trọng, Khả năng xảy ra và Khả năng phát hiện rủi ro.
- Mức độ nghiêm trọng: Mức độ nghiêm trọng của mỗi mode lỗi được đánh giá để đo lường tác động của lỗi đó đối với sản phẩm, dịch vụ hoặc quy trình.
- Xác suất xảy ra: Xác suất xảy ra của mỗi mode lỗi được đánh giá để xác định tần suất lỗi có thể xảy ra trong quy trình, sản phẩm hoặc hệ thống.
- Khả năng phát hiện rủi ro: Khả năng phát hiện của quy trình kiểm soát hiện tại để phát hiện và ngăn chặn lỗi được đánh giá.
Mức độ nghiêm trọng
Mô tả | Phân loại | Thang điểm |
---|---|---|
Lỗi gây ra hậu quả rất nhỏ, không ảnh hưởng đáng kể đến hiệu suất hoặc chức năng của hệ thống và không có nguy cơ quan trọng. Nó không ảnh hưởng đến tính ổn định hoặc sự sử dụng của sản phẩm và có thể được chấp nhận mà không yêu cầu sự can thiệp hay khắc phục. | Rất thấp – Very Low | 1 |
Lỗi gây ra hậu quả nhỏ, không ảnh hưởng lớn đến hiệu suất hoặc chức năng của hệ thống và không có nguy cơ đáng kể. Sự cố này không gây ra sự không ổn định hoặc nguy cơ lớn cho hệ thống và có thể được chấp nhận trong một số trường hợp. | Thấp – Low | 2 |
Lỗi gây ra hậu quả trung bình, có thể gây ảnh hưởng đáng kể đến hiệu suất hoặc chức năng của hệ thống, nhưng không gây nguy hiểm đáng kể. Mức độ này có thể gây ra một số vấn đề liên quan đến tính ổn định hoặc sự sử dụng của sản phẩm, nhưng không gây ra tác động nghiêm trọng. | Trung bình – Moderate | 3 |
Lỗi gây ra hậu quả nghiêm trọng, ảnh hưởng đáng kể đến hiệu suất hoặc chức năng của hệ thống. Mức độ này có thể làm suy giảm tính ổn định hoặc sự sử dụng của sản phẩm, và cần được khắc phục hoặc xử lý để đảm bảo tính chất chính xác và đáng tin cậy của hệ thống. | Nghiêm trọng – Severe | 4 |
Lỗi gây ra hậu quả rất nghiêm trọng, ảnh hưởng đến tính ổn định và sự sử dụng của hệ thống. Mức độ này có thể gây thiệt hại lớn cho dự án và không thể chấp nhận được trong quá trình sử dụng sản phẩm. Yêu cầu khắc phục ngay lập tức để đảm bảo tính an toàn và tính hoạt động của hệ thống. | Rất nghiêm trọng – Very Severe | 5 |
Xác suất xảy ra
Mô tả | Phân loại | Thang điểm |
---|---|---|
Lỗi xảy ra rất hiếm khi, chỉ xảy ra trong các trường hợp hoặc điều kiện rất đặc biệt | Rất thấp – Very Low | 1 |
Lỗi xảy ra hiếm khi, chỉ xảy ra trong một số trường hợp hoặc điều kiện đặc biệt | Thấp – Low | 2 |
Lỗi xảy ra đôi khi, có khả năng xảy ra trong một số trường hợp hoặc điều kiện | Trung bình – Moderate | 3 |
Lỗi xảy ra khá thường xuyên, có khả năng xảy ra trong nhiều trường hợp hoặc điều kiện | Cao – High | 4 |
Lỗi xảy ra rất thường xuyên, có khả năng xảy ra trong hầu hết các trường hợp hoặc điều kiện | Rất cao – Very High | 5 |
Khả năng phát hiện lỗi
Mô tả | Phân loại | Thang điểm |
---|---|---|
Khả năng phát hiện lỗi rất thấp hoặc không tồn tại hệ thống phát hiện lỗi | Rất thấp – Very Low | 1 |
Khả năng phát hiện lỗi thấp, có thể cần sự can thiệp hoặc công cụ đặc biệt để phát hiện | Thấp – Low | 2 |
Khả năng phát hiện lỗi trung bình, có sự phát hiện tự động hoặc công cụ giúp phát hiện | Trung bình – Moderate | 3 |
Khả năng phát hiện lỗi cao, có các phương pháp phát hiện đáng tin cậy và sẵn có | Cao – High | 4 |
Khả năng phát hiện lỗi rất cao, có các phương pháp phát hiện chính xác và hiệu quả | Rất cao – Very High | 5 |
Công thức tính RPN (Risk Priority Number – Mức độ ưu tiên của rủi ro)
Trong đó S = Severify (mức độ nghiêm trọng), P = Probability (xác suất xảy ra), L = Likelihood (khả năng phát hiện)
RPN = S*P*L

# | Yêu cầu | Lỗi có thể xảy ra của yêu cầu | Mức độ nghiêm trọng | Xác suất xảy ra | Khả năng xảy ra lỗi | Mức độ ưu tiên rủi ro – RPN |
---|---|---|---|---|---|---|
1 | Máy ‘Add Value Machine – AVM’ hoạt động 24/7 | Sự cố nguồn UPS làm AVM không hoạt động | Nghiêm trọng – 4 | Thấp – 2 | Rất thấp – 1 | 8 |
2 | AVM có thể đọc được thẻ thông minh và hiển thị số dư tiền bằng VNĐ | Bug SW về thông tin đã nạp tiền không được tính | Rất nghiêm trọng – 5 | Cao – 4 | Thấp – 2 | 40 |
3 | AVM chấp nhận thanh quán bằng: Tiền mặt (10/20/50/100/200/500 nghìn VNĐ), Thẻ tín dụng, Thẻ ghi nợ, Ngân hàng trực truyến | Sử dụng Soil Notes chưa được ghi nhận trên AVM | Thấp – 2 | Thấp – 2 | Rất thấp – 1 | 4 |
4 | AVM in được biên lai thanh toán tiền để nạp thẻ thông minh | Hết giấy máy in | Vừa – 2 | Cao – 4 | Rất thấp – 1 | 8 |
5 | AVM luôn được kết nối với Fare Collection System | Lỗi Network (không có tính năng kết nối wifi) | Rất nghiêm trọng – 5 | Trung bình – 3 | Thấp – 2 | 30 |
Theo kết quả tính toán trên, yêu cầu số 2 và 5 được xếp hạng 1 và 2, nên sẽ là những “yêu cầu rủi ro cao”. Testcase cho chúng nên bao gồm cả positive case và negative case, đảm bảo không xảy ra lỗi ở các giai đoạn Unit, Integration và System test. Các tính năng này nên được kiểm tra nghiêm ngặt. Yêu cầu số 3 có rủi ro thấp nhất, do đó chỉ cần kiểm thử bước đầu cho chức năng và phi chức năng là đủ.
Trong kiểm thử dựa vào rủi ro, RPN sẽ là căn cứ để lập chiến lược kiểm thử. RPN càng cao, nỗ lực cần thiết để lập kế hoạch thử nghiệm và quản lý các nhiệm vụ càng cao. Trong đó:
- RPN nằm trong khoảng 1-5: Không cần nỗ lực nhiều để thử nghiệm, chỉ cần thực hiện một vài smoke test và report. Tuy nhiên, có thể cần phải đánh giá lại RPN nếu bạn tìm thấy bất kỳ lỗi nào trong smoke test.
- RPN nằm trong khoảng từ 6-10: Hãy thực hiện một loại thử nghiệm bao gồm tất cả các chức năng cơ bản và tùy thuộc vào kết quả để quyết định cần phải đánh giá lại RPN hay không.
- RPN nằm trong khoảng 11-30: Thực hiện balanced testing bao gồm tất cả các chức năng chính của yêu cầu.
Hi vọng bài viết hôm nay đem lại phần nào hữu ích cho các bạn. Hẹn gặp lại các bạn ở phần cuối loạt bài về Risk-based testing để cùng tìm hiểu về Kỹ thuật test thông qua Ma trận đánh giá rủi ro – Risk Assessment Matrix
Happy Testing!