What do you think of outsourcing specialty testing, such as performance testing? Will this make a team “less Agile” and if so, what are the risks of this approach?
Requires Free Membership to View
When you register, you'll receive targeted emails designed to keep you informed of the most relevant information on Agile development, application security, testing & QA, software requirements, and more.
Hannah Smalltree, Editorial DirectorAs mentioned in the previous answer, in some cases the only way to get meaningful performance testing is to use a specialized performance testing provider. In Agile, we work in small increments, and usually we only plan for the next sprint or two. It’s critical to plan ahead for testing activities requiring outside help. During release or theme planning, the team should think through all four Agile Testing Quadrants (fig. 1), identify all testing activities that are required before release, and make sure they have all the people and resources to get these done at the right time. People and tools to do the testing are not the only issue. You may need large amounts of production-like test data, which could take a lot of time to create or obtain.
The “Agile” way to approach “Quadrant Four” aspects of quality is to think about them up front and do spikes if needed to prove that an architecture or design scales and provides acceptable response time. Whenever my team embarks on a new, complex theme, we come up with a design that we think will work. Then, two programmers pair on a “spike” -- they implement the design in code that will be thrown away. They do performance testing on the code, and decide whether the design provides acceptable performance. It may just need some tuning, or we may need to start all over with a new design. When you leave performance testing to the end of a project, it’s too late to start over. If the performance isn’t good enough, the whole project may fail.
This was first published in July 2011