LoadStorm’s development team uses Agile development methodologies, so it makes sense that we created our performance testing tools to support these practices and philosophies.
The imperative of Agile is to satisfy the customer through early and continuous delivery of valuable software. This methodology treats software development as the customer of testing.
Agile Testing is a set of software QA techniques that adhere to the principles of the Agile Manifesto.
The key elements of the Agile Manifesto:
- Individuals are more important than processes
- Software that works is more important than documentation
- Customer collaboration is more important than contracts
- Responding to change is more important than following a plan
Our definition of Agile Testing:
“A flexible testing practice that confirms early and often that the software will make the customer happy through simple, frequent automated acceptance tests.”
Since LoadStorm offers a free full-featured account (Breeze), you can create acceptance test scenarios for no cost. Running and analyzing the results from those tests costs nothing as well because the only charges for LoadStorm are incurred at increased user load. Your automated acceptance tests need only one virtual user to confirm that the web app is responding properly.
Agile development is commonly referred to as “test-first programming”. Because of its short iterations and quick releases, the need for automation is greatly increased. Wikipedia says, “Doing only manual testing in agile development may result in either buggy software or slipping schedules because it may not be possible to test the entire build manually before each release.”
LoadStorm provides an easy and cost-effective way to build quick, uncomplicated test plans for automated testing. This supports the unique needs of Agile methodologies better than complex/cumbersome testing tools because it is flexible, responsive, nimble, and rapid. If it takes a week to configure your automated testing tool to account for the user stories, then it certainly won’t result in a “test-first” reality. The team will always be dragging the testing component behind them – which causes Agile to break down and the project to fail.
Some proponents of Agile Testing have called it “the headlights of the project”. As it applies to web applications, it is all about checking quality as early as possible, and testing frequently as code becomes available. Thus, each click and form available to a user must be tested through every iteration to confirm stability of the entire code set. The smaller test scenarios must be automated, and once they are successfully run for a low volume of users, then additional test cycles can be executed for larger loads. Same test plan scenarios, only more virtual users. Ramping up is optional, and it’s what LoadStorm does best.
While LoadStorm probably does not support everything that software engineers may want for unit testing, most development teams want to add test interfaces to their products anyway. In addition to those interfaces, the team needs a simple, flexible, and quick way to build automated test plans from the users’ perspective to keep the customer involved.
Put another way, the customer can see the steps of user clicks through the web application and how response times are affected when more and more users are in the system.
Our tools support Agile Testing by allowing software engineers, customers, and QA team members to be conversational and iterative as they turn user stories into test scenarios. LoadStorm has such a simplified UI that customers can easily see the steps of a scenario and understand how it accurately reflects (or not) the intended functionality.