How to Estimate Testing in an Agile Project
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.
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
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 that 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
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.
Thank you for reading this post! If you enjoyed it, I encourage you to check out some of our other content on this blog. We have a range of articles on various topics that I think you’ll find interesting. Don’t forget to subscribe to our newsletter to stay updated with all of the latest information on Imaginet’s recent successful projects
Related articles:
- Your Estimates Are Wrong (… and What to Do About It)!
- Agile Project Management in Consulting
- Why Delaying Angular Tests Is A Bad Idea
discover more
SQL Saturday Part 2: Learning About Microsoft Fabric
SQL Saturday Part 2: Learning About Microsoft Fabric February 29, 2024 I’ve been digging into Microsoft Fabric recently – well overdue, since it was first released about a year ago.…
My Trip to SQL Saturday Atlanta (BI Edition): Part 1
My Trip to SQL Saturday Atlanta (BI Edition): Part 1 February 23, 2024 Recently, I had the opportunity to attend SQL Saturday Atlanta (BI edition), a free annual event for…
Enabling BitLocker Encryption with Microsoft Intune
Enabling BitLocker Encryption with Microsoft Intune February 15, 2024 In today’s data-driven world, safeguarding sensitive information is paramount, especially with the increase in remote work following the pandemic and the…
Let’s build something amazing together
From concept to handoff, we’d love to learn more about what you are working on.
Send us a message below or call us at 1-800-989-6022.