Làm thế nào để Estimation trong kiểm thử phần mềm?
Estimation được hiểu ngắn gọn đó chính là ước lượng, vậy để ước lượng thời gian kiểm thử cần biết những yếu tố gì? Ước lượng kiểm thử (Test Estimation) phần mềm là gì? Ước lượng kiểm thử là một hoạt động quản lý xấp xỉ thời lượng công việc sẽ được thực hiện. Ước tính nỗ lực để kiểm tra là một ...
Estimation được hiểu ngắn gọn đó chính là ước lượng, vậy để ước lượng thời gian kiểm thử cần biết những yếu tố gì?
Ước lượng kiểm thử (Test Estimation) phần mềm là gì? Ước lượng kiểm thử là một hoạt động quản lý xấp xỉ thời lượng công việc sẽ được thực hiện. Ước tính nỗ lực để kiểm tra là một trong những nhiệm vụ chính và quan trọng trong Quản lý kiểm thử.
Tại sao lại phải Estimate kiểm thử? Có 2 câu hỏi bạn có thể mong đợi từ khách hàng của mình khi thảo luận về các cuộc thử nghiệm tiềm năng là gì?
- Bạn mất bao lâu để kiểm thử?
- Sẽ phải mất bao nhiêu tiền cho nó?
Đối với dự án nhỏ thì 2 câu trên khá dễ để trả lời, nhưng với 1 dự án rất lớn khác thì thật khó để có thể trả lời ngay khi chưa có tính toán ước lượng.
Vậy bạn cần những gì để Estimate?
- Resources: Nguồn lực được yêu cầu để thực hiện bất kỳ nhiệm vụ dự án. Họ có thể là người, thiết bị, cơ sở vật chất, tài trợ, hoặc bất cứ thứ gì khác có thể định nghĩa được yêu cầu để hoàn thành một hoạt động dự án.
- Thời gian: Thời gian là nguồn tài nguyên có giá trị nhất trong một dự án. Mỗi dự án đều có thời hạn bàn giao.
- Nhân sự: Kỹ năng của con người có nghĩa là kiến thức và kinh nghiệm của các thành viên trong nhóm. Chúng ảnh hưởng đến ước tính của bạn. Ví dụ, một đội, có thành viên có kỹ năng kiểm tra thấp, sẽ mất nhiều thời gian để hoàn thành dự án hơn là đội có kỹ năng kiểm tra cao.
- Chi phí: Chi phí là ngân sách dự án. Nói chung, nó có nghĩa là nó cần bao nhiêu tiền để hoàn thành dự án.
Làm thế nào để Estimate?
4 bước để có thể estimate
Bước 1) Phân chia toàn bộ nhiệm vụ dự án thành các nhiệm vụ nhỏ (task thành subtask) Để phân chia thành các task thì chúng ta nên sử dụng kỹ thuật Work Breakdown Structure. Trong kỹ thuật này, một dự án phức tạp được chia thành các mô-đun. Các phân hệ được chia thành các phân hệ phụ. Mỗi mô-đun phụ được phân chia thành các chức năng. Nó có nghĩa là phân chia toàn bộ nhiệm vụ của dự án thành những nhiệm vụ nhỏ nhất.
Sử dụng Work Break Down để tách dự án sang các nhiệm vụ nhỏ hơn.
Sau đó, bạn có thể chia ra từng nhiệm vụ cho các nhiệm vụ phụ. Mục đích của hoạt động này là tạo ra nhiệm vụ càng chi tiết càng tốt.
Task | Subtask |
---|---|
Phân tích yêu cầu phần mềm | Điều tra các yêu cầu kỹ thuật phần mềm |
Phỏng vấn nhà phát triển và các bên liên quan khác để biết thêm về trang web | |
Tạo đặc tả yêu cầu | Thiết kế kiểm thử |
Tạo Test Cases | |
Xem xét và chỉnh sửa Test Cases | |
Tiến hành chạy Test Cases | Xây dựng môi trường thử nghiệm |
Tiến hành chạy Test Cases | |
Xem lại kết quả test | |
Báo cáo các lỗi | Tạo báo cáo lỗi |
Báo cáo các lỗi |
Bước 2) Phân chia công việc cho thành viên trong nhóm Trong bước này, mỗi nhiệm vụ được gán cho thành viên thích hợp trong nhóm dự án. Bạn có thể giao nhiệm vụ như sau:
Task | Member |
---|---|
Phân tích yêu cầu phần mềm | Tất cả các thành viên |
Tạo đặc tả yêu cầu | Tester/Test Analyst (Chuyên viên phân tích kiểm thử ) |
Xây dựng môi trường kiểm thử | Test Administrator |
Tiến hành chạy TestCases | Tester, Test Administrator |
Báo cáo các lỗi | Tester |
Bước 3) Estimate effort cho mỗi task Có 2 kỹ thuật mà bạn có thể áp dụng:
- Phương pháp điểm chức năng (Functional Point Method)
- Ước lượng 3 điểm (Three Point Estimation)
Phương pháp 1: Phương pháp điểm chức năng
Trong phương pháp này, người quản lý kiểm thử sẽ phải ước lượng kích thước, thời lượng, và chi phí cho các task.
- Bước A: Estimate size cho task: Trong bước 1) bạn đã phân chia thành công các task thành subtask nhờ phương pháp WBS. Còn bây giờ bạn sẽ phải ước tính thời gian cho từng subtask đó. Hãy thực hành với 1 nhiệm vụ cụ thể "Tạo đặc tả yêu cầu". Kích thước của nhiệm vụ này phụ thuộc vào kích thước chức năng của hệ thống đang thử. Kích thước chức năng phản ánh số lượng các chức năng có liên quan đến người dùng. Số chức năng nhiều hơn, hệ thống phức tạp hơn là.
Trước khi bắt đầu thực hiện ước tính nhiệm vụ thực hiện, các điểm chức năng được chia thành ba nhóm như Complex, Medium Simple như sau:
Dựa trên sự phức tạp của các chức năng phần mềm, Test Manager phải cung cấp đủ trọng số cho mỗi điểm chức năng. Ví dụ:
Nhóm | Trọng số |
---|---|
Phức tạp (Complex) | 5 |
Trung bình (Medium) | 3 |
Đơn giản (Simple) | 1 |
- Bước B. Estimate thời gian cho task
Sau khi phân loại tính phức tạp của các điểm chức năng, bạn phải ước tính thời gian để kiểm tra chúng. Thời gian có nghĩa là cần bao nhiêu thời gian để hoàn thành nhiệm vụ.
Total Effort (Tổng effort): Nỗ lực để kiểm tra hoàn toàn tất cả các chức năng của trang web. Total Function Points (Tổng số điểm chức năng): là tổng số modules của trang web Estimate defined per Function Points (Ước tính xác định mỗi điểm chức năng): Mức trung bình để hoàn thành một điểm chức năng. Giá trị này phụ thuộc vào năng suất của thành viên, người chịu trách nhiệm về nhiệm vụ này. Giả sử nhóm dự án của bạn đã được xác định theo mỗi Điểm Chức năng là 5 giờ / điểm. Bạn có thể ước tính tổng số nỗ lực để kiểm tra tất cả các tính năng của trang web như sau:
Trọng số | Điểm chức năng | Tổng | |
---|---|---|---|
Phức tạp (Complex) | 5 | 3 | 15 |
Trung bình (Medium) | 3 | 5 | 15 |
Đơn giản (Simple) | 1 | 4 | 4 |
Tổng số điểm chức năng | 34 | ||
Ước tính xác định mỗi điểm chức năng | 5 | ||
Tổng ước tính effort (Tính bằng giờ) | 170 |
Vì vậy, tổng effort để hoàn thành nhiệm vụ "Tạo bản đặc tả kiểm thử" của trang web là khoảng 170 giờ làm việc
Một khi bạn đã hiểu được những effort đó là cần thiết, bạn có thể gán tài nguyên để xác định xem nhiệm vụ sẽ kéo dài bao nhiêu (thời gian), và sau đó bạn có thể ước tính chi phí lao động và phi lao động.
Ví dụ trên cũng cho thấy tầm quan trọng của thành viên trong nhóm của bạn. Nếu bạn có các thành viên tài năng và kinh nghiệm, bạn có thể hoàn thành nhiệm vụ được giao trong một thời gian ngắn, và dự án của bạn sẽ kết thúc vào thời hạn hoặc sớm hơn.
- Bước C. Estimate chi phí cho mỗi task
Bước này giúp bạn trả lời câu hỏi cuối cùng của khách hàng "Chi phí bao nhiêu?" Giả sử, trung bình mức lương nhóm của bạn là 5 đô la một giờ. Thời gian cần cho công việc "Tạo bản đặc tả kiểm thử" là 170 giờ. Theo đó, chi phí cho nhiệm vụ là 5 * 170 = 850 đô la. Bây giờ bạn có thể tính toán ngân sách cho các hoạt động khác trong WBS và đưa ra ngân sách tổng thể cho dự án. Là người quản lý dự án, bạn phải quyết định làm thế nào để thu được nhiều lợi nhuận nhất cho đầu tư của công ty bạn. Ước tính chi phí dự án của bạn chính xác hơn, bạn sẽ có khả năng quản lý ngân sách của dự án tốt hơn.
Phương pháp 2: Ước lượng 3 điểm
Ước tính ba điểm là một trong những kỹ thuật có thể được sử dụng để ước tính một nhiệm vụ. Sự đơn giản của việc ước lượng Ba điểm làm cho nó trở thành một công cụ rất hữu ích cho một Người quản lý dự án muốn ước tính.
Trong dự toán ba điểm, ba giá trị được tạo ra ban đầu cho mọi công việc dựa trên kinh nghiệm trước đây hoặc dự đoán tốt nhất như sau:
Khi ước tính một nhiệm vụ, Test Manager cần cung cấp ba giá trị, như đã nêu ở trên. Ba giá trị được xác định, ước tính những gì xảy ra ở trạng thái tối ưu, những gì có thể xảy ra nhất, hoặc chúng tôi nghĩ đó là trường hợp xấu nhất.
Hãy xem làm thế nào để sử dụng trên ba giá trị trong ví dụ sau đây
Đối với nhiệm vụ "Tạo bản đặc tả kiểm thử", bạn có thể ước tính nỗ lực kiểm tra? Hãy nhớ rằng bạn phải bao gồm tất cả các mô-đun của trang web như được thực hiện trong Phương pháp Chức năng Điểm
Bạn có thể ước tính như sau:
- Trường hợp tốt nhất để hoàn thành nhiệm vụ này là 120 giờ (khoảng 15 ngày). Trong trường hợp này, bạn có một đội ngũ tài năng, họ có thể hoàn thành nhiệm vụ trong thời gian nhỏ nhất.
- Trường hợp có nhiều khả năng nhất để hoàn thành nhiệm vụ này là 170 giờ (khoảng 21 ngày). Đây là một trường hợp bình thường, bạn có đủ nguồn lực và khả năng hoàn thành nhiệm vụ
- Trường hợp xấu nhất để hoàn thành nhiệm vụ này là 200 giờ (khoảng 25 ngày). Bạn cần phải thực hiện nhiều công việc hơn vì các thành viên trong nhóm của bạn không có kinh nghiệm.
Bây giờ, gán giá trị cho mỗi tham số như dưới đây a = 120, m = 170, b = 200 Các nỗ lực để hoàn thành nhiệm vụ có thể được tính toán bằng cách sử dụng công thức phân phối đôi hình tam giác như sau: E = (a + 4m + b)/6 E = (120 + 4 * 170 + 200)/6 E = 166.6 (man - hours) Trong công thức trên, tham số E được gọi là Trọng số trung bình. Đó là ước tính của nhiệm vụ "Tạo bản mô tả thử nghiệm". Nhưng boss của bạn có thể hỏi bạn: "Độ chính xác khi estimate của bạn là bao nhiêu?" Trong dự toán trên, bạn chỉ cần xác định một giá trị có thể và không phải là một giá trị nào đó, chúng ta phải biết về xác suất ước lượng là chính xác. Bạn có thể sử dụng công thức khác: SD = (b - a)/6 SD = (200 - 120)/6 SD = 13.33 (man - hours) Trong công thức trên, Độ lệch tiêu chuẩn SD, giá trị này có thể cung cấp cho bạn thông tin về xác suất ước tính là chính xác.
Bây giờ bạn có thể kết luận ước lượng cho nhiệm vụ "Tạo bản đặc tả kiểm thử" Để hoàn thành nhiệm vụ "Tạo bản đặc tả kiểm thử" của trang web, bạn cần 166.6 ± 13.33 Man-hour (153.33 đến 179.99 man-hour)
Bước 4) Xác nhận việc ước lượng
Sau khi bạn tạo ước tính tổng hợp cho tất cả các tác vụ được đề cập trong WBS, bạn cần chuyển nó tới ban quản lý, người sẽ xem xét và phê duyệt nó.
Thành viên Hội đồng quản trị có thể bao gồm Giám đốc điều hành, Giám đốc Dự án và các bên liên quan khác.
Ban quản lý sẽ xem xét và thảo luận kế hoạch dự toán với bạn. Bạn có thể giải thích cho họ ước tính của bạn một cách hợp lý và hợp lý để họ có thể phê duyệt kế hoạch ước tính của bạn.
Thử nghiệm ước lượng thực tiễn tốt nhất
Chủ đề này giới thiệu các mẹo chung về cách ước tính độ chính xác của Kiểm tra.
-
Thêm một số lý do cần thêm thời gian: Nhiều điều mà chúng ta không thể lường trước được có thể xảy ra với dự án của bạn, chẳng hạn như thành viên chủ chốt đột ngột bỏ công việc của mình, việc kiểm tra mất nhiều thời gian hơn dự kiến hoàn thành...vv... Vì sao bạn cần tính tất cả rủi ro trong dự toán của bạn để đối phó với bất kỳ sự chậm trễ có thể xảy ra.
-
Lập kế hoạch tài nguyên tài khoản trong dự toán: Bạn nên làm gì nếu một số thành viên trong nhóm của bạn rời bỏ? Nó có thể trì hoãn dự án. Lập kế hoạch nguồn lực trong dự toán đóng một vai trò quan trọng. Sự sẵn có của các nguồn lực sẽ giúp đảm bảo rằng các ước lượng là thực tế.
-
Sử dụng kinh nghiệm trong quá khứ làm tài liệu tham khảo: Kinh nghiệm từ các dự án trước đây đóng một vai trò quan trọng trong khi chuẩn bị dự toán thời gian. Bởi vì một số dự án có thể giống nhau, bạn có thể sử dụng lại ước tính trước đây. Ví dụ: nếu bạn sử dụng để thực hiện một dự án như thử nghiệm một trang web, bạn có thể học hỏi từ kinh nghiệm đó, cố gắng tránh mọi khó khăn hoặc các vấn đề đã gặp phải trong các dự án trước đây.
-
Theo ước tính của bạn: Ước tính chỉ là ước tính vì nó có thể sai. Trong giai đoạn đầu của dự án, bạn nên thường xuyên kiểm tra lại các ước lượng xét nghiệm và sửa đổi nếu cần. Chúng tôi không nên mở rộng dự toán sau khi chúng tôi sửa nó, trừ khi có những thay đổi lớn trong yêu cầu hoặc bạn phải đàm phán với khách hàng về việc đánh giá lại.
Nguồn dịch: https://www.guru99.com/an-expert-view-on-test-estimation.html