Trang chủ » Kỹ thuật estimate trong kiểm thử phần mềm

Kỹ thuật estimate trong kiểm thử phần mềm

Admin 15 Sep, 2022

Kiểm thử phần mềm được coi là một phần không thể thiếu trong quá trình phát triển. Gần đây, các loại kiểm thử khác nhau đã xuất hiện và độ phức tạp cũng tăng lên. Các kỹ thuật estimate trong kiểm thử phần mềm là gì và chúng được sử dụng như thế nào? Hãy cùng Trung tâm đào tạo tester tìm hiểu trong bài viết này.

Kỹ thuật estimate là gì?

Trước khi bắt đầu kiểm thử, hai vấn đề quan trọng đối với khách hàng nên được thảo luận: quá trình này sẽ mất bao lâu và chi phí là bao nhiêu. Để trả lời những câu hỏi này, cần phải ước tính các thông số như thời gian, nguồn lực, chi phí và kỹ năng của con người.

Kỹ thuật estimate (ước tính) trong kiểm thử phần mềm là một hoạt động quản lý để quản lý và ước tính thời gian, nguồn lực và chi phí cần thiết để hoàn thành việc thực hiện kiểm thử trong môi trường xác định.

Đây là một dự báo giúp tránh vượt quá giới hạn thời gian và vượt quá ngân sách. Ước tính đóng vai trò quan trọng trong lập kế hoạch dự án, phân bổ tài nguyên và tối ưu hóa hoạt động, đóng góp vào thành công của dự án.

  • Thời gian: Thành công của nhóm kiểm thử được xác định bởi khả năng đáp ứng đúng thời hạn. Chúng ta nên ước tính các nỗ lực kiểm thử, tính theo ngày công hoặc giờ làm việc, để tìm hiểu xem sẽ mất bao lâu. Các nhà quản lý tính toán thời gian tối ưu cho từng phân đoạn của dự án và thiết lập một lịch trình rõ ràng tuân thủ để giúp thực hiện các nhiệm vụ một cách kịp thời. Đây là lý do tại sao ước tính thời gian là một trong những yếu tố quan trọng.
  • Nguồn lực: Để thực hiện kiểm thử, nhóm cần tập hợp các nguồn lực nhất định( cơ sở hạ tầng, khả năng kỹ thuật, chuyên gia, thời gian và tiền bạc). Nếu không có đủ nguồn lực, nhiệm vụ không thể hoàn thành kịp thời. Cần phải ước tính các tài sản hiện có và những tài sản phải được thêm vào
  • Chi phí: Kiểm thử giống như bất kỳ công việc nào khác, đòi hỏi chi phí (bao gồm cả chi phí cho phần cứng, phần mềm và nỗ lực của con người). Ngân sách tổng thể nên được đánh giá và thống nhất trước, để đảm bảo với khách hàng rằng quy trình sẽ được giữ trong ngân sách và sẽ không cần thanh toán thêm.
  • Kỹ năng con người: Đánh giá này xem xét các kỹ năng chuyên môn và kinh nghiệm của các thành viên trong nhóm. Trong trường hợp họ thiếu một số kiến thức, quá trình sẽ chậm lại, chi phí sẽ tăng lên.

Các kỹ thuật estimate truyền thống

Trong những năm gần đây, các kỹ thuật, công cụ và phương pháp khác nhau đã được phát triển cho mục đích này. Việc thực hiện và sử dụng chúng giúp đơn giản hóa quá trình ước tính một cách đáng kể.

Cấu trúc phân chia công việc (WBS)

wbs

Bản chất của kỹ thuật này là chia một dự án kiểm thử phức tạp thành các phần nhỏ để có được hệ thống phân cấp như sau: dự án nhỏ được chia thành các mô-đun con, mỗi mô-đun con được chia thành các chức năng con. Kết quả là chúng ta nhận được một cấu trúc rất chi tiết và minh bạch.

Vì các dự án nhỏ dễ được ước tính hơn nên chúng dễ được phân bổ cho các thành viên trong nhóm. Mỗi người chịu trách nhiệm về một nhiệm vụ và cung cấp kết quả trong một khoảng thời gian nhất định. Do đó, dự án có thể được kiểm thử hoàn toàn từng bước, không bỏ sót chi tiết nào. Cách tiếp cận này loại bỏ tình huống trong đó một số người kiểm thử có thể thực hiện một số nhiệm vụ đồng thời, trong khi các nhiệm vụ khác có thể chưa hoàn thành.

WBS là phương pháp mạnh mẽ và hiệu quả nhất trong số các kỹ thuật ước tính QA. Cho phép người quản lý dự án tạo ra một lịch trình rõ ràng và lập kế hoạch ngân sách đáng tin cậy. Nó cũng thúc đẩy hợp tác nhóm và cam kết cá nhân.

Ước tính ba điểm

uoc-tinh-3-diem

Đây là một phương pháp thống kê, nhưng nó cũng chia nhiệm vụ thành các nhiệm vụ con. Sau đó ba tình huống có thể xảy ra nên được ước tính cho mỗi nhiệm vụ phụ:

  • Trường hợp tốt nhất: Giả sử rằng bạn có một đội ngũ tài năng và tất cả các nguồn lực cần thiết và giả sử rằng không có vấn đề gì xảy ra và mọi thứ đều ổn, bạn có thể hoàn thành nhiệm vụ, chẳng hạn như trong 100 giờ làm việc (B). Đây là một viễn cảnh lạc quan.
  • Trường hợp dễ xảy ra nhất: Giả sử rằng bạn có một đội ngũ tốt, đủ nguồn lực và hầu như mọi thứ đều diễn ra suôn sẻ, mặc dù một số vấn đề có thể xảy ra, bạn có thể hoàn thành nhiệm vụ trong 150 giờ làm việc (M). Đây là một kịch bản bình thường.
  • Trường hợp xấu nhất: Giả sử rằng nhóm của bạn chưa có kinh nghiệm, mọi thứ trục trặc và bạn phải giải quyết vô số vấn đề, bạn có thể hoàn thành nhiệm vụ trong 200 giờ làm việc (W). Đây là một kịch bản bi quan.

Ta có 3 giá trị: B = 100, M = 150, W = 200

Bây giờ, bạn có thể tính giá trị trung bình cho ước tính kiểm thử (E) bằng công thức sau:

E = (B + 4M + W) / 6

E = (100 + 4.150 + 200) / 6 = 150 giờ làm việc

Vì giá trị trung bình có thể dao động một chút, nên để chính xác hơn, bạn cần tính độ lệch chuẩn (SD) – giới hạn mà E có thể thay đổi:

SD = (W – B) / 6

SD = (200 – 100) / 6 = 16,7 giờ làm việc

Ước tính ba điểm là một trong những phương pháp hiệu quả để kiểm thử phần mềm khi bạn có thực hành và dữ liệu các dự án trước đó và khả năng áp dụng chúng. Bản chất của phương pháp này là tìm ra những điều kiện làm việc tốt nhất và tồi tệ nhất cho nhóm của bạn.

Phân tích điểm chức năng (FPA)

Kỹ thuật này chỉ ra chức năng phần mềm từ quan điểm của người dùng. Nó ước tính giá trị của tổng nỗ lực có thể được coi là thời gian, chi phí hoặc quy mô nhiệm vụ. FPA dựa trên các tài liệu đặc tả như SRS. Như với WBS, dự án được chia thành các các mô-đun, mỗi mô-đun tùy vào độ phức tạp của nó được gán một điểm chức năng (FP). Nhiệm vụ đơn giản nhận được điểm thấp hơn, khó được điểm cao hơn. Tổng số nỗ lực được tính theo công thức:

Tổng nỗ lực = Tổng FP x Ước tính được xác định trên mỗi FP

Ước tính được xác định cho mỗi FP là một giá trị nhất định mà người quản lý kiểm thử xác định trên cơ sở kinh nghiệm của nhóm. Nó được tính theo thời gian, chi phí hoặc quy mô (ví dụ: 10 giờ / điểm, 100$ / điểm)

FPA không phải là một phương pháp thực sự chính xác, vì nó có rủi ro và có thể cho kết quả sai. Tuy nhiên, nó là một trong những kỹ thuật ước tính phổ biến hơn trong phát triển phần mềm và có thể được sử dụng kết hợp với các công cụ khác. 

Kỹ thuật Delphi

Đây là một trong những kỹ thuật ước tính được sử dụng rộng rãi nhất dựa trên khảo sát của các chuyên gia tham gia vào quá trình kiểm thử. Bản chất là một nhóm chuyên gia thảo luận về nhiệm vụ được giao dưới sự hướng dẫn của người quản lý và đưa ra dự báo cá nhân ẩn danh (nhiệm vụ này sẽ mất bao nhiêu giờ làm việc), đưa ra lý do cho ý kiến của họ.

Theo quy định, sau vòng 1, phạm vi câu trả lời khá rộng. Sau đó các chuyên gia được khuyến khích sửa đổi câu trả lời của họ có tính đến các đánh giá của các thành viên khác. Một số vòng có thể được diễn ra cho đến khi phạm vi câu trả lời giảm và có thể tính được giá trị trung bình. Quá trình kết thúc sau một tiêu chí xác định trước.

Kỹ thuật Delphi rất đơn giản và khá tin cậy do sự tham gia của những người có kinh nghiệm và được duy trì ẩn danh. Nó cho kết quả định tính và định lượng và có thể kết hợp với các phương pháp khác.

Ước tính Agile

Các kỹ thuật được mô tả ở trên phù hợp hơn với phát triển Waterfall và phát triển mô hình V. Họ sử dụng phương pháp tiếp cận từ dưới lên khi tất cả các chi tiết và yêu cầu cần được xác định và tất cả các nhiệm vụ phải được ước tính riêng trước khi bạn có thể lập kế hoạch về lịch trình và ngân sách của dự án. Các mô hình phát triển này, cũng như các phương pháp ước tính có những hạn chế đáng kể do tốc độ thay đổi chóng mặt trong ngành công nghiệp phần mềm. Do đó, số lượng nhiệm vụ sử dụng các phương pháp này hiện đang giảm.

Ngày càng có nhiều khách hàng và nhà cung cấp thích sử dụng phương pháp phát triển Agile vì nó nhấn mạnh việc phân phối liên tục, làm cho quá trình tập trung vào người dùng và mang lại lợi thế cạnh tranh. Ước tính Agile về cơ bản khác với các kỹ thuật truyền thống và sử dụng cách tiếp cận “từ trên xuống”.

Có nghĩa là, ban đầu, bạn xử lý dữ liệu hiện có và cung cấp ước tính cấp cao hơn đủ để bắt đầu dự án. Sau đó, khi dự án tiến triển, thông tin mới được tiết lộ và nhiều chi tiết hơn được phát hiện ở các cấp thấp hơn. Kiến thức mới được đưa vào ước tính, các giá trị được tinh chỉnh và cải thiện mà không làm ngừng quá trình phát triển. Cách tiếp cận này giúp nhóm có khả năng ước tính các tính năng mới một cách hiệu quả.

Nguyên tắc:

  • Hợp tác: Tất cả các thành viên trong nhóm đều được tham gia vào quá trình này; không ai có thể bị đổ lỗi cho một ước tính không chính xác
  • Tính nhanh chóng: Nó thậm chí còn quan trọng hơn độ chính xác
  • So sánh tương đối – ví dụ: Điểm được sử dụng thay vì ngày hoặc số tiền và được so sánh với nhau.

Quy tắc ước tính

Để ước tính bất kỳ dự ánkiểm thử, chúng tôi thực sự khuyên bạn nên tuân theo các quy tắc sau:

  • Cơ sở ước tính các yêu cầu phần mềm
  • Tận dụng dữ liệu, kinh nghiệm và kiến ​​thức từ các dự án trước
  • Thêm thời gian đệm hợp lý
  • Xem xét các rủi ro bên trong và bên ngoài có thể xảy ra (thời gian ngừng hoạt động, cải thiện kỹ năng, thiếu nguồn lực….) và mức độ phức tạp của ứng dụng
  • Xem xét sự sẵn có của các nguồn lực cũng như kiến ​​thức và kỹ năng của nhóm
  • Cập nhật dự toán nếu có thay đổi trong dự án
  • Xác minh ước tính và yêu cầu một chuyên gia bên ngoài xem xét nó.

Ước tính là một phần thiết yếu của quản lý kiểm thử, đặt nền tảng cho lịch trình kiểm thử và ngân sách. Các kỹ thuật ước tính khác nhau trong kỹ thuật phần mềm được sử dụng thông qua toàn bộ vòng đời kiểm thử phần mềm và giúp chạy dự án một cách hiệu quả và hoàn thành đúng thời hạn. Chắc chắn, không thể có một kỹ thuật đúng và thích hợp để ước tính, vì mọi công việc đều có những yêu cầu và điều kiện riêng.

Đánh giá bài viết
Từ khóa:
Bình luận
Đăng ký nhận ưu đãi hấp dẫn
Đăng ký nhận ưu đãi hấp dẫn

    Icon Phone Icon Zalo