I have tested custom applications for over 10 years now. However, I find I still have a hard time estimating tasks for an Agile project. Why is that? It’s probably because my background is not nearly as technical as the background of our Lead Developer, who is generally the person who runs the Sprint Planning sessions.  I tend to think it terms of hours and not story points, and I tend to allow the developers to set the story points at the beginning of the project.

Imaginet - How to Estimate Testing in an Agile Project - Sprint Planning Meeting

However, any time we estimate a task, we must be sure that the testing needs of that task are properly taken into account.  For example, we all know that as the application gets bigger and more mature with a greater number of features, it will take longer to do proper regression testing, depending on what area the User Story or task encompasses.

In addition, understanding the requirements around which browsers, mobile platforms, and screen resolutions must be supported are all important factors when determining how long it will take to properly test a task. Ultimately, the best estimation for any given task must include both the proper development effort AND the proper testing effort.

Estimating at the Beginning of a Project

In terms of estimating tasks at the beginning of a new application development project, in theory, it should be short and sweet. A brand new application will have fewer pages and less complex features for a tester to test. This should leave the tester with ample time to write testing scripts for future User Stories or tasks so that he/she won’t have to worry about writing those later when the application is more complex and final deadlines are fast approaching. It is at this stage of the project where a developer might take hours or days to develop new code for a task, but it will take the tester significantly less time to test it.

Estimating in the Middle of a Project

Imaginet - How to Estimate Testing in an Agile Project - Pair Programming

When estimating tasks near the halfway point of the project, regression testing will start to take a little longer. It is at this stage of the project where customer feedback is more fluid and change requests start to happen.

Testers now need to consider how one User Story or task can affect other areas or functions of the application. The tester must continually ask questions like “How will this User Story affect X, Y, & Z in the application?” and “Could changes from this task cause a ripple effect to other common components within the application?”. As a result, the tester will quickly find that the number the hours estimated for testing will start to mirror the number of hours estimated by the developer for development.

Estimating at the End of a Project

In contrast, near the end of the project, the smallest of changes or bugs fixes may take hours to test. Essentially, the roles are now reversed. It is at this final stage where developers are now more familiar with the nuances of the custom application, and in theory, the developers will resolve issues at a much faster rate.

For the tester, however, it is a different story. There are dozens of areas in the application in which a single check-in could now affect, and the tester must properly identify these during regression testing.  Remember, when estimating at this point in the project, it is always best to over-estimate as opposed to under-estimate the testing hours needed.

Final Thoughts

Imaginet - How to Estimate Testing in an Agile Project - Daily Scrum

The moral of this article is simple: the best estimation for any given task in an Agile project must include proper development effort AND proper testing effort. And the proper testing effort will be highly dependent on what stage of the project (beginning, middle, or end) you are currently in.

And remember, you will never hear a customer say, “Hurry up and let’s worry about bugs later when our app is live!” As long as the tester can clearly communicate to the stakeholders why small changes at the end of the project will require bigger testing efforts, then you should have no problem getting the support you need to include the additional testing time required to ensure a solid, quality application.

Need Help with Your Testing Efforts?

If you need help with any of your custom application testing efforts, just know that Imaginet is here to help. Imaginet’s award winning Application Development team has helped hundreds of clients around the world architect, design, develop, test, deploy, and support their web and mobile applications for over 20 years – and we can help you, too. To find out more, request your free consultation call with Imaginet today.

 

Request Your Free Consultation

=====

Imaginet is your trusted technology partner who turns your business innovation ideas into reality. 20+ years | 1200+ satisfied customers | 2500+ successful engagements. Primary services include Web Application Development, Mobile App Development, and SharePoint consulting services, with additional specialties in Power BI & Business Intelligence, Office 365, Azure, Visual Studio, TFS, & Azure DevOps, Skype for Business, and more. Located in the United States (Dallas, TX) and Canada (Winnipeg, MB) with services offered worldwide. Contact us today at info@imaginet.com or 1-800-989-6022.

Jason Parent

About Jason Parent

Jason Parent has been leading Imaginet’s Quality Assurance team since 2008. In this role, Jason is responsible for developing the overall software quality approach for Imaginet’s software development practice. Jason has extensive experience creating test plans, writing test cases and test scripts, conducting system testing, and tracking software application defects and fixes.