Cách để nhận diện và quản lý rủi ro trong kiểm thử phần mềm (P1)

Rủi ro trong các dự án phần mềm Thông thường, “rủi ro” dùng để chỉ một hay nhiều sự việc chưa nhưng có khả năng xảy ra trong tương lai có tác động đến dự án, và khi sự việc đó xảy ra thường sẽ gây ảnh hưởng xấu, thậm chí là “tai nạn” cho

Rủi ro trong các dự án phần mềm

Thông thường, “rủi ro” dùng để chỉ một hay nhiều sự việc chưa nhưng có khả năng xảy ra trong tương lai có tác động đến dự án, và khi sự việc đó xảy ra thường sẽ gây ảnh hưởng xấu, thậm chí là “tai nạn” cho dự án, cản trở dự án đạt được mục tiêu của mình. Rủi ro thường được nhận biết dựa vào một số dấu hiệu báo trước, đôi khi dựa vào kinh nghiệm của các dự án tương tự trước đây.

Toàn bộ các công việc của QA là nhằm giảm thiểu rủi ro cho dự án. Vì vậy, để tránh rủi ro, QA phải có khả năng xác định và quản lý các rủi ro kiểm thử phần mềm một cách nhanh chóng và chính xác. Dưới đây là các bước cơ bản trong việc nhận diện và quản lý rủi ro:

1. Tạo một danh sách

Trước khi kiểm thử phần mềm, một trong những cách hiệu quả nhất mà nhóm QA có thể thực hiện là xác định rủi ro bằng cách phán đoán xem code hoặc hiệu suất phần mềm có thể làm gián đoạn chức năng nào của phần mềm hoặc hệ thống hay không. Xác định rủi ro bao gồm bất kỳ điều gì khiến việc triển khai phần mềm không hiệu quả. Rủi ro có thể bao gồm:

  • Mốc thời gian chặt chẽ
  • Không xác định được phạm vi dự án
  • Nguồn lực không đủ
  • Tài liệu yêu cầu bị thay đổi liên tục
  • Thảm họa thiên nhiên (vd như đại dịch covid-19,…)

Có một số rủi ro có thể dễ xử lý nhưng bên cạnh đó cũng có rất nhiều rủi ro rất khó để giải quyết, vì vậy, việc biết chính xác bản chất sẽ dễ dự đoán hơn về sự xuất hiện của các rủi ro. Việc ghi lại những rủi ro đã được xác định một cách chi tiết và thông báo rõ ràng cho các bên liên quan sẽ là rất tốt cho dự án của bạn. Thông thường việc xác định rủi ro là một quá trình lặp đi lặp lại. Điều quan trọng là phải xem lại danh sách các rủi ro bất cứ khi nào mục tiêu hoặc chiến lược kinh doanh sản phẩm của dự án thay đổi. Khi dự án tiếp tục, một số rủi ro mới xuất hiện và một số rủi ro cũ sẽ biến mất.

2. Lập kế hoạch thực hiện

Khi nhóm QA đã nghiên cứu và kiểm tra các rủi ro tiềm ẩn, họ có thể vạch ra các quy trình để quản lý rủi ro. Rủi ro tiềm tàng có thể được xếp hạng theo mức độ quan trọng của chúng đối với chức năng phần mềm và hoạt động của hệ thống. Kế hoạch giảm thiểu rủi ro bằng cách tránh các thiếu sót và điều kiện có thể xảy ra hoặc có thể gây ra lỗi ứng dụng hoặc hệ thống có thể được tích hợp vào các trường hợp kiểm thử.

Ngoài việc tránh rủi ro, quản lý rủi ro cho phép nhóm QA nhanh chóng đưa ra các báo cáo và giảm thiểu các mối đe dọa đối với hiệu suất gây mất ổn định cho việc triển khai phần mềm. Mặc dù, giải quyết các phương án giảm thiểu rủi ro hầu như không bao giờ là dễ dàng nhưng việc tập trung chuyên sau vào quản lý rủi ro có thể rất quan trọng đối với sự thành công của dự án.

3. Sử dụng quản lý kiểm thử để xử lý rủi ro

Rủi ro có thể xuất hiện bất cứ lúc nào. Do đó, người kiểm thử phải có khả năng xử lý rủi ro một cách hiệu quả và kịp thời. Thời hạn chặt chẽ không chỉ đòi hỏi sự chú ý đến những rủi ro có thể xảy ra mà còn yêu cầu quản lý rủi ro kịp thời để đảm bảo các giải pháp được thực hiện hiệu quả đối với các vấn đề không lường trước được, để tránh dự án bị thất bại hoặc trì hoãn việc bàn giao sản phẩm.

