Technical Test Estimation for software projects: Detailed instructions

Tram Ho

What is the Test Estimation?

Test Estimation is an approximate time to perform a task. Estimating effort for testing is one of the main and important tasks in Test Management.

Why Estimate?

The two questions you may receive from your customers when discussing commitments during testing are

For small projects, these questions are relatively easy to answer. But for large projects, you have to think carefully to answer those questions.

In this tutorial, you will learn-

What is the Test Estimation? Why do Test Estimation have to be implemented? Estimate what? How to Estimate? Step 1) Divide the whole project task into sub tasks (small task) Step 2) Allocate each task to team members Step 3) Estimate effort for the task Method 1) Function Point method Method 2 ) Three Point Estimation Step 4) Validate the estimate Practice Test Estimation most accurately Other techniques

Estimate what?

  • Resource: Resource is required to perform any task of the project. It could be people, equipment, vehicles, sponsorships or whatever is likely to be needed to complete a project activity.
  • Time: Time is the most valuable resource in a project. Each project has a separate delivery deadline.
  • Human skill: Human skill means the knowledge and experience of Team members. They affect your estimation. For example, a group with members with low test skills will take more time to complete the project than a group with high test skills.
  • Cost: Cost is the project budget. In general, it means how much money it takes to complete the project.

How to Estimate?

List of Test Estimation Techniques estimation a software project

  • Work Break Down Structure
  • 3-Point Engineering
  • Wideband Delphi Technology
  • Function Point / Testing Point Analysis
  • Use – Case Point Method
  • Divide by percentage
  • Ad-hoc method

Following is the 4-Step process to implement Estimation

Step 1) Divide the entire task of the project into small tasks

A task is a piece of work that has been assigned to someone. To do this, you can use the Structured Work Break Down technique.

In this technique, a complex project is divided into modules. Modules are divided into sub modules. Each auxiliary module is divided into functions. It means dividing the entire task of the project into the most sub tasks.

Use the Work Break Down structure to divide a Bank project into 5 Sub tasks

Then you can split each task for Sub task. The purpose of this activity is to create a task as detailed as possible.

Step 2) Allocate each task to team members

In this step, each task will be assigned to the appropriate member of the project team. You can be assigned the following task:

Step 3) Estimation effort for tasks

There are two techniques that can be applied to estimation effort for tasks

1. Function Point method

2. Three Point Estimation

Method 1) Function Point method

In this method, Test Manager estimates estimation of complexity, duration and cost for tasks.

Step A) Estimate the complexity of the task

In Step 1, you divided the entire task of the project into a sub task using the WBS method. Now you estimate the complexity of each task. Let’s practice with a special task, ” Create specification tests “.

The complexity of this task depends on the functionality of the test system. Functional magnitude reflects the number of functions relevant to the user. The higher the size, the more complex the system.

Before starting the actual estimation effort, the Function Points are divided into three Complex, Simple Average groups as follows:

Based on the complexity of the software functions, Test Manager has sufficient basis to classify the tasks

GroupWeight
Complex5
medium3
Simplefirst

STEP B) Estimate the duration for the quest

After classifying the complexity of the functions, you must estimate the amount of time to test them. Duration means how much time it takes to complete a task.

  • General effort : Effort to test all the functions of the website
  • Total Function Points : Total number of modules of the site
  • Estimate is determined for each Function Points : Effort averages to complete a Function Point. This value depends on the productivity of the member who will be in charge of this task.

Suppose your project team has estimated 5 hours / Point for each Function Point. You can estimate the total effort to test all the features of a website as follows:

Column 1WeightageFunction Pointstotal
Complex5315
medium3515
Simplefirst44
Total Function Points34
Estimate is determined for each point5
Total Estimated Effort (Person Hours)170

So the entire effort to complete the task ” Create test specification ” of the Bank web is about 170 hours

Once you understand the effort required, you can assign resources to determine task execution time (time) and then you can estimate labor and non-labor costs.

The example above also shows the importance of your team members. If you have talented and experienced members, you can complete the assigned task in small time and your project will be completed on time or sooner.

STEP C) Estimate costs for the tasks

This step helps you answer the customer’s last question. How much does it cost?

Suppose, on average, your team’s salary is $ 5 per hour. The time required to create the Test Specs task is 170 hours. Accordingly, the cost for the task is 5 * 170 = $ 850. Now you can calculate the budget for other activities in WBS and calculate the overall budget for the project.

As a project manager, you must decide how to get the highest return on your company’s investments. The more accurate the Estimate of your project costs, the better you will be able to manage the project budget.

METHOD 2) Three Point Estimation

Three Point Estimation is one of the techniques that can be used to estimate a task. The simplicity of Three Point Estimatio makes it a very useful tool for Project Managers who want to estimate.

In Three Point Estimatio, three values ​​are initially created for all tasks based on previous experience or best predictions, as follows.

When estimating a task, Test Manager needs to provide three values, as specified above. Three values ​​are determined, estimating what happens in the optimal state, the highest possibility or what we think would be the worst case scenario.

See how to use the three values ​​above in the following example

For each task, create a “test specification”, can you estimate the amount of effort required to test it? Remember that you must estimate all modules of the Bank website as implemented in Function Point Method

You can estimate the following

  • The best case to complete this task is 120 people – hours (about 15 days). In this case, you have a talented team, they can complete the task in the shortest possible time.
  • The most likely case to complete this task is 170 people – hours (about 21 days). This is a normal case, you have enough resources and ability to complete the task.
  • The worst case to complete this task is 200 people – hours (about 25 days). You need to do more work because your team members are inexperienced.

Now, assign values ​​to each parameter as shown below

The completed task can be calculated using the formula of the double triangle distribution as follows-

In the above formula, the parameter E is called Average Weighted. It is an estimate of the task. Create test specification

You can use other formulas:

In the above formula, SD means Standard deviation, this value can give you information about the probability of an accurate estimate.

Now that you can finish estimating the task, let’s create a test specification.

To complete the task, create the Bank Website test specification, which requires 166.6 ± 13.33 hours (153.33 to 179.99 hours)

Step 4) Verify the estimate

When you create the aggregate estimate for all the tasks mentioned in WBS, you need to forward it to the managers who will review and approve it.

Members of management can include the CEO, project director and other stakeholders.

Managers will review and discuss your estimate plan with you. You can explain to them your estimates appropriately so that they can approve it.

Practice Test Estimation most accurately

This topic introduces general tips on how to Test Testation correctly.

  • Add some buffer time : Many unpredictable things can happen to your project, such as a talented member of the team suddenly leaves his job, testing takes more time than with estimate to complete Etc, etc. There is a buffer in estimte that allows to deal with any possible delay.
  • Planning resources during the estimation process : What should you do if some of your team members are on leave? It may delay the project. Resource planning in the estimation process plays an important role. The availability of resources will help ensure that estimates are realistic. Here you have to consider the suitability for your team members.
  • Using past experience as a reference : Experiences from past projects play an important role while preparing estimates. Because some projects may be similar to others, you can reuse historical estimates.
  • Stick to your estimate : Estimate is an estimate only because it may be wrong. In the early stages of the project, you should regularly review the estimates and make modifications if necessary. We should not extend the estimate after fixing it, unless there are major changes in the requirements or you have to negotiate with the customer about the estimate again.

Software Test Estimation Excel (.xlsx)

Other techniques

Wideband Delphi Technique, Use – Case Point Method, Percent Distribution, Ad-hoc Method is the other estimation techniques in Software Engineering.

Video : https://youtu.be/btNboe_EhX8

The article was translated and modified from the source: https://www.guru99.com/

Share the news now

Source : Viblo