The agile approach promotes a more efficient and collaborative methodology for software development and testing. Developers and testers are seen as two sides of the same production coin.
Agile development breaks down work into “sprints”, which are fundamentally incremental work sequences where, for example, you commit to do a chunk of work in a couple of weeks. Usually, a “sprint” will result in completed code that can be released. This way of working is very different from the traditional waterfall development process where releases occur quarterly or annually. In the waterfall process the test team have several weeks to test a product following a development cycle lasting several months. The whole agile process breaks down if the test team can’t test a release in days not weeks.
Agile web testing is a new way of testing that is required by all agile development teams.
How do you do agile web testing?
There is no single answer and it is important to follow the agile mantra of adapting the process to fit each environment. This is how we implement agile testing:
- Testers are embedded in the development team and test each component within hours of completion, focusing on functional, usability and business testing
- The developers write their own module unit tests for all the common scenarios
- Each time that a developer merges their code into the common staging environment a set of automation scripts is run to ensure that the main pathways still function
- At the end of the sprint we run a 48hr crowd test looking for any functional, usability and performance issues across multiple devices that we might have missed
- Once we release the sprint to live we run a regression test checking the main functionality, this is to check that the deployment process has worked correctly.
If we make changes that might impact the site performance we run a full performance check.
If we make fundamental changes to our security framework we run a full security test.
Our site also uses the ‘Always On’ security product that monitors the site 24x7 for vulnerabilities to new security threats.
Why use agile testing?
Agile testing provides a way of releasing quality software within an agile development environment. Without agile testing the application is either released weeks after code completion or untested.
Agile testing is popular with developers too as it allows them to deliver code with minimal bugs. Critical bugs are identified and resolved before the code goes live. It means your wider development teams will not be left firefighting bugs.
Crowdtesting: a natural fit
There are only 2 ways of quickly performing a regression test at the end of each sprint:
- Run a complete suite of automated tests
- Perform a Crowd test using hundreds of testers across multiple devices
Unless you have automated all your user journeys there is only one choice if you want to ensure that you are releasing properly tested code, Crowd Testing. Understand more about how crowdsourced web testing can work for you by downloading our guide to revolutionising your web testing…