Chúng ta đã biết được tầm quan trọng của review trong quản lý phần mềm cũng nhưu một số checklist review mà mình đã giới thiệu trong các bài viết 29 và bài viết 30.
Management Review là một khía cạnh quan trọng trong việc quản lý của bất kỳ tổ chức, hệ thống hoặc doanh nghiệp nào. Bài viết hôm nay mình sẽ giới thiệu về hoạt động quản lý review và kiểm toán – audit trong kiểm thử phần mềm. Nào hãy cùng mình tìm hiểu nhé!
Management Review Là Gì?
Quản lý review – Management review được sử dụng để theo dõi tiến độ, review tình trạng và đưa ra quyết định về các hành động trong tương lai. Những review này hỗ trợ các quyết định tương lai của dự án, chẳng hạn như điều chỉnh mức độ nguồn lực, thực hiện các hành động khắc phục hoặc thay đổi phạm vi của dự án.
Sau đây là những đặc điểm chính của management review:
- Được thực hiện bởi hoặc thực hiện cho các nhà quản lý có trách nhiệm trực tiếp đối với dự án hoặc hệ thống.
- Được thực hiện bởi hoặc cho một bên liên quan hoặc người ra quyết định, ví dụ: người quản lý hoặc giám đốc cấp cao hơn.
- Kiểm tra tính nhất quán và sai lệch so với kế hoạch.
- Kiểm tra tính đầy đủ của các thủ tục quản lý.
- Đánh giá rủi ro dự án.
- Đánh giá tác động của các hành động và cách đo lường các tác động này.
- Lập danh sách các hạng mục hành động, các vấn đề cần giải quyết và các quyết định được đưa ra.
Các đánh giá của ban quản lý đối với các quy trình, chẳng hạn như hồi cứu dự án (nghĩa là các bài học kinh nghiệm), là một một phần không thể thiếu của các hoạt động cải tiến quy trình.
Metrics Cho Reviews
Review leader phải đảm bảo metrics sẵn sàng cho:
- Đánh giá chất lượng của item được review
- Đánh giá chi phí thực hiện
- Đánh giá downstream benefit của việc tiến hành đánh giá
Review leader có thể sử dụng các phép đo để xác định lợi ích đầu tư và hiệu quả của review. Các số liệu này có thể được sử dụng để báo cáo và cho các hoạt động cải tiến quy trình.
Đối với mỗi sản phẩm review, các số liệu sau đây có thể được đo lường và báo cáo:
- Kích thước sản phẩm review (số trang, số dòng code, v.v..)
- Thời gian chuẩn bị (trước khi đánh giá)
- Thời gian tiến hành review
- Thời gian rework để sửa lỗi
- Thời gian review quy trình
- Số lượng defect tìm thấy và mức độ nghiêm trọng của chúng
- Xác định cụm lỗi trong sản phẩm review (khu vực có mật độ lỗi cao hơn)
- Loại review: informal review, walkthrough, technical review hay inspection
- Mật độ lỗi trung bình (ví dụ: lỗi trên mỗi trang, trên nghìn dòng code)
- Ước tính số lượng lỗi còn lại (hoặc mật độ lỗi còn lại)
Đối với mỗi review, metric sau đây có thể được đo lường và báo cáo để đánh giá quy trình:
- Hiệu quả phát hiện lỗi (có tính đến các lỗi được tìm thấy sau này trong vòng đời)
- Cải thiện nỗ lực và thời gian của quá trình review
- Tỷ lệ bao phủ của các sản phẩm review theo kế hoạch
- Các loại lỗi được tìm thấy và mức độ nghiêm trọng của chúng
- Khảo sát người tham gia về hiệu lực và hiệu quả của quá trình đánh giá
- Chi phí đo lường chất lượng cho lỗi đánh giá so với lỗi kiểm tra động và lỗi sản xuất
- Mối tương quan giữa hiệu quả của đánh giá (loại đánh giá so với hiệu quả phát hiện lỗi)
- Số người đánh giá
- Lỗi được tìm thấy trên mỗi giờ làm việc đã sử dụng
- Tiết kiệm thời gian dự án ước tính
- Nỗ lực sửa lỗi trung bình (nghĩa là tổng thời gian phát hiện và sửa chữa chia cho số lượng lỗi)
Ngoài ra, các số liệu được đề cập để đánh giá sản phẩm ở trên cũng hữu ích trong quá trình đánh giá.
Audit Là Gì?
Hoạt động kiểm toán – Audit thường được thực hiện để chứng minh sự phù hợp với một bộ tiêu chí đã xác định, rất có thể là một tiêu chuẩn áp dụng, ràng buộc quy định, hoặc nghĩa vụ hợp đồng. Như vậy, kiểm toán nhằm cung cấp đánh giá độc lập về việc tuân thủ các quy trình, quy định, tiêu chuẩn, v.v..
Sau đây là những đặc điểm chính của kiểm toán:
- Được thực hiện và kiểm duyệt bởi một kiểm toán viên chính
- Bằng chứng về sự tuân thủ được thu thập thông qua phỏng vấn, chứng kiến và kiểm tra tài liệu
- Kết quả được ghi lại bao gồm các quan sát, khuyến nghị, hành động khắc phục và đánh giá đạt/ không đạt
Mục tiêu của audit trong kiểm thử phần mềm thường bao gồm:
- Đánh giá Quy trình: Kiểm tra và xác định xem các quy trình phát triển phần mềm có tuân thủ các tiêu chuẩn, quy định hay không, cũng như có thực hiện theo các quy trình đã được thiết lập hay không.
- Phát hiện Vấn đề: Tìm kiếm, xác định và báo cáo về bất kỳ vấn đề, rủi ro hoặc không tuân thủ nào trong quá trình kiểm thử phần mềm để có thể giải quyết chúng kịp thời.
- Cải thiện quy trình: Đề xuất các cải tiến, điều chỉnh hoặc thay đổi trong quá trình kiểm thử phần mềm để nâng cao chất lượng, hiệu suất và hiệu quả.
- Xác minh Tuân thủ Tiêu chuẩn: Kiểm tra xem các quy trình và hoạt động kiểm thử có tuân thủ các tiêu chuẩn, quy định hay không. Ví dụ như các tiêu chuẩn quốc tế về phần mềm.
- Bảo đảm Chất lượng: Đảm bảo rằng các sản phẩm và quá trình kiểm thử đáp ứng các yêu cầu chất lượng và độ tin cậy mong đợi.
- Báo cáo và Phản hồi: Tạo ra báo cáo về kết quả kiểm tra, đánh giá và các khuyến nghị cải thiện để các bên liên quan có thể thực hiện hành động cần thiết.
Nếu như review là một phần của hoạt động kiểm thử để đánh giá sản phẩm phần mềm. Thì audit là quá trình độc lập kiểm tra và đánh giá việc tuân thủ các quy trình và tiêu chuẩn trong cả quá trình kiểm thử. Mối quan hệ giữa audit và review trong hoạt động kiểm thử phần mềm thường là:
- Audit kiểm định Review: Audit có thể bao gồm việc kiểm tra các quy trình review, xem xét liệu chúng đã được thực hiện đúng quy trình và có tuân thủ các tiêu chuẩn không. Nó có thể kiểm tra các báo cáo review và đánh giá cách mà những nhận xét từ review đã được xử lý và triển khai.
- Hỗ trợ Review thông qua Phản hồi của Audit: Kết quả từ các cuộc kiểm định có thể cung cấp thông tin và gợi ý cải tiến cho các hoạt động review. Điều này giúp cải thiện quy trình review và đảm bảo rằng nó tuân thủ các tiêu chuẩn và quy trình đã đặt ra.
Mình xin kết thúc bài viết hôm nay, và loạt bài về các kỹ thuật kiểm thử tại đây. Những kỹ thuật này không phải lúc nào cũng được sử dụng và càng không phải dự án nào cũng được sử dụng. Tùy thuộc vào tính chất, mục tiêu, bối cảnh, ngân sách, yêu cầu, v.v.. mà chúng ta sẽ lựa chọn được những kỹ thuật phù hợp. Một lần nữa xin cảm ơn bạn đã đồng hành cùng mình. Hẹn gặp lại bạn trong những bài viết tiếp theo.
Happy Testing!