Whenever I check with teams that are supposed to do performance testing, the standard answer I get is that the project is delayed by a few weeks. Tell me a project that is not delayed during its development phase. This delay in development phase, crunches the timeline for functional testing. But the management will not change the target dates, as the customer will never accept the same. So, the natural tendency is always to push performance test as much as possible. When releases do happen, unless the product is exposed to a larger consumer audience, the vendor will have known functional bugs to deal with. So performance test is always an un-welcomed activity.
The second major reason to postpone performance test is the lack of tools and resources. Most of the organizations do not have proper load testing and monitoring tools in place. Just because the people do not know tools and techniques, they will claim that the product can handle 1000s of users, without any evidence. How can the management counter check that, when they do not have the tools in place?!
![apm-tool-performance-expert](images/dec-28-2015-blog.jpg)
The third reason is that, the vendors think that the newly released product will not really go thru a large user base. Hence the customer has no way to catch them, before the performance issues strike. A few weeks later, the development team will mend something to improve the performance. Most of the times, the original vendor who develops the product will be the maintenance vendor as well, hence they can manage the customers well.
The fourth major reason is the absence of any service level agreements with the vendor on performance. If the customer insists that the product must respond withing 3 seconds for a load of 1000 users, and without that, the release of payment will not happen, will the vendor do load test or not? How many release certificates do contain the performance certificates? Lack of enforcement of SLA leads to not doing performance testing or postponing the same.
Last but not the least. The customers need to be a little uncompromising when it comes to performance of apps. If they look at a working product and not a faster product, that mindset percolates to vendors and it goes to every team member.
If you see any of the teams, postponing performance testing, ask them to read the previous blog post on exorbitant cost of postponing performance tests.