Đối với QA, một số vấn đề quan trọng nhất có thể bắt nguồn từ việc kiểm thử trong khi thực hiện quy trình kiểm thử phần mềm. Các công cụ quản lý rủi ro phù hợp cho phép nhóm QA chuẩn bị tốt hơn cho các tình huống và hậu quả không lường trước được. Các công cụ quản lý kiểm thử, thường giúp QA ưu tiên các rủi ruo và vấn đề trong khi đảm bảo rằng các thành viên khác liên tục nhận thức được tình hình kiểm thử. Quản lý rủi ro có thể bao gồm:

  • Số lượng kịch bản kiểm thử quá lớn
  • Không đủ thời gian để thực hiện kiểm thử hồi quy
  • Validation chưa hoàn thành
    ….

Giảm thiểu rủi ro thường có thể mang tính hợp tác, trước khi dự án bắt đầu, toàn bộ nhóm có thể tạo ra một danh sách các rủi ro có thể xảy ra. Những rủi ro này cũng có thể cần được điều chỉnh khi dự án kiểm thử phần mềm tiến triển. Tính linh hoạt ở đây sẽ là điều cần thiết để đảm bảo rằng các nhóm QA có thể đáp ứng và phản ứng thích hợp với bất kỳ tình huống nào có thể phát sinh để giảm thiểu rủi ro nhanh hơn và hạn chế thời gian ngừng hoạt động.

Thực hiện kiểm thử là một trong những giai đoạn quan trọng nhất của bất kỳ dự án nào, kết quả từ giai đoạn này quyết định chất lượng phần mềm và cho phép sản phẩm có được phát hành hay không. Vì vậy, QA nên nêu ra bất kỳ rủi ro nào có thể cản trở việc thực thi kiểm thử và việc trì hoãn việc phát hành sản phẩm. Mục tiêu của quản lý rủi ro là giảm các rủi ro khác nhau xuống một mức có thể chấp nhận được.

4. Chuẩn bị cho điều không thể biết trước

Ngoài ra, nhóm QA phải xử lý rủi ro không lường trước được. Chúng thường được rút gọn thành hai vấn đề – Những rủi ro chưa biết nhưng đã được dự đoán trước và Những rủi ro không lường trước được.

Những rủi ro chưa biết đã dự đoán trước là những trường hợp mà nhóm QA thường nhận thức được, nhưng không biết liệu rủi ro có xuất hiện trong một dự án hoặc quy trình thử nghiệm cụ thể hay không. Sự thiếu kiến thức này có thể là do giao tiếp với khách hàng và các bên liên quan không hiệu quả.

Những rủi ro không lường trước được là những rủi ro mà tổ chức không nhận thức được. Những rủi ro không lường trước được thường xảy ra khi các công nghệ mới mà nhóm QA chưa có kinh nghiệm được đưa vào một dự án.

5. Giảm thiểu rủi ro thông qua lập kế hoạch

Lập kế hoạch rủi ro phần mềm là rất quan trọng đối với sự thành công của kiểm thử và kết quả triển khai. Thiết lập một kế hoạch thử nghiệm làm nổi bật các quy trình làm việc góp phần giảm thiểu rủi ro.

Thành công trong việc giảm thiểu rủi ro phần mềm bắt nguồn trực tiếp từ việc đánh giá trước các thách thức của dự án:

  • Xác định các biện pháp hiệu quả trong việc giảm thiểu hoặc ngăn ngừa rủi ro.
  • Xác định các biện pháp để giảm tác động của các rủi ro chưa được giảm thiểu.
  • Thông qua kiểm tra tự động, liên tục theo dõi hiệu suất của phần mềm và hệ thống để nhanh chóng xác định các rủi ro.

Nguồn: https://smartbear.com/blog/software-testing-risks/

Nguồn: viblo.asia

Bài viết liên quan

WebP là gì? Hướng dẫn cách để chuyển hình ảnh jpg, png qua webp

WebP là gì? WebP là một định dạng ảnh hiện đại, được phát triển bởi Google

Điểm khác biệt giữa IPv4 và IPv6 là gì?

IPv4 và IPv6 là hai phiên bản của hệ thống địa chỉ Giao thức Internet (IP). IP l

Check nameservers của tên miền xem website trỏ đúng chưa

Tìm hiểu cách check nameservers của tên miền để xác định tên miền đó đang dùn

Mình đang dùng Google Domains để check tên miền hàng ngày

Từ khi thông báo dịch vụ Google Domains bỏ mác Beta, mình mới để ý và bắt đầ