GST Billing Software

header image

SOFTWARE TESTING ESTIMATION

Erachana Line

Estimating the efforts required for testing is one of the major and important tasks in SDLC. Correct estimation helps in testing the software with maximum coverage. Test Estimation is a management activity which approximates how long a Task would take to complete. Estimating effort for the test is one of the major and important tasks in Test Management.


What to Estimate?

  • Resources : Resources are required to carry out any project tasks. They can be people, equipment, facilities, funding, or anything else capable of definition required for the completion of a project activity.
  • Times : Time is the most valuable resource in a project. Every project has a deadline to delivery.
  • Human Skills : Human skills mean the knowledge and the experience of the Team members. They affect to your estimation. For example, a team, whose members have low testing skills, will take more time to finish the project than the one which has high testing skills.
  • Cost : Cost is the project budget. Generally speaking, it means how much money it takes to finish the project.

How to estimate?

List of Software Test Estimation Techniques

  • Work Breakdown Structure
  • 3-Point Software Testing Estimation Technique
  • Wideband Delphi technique
  • Function Point/Testing Point Analysis
  • Use - Case Point Method
  • Percentage distribution
  • Ad-hoc method

Following is the 4 Step process to arrive at an estimate


Step1) Divide the whole project task into subtasks

Task is a piece of work that has been given to someone. To do this, you can use the Work Breakdown Structure technique.

In this technique, a complex project is divided into modules. The modules are divided into sub-modules. Each sub-module is further divided into functionality. It means divide the whole project task into the smallest tasks.



After that, you can break out each task to the subtask. The purpose of this activity is create task as detailed as possible.

Task

Sub task

Analyze software requirement specification

Investigate the soft requirement specs

Interview with the developer & other stakeholders to know more about the website

Create the Test Specification

Design test scenarios

Create test cases

Review and revise test cases

Execute the test cases

Build up the test environment

Execute the test cases

Review test execution results

Report the defects

Create the Defect reports

Report the defects


Step 2) Allocate each task to team member

In this step, each task is assigned to the appropriate member in the project team. You can assigned task as follows

Task

Members

Analyze software requirement specification

All the members

Create the test specification

Tester/Test Analyst

Build up the test environment

Test Administrator

Execute the test cases

Tester, Test Administrator

Report defects

Tester


Step 3) Effort Estimation For Tasks

Functional Point Method to estimate the effort for tasks

In this method, the Test Manager estimates Size, Duration, and Cost for the tasks


Step A) Estimate size for the task

In Step 1 , you already have broken the whole project task into small task by using WBS method. Now you estimate the size of those tasks. Let's practice with a particular task "Create the test specification"

The size of this task depends on the functional size of the system under test. The functional size reflects the amount of functionality that is relevant to the user. The more number of functionality, the more complex system is.

Prior to start actual estimating tasks effort, functional points are divided into three groups like Complex, Medium Simple as following:

Based on the complex of software functions, the Test Manger has to give enough weightage to each functional point. For example

Group

Weightage

Complex

5

Medium

3

Simple

1


STEP B) Estimate duration for the task

After classifying the complexity of the function points, you have to estimate the duration to test them. Duration means how much time needs to finish the task.



  • Total Effort: The effort to completely test all the functions of the website
  • Total Function Points: Total modules of the website
  • Estimate defined per Function Points: The average effort to complete one function points. This value depends on the productivity of the member who will take in charge this task.

Suppose your project team has estimated defined per Function Points of 5 hours/points. You can estimate the total effort to test all the features of project as follows:

Group

Weightage

No. of Function Points

Total

Complex

5

3

15

Medium

3

5

15

Simple

1

4

4

Function Total Points

34

Estimate define per point

5

Total Estimated Effort (Person Hours)

170

Once you understand the effort that is required, you can assign resources to determine how long the task will take (duration), and then you can estimate labor and non-labor costs.

Above example also shows the importance of the members in your team. If you have talented and experienced members, you can finish the assigned task in the small time, and your project will finish at the deadline or sooner.



STEP C) Estimate the cost for the tasks

This step helps you to answer the last question of customer "How much does it cost?"

Suppose, on average your team salary is $5 per hour. The time required for "Create Test Specification" task is 170 hours. Accordingly, the cost for the task is 5*170= Rs. 850. Now you can calculate budget for other activities in the same way and arrive at overall budget for the project.

The project manager has to decide how to get themost return for your company's investment. The moreaccurate your estimate of project cost is, the better able you will be to manage your project's budget.


Step 4) Validate the estimation

Once you create an aggregate estimate for all the tasks, you need to forward it to the management board, who will review and approve it.


Test estimation best practices

This topic introduces general tips on how to estimate Testing accuracy.

  • Add some buffer time: Many unpredictable things may happen to your project, such as a talented team member quits his job suddenly, the testing takes more time than estimated to complete… etc. That why you need include some buffer in your estimation. Having a buffer in the estimation enables to cope for any delays that may occur.
  • Account Resource planning in estimation: What should you do if some members in your team take long leaves? It may delay the project. Resource planning in estimation plays a key role. The availability of resources will help to make sure that the estimations are realistic. Here you have to consider the leaves for your team member, generally long leaves.
  • Use the past experience as reference: Experiences from past projects play a vital role while preparing the time estimates. Because some project may be some similarity, you can reuse the past estimation. For example, if you use to do a project like testing a website, you can learn from that experience, try to avoid all the difficulties or issues that were faced in past projects.
  • Stick to your estimation: Estimation is just estimate because it may go wrong. In early stages of the project, you should frequently re-check the test estimations and make modification if needed. We should not extend the estimation after we fix it, unless there are major changes in requirement, or you have to negotiate with customer about the re-estimation