Go to previous article – Agile testing strategy and best practices
What is Agile Testing?
Agile testing is defined as a “software testing practice that follows the principles of agile software development”. Unlike most practices Agile Testing involves all members of a cross-functional agile team (especially the testers) to make sure the quality and business value expected by the customer is delivered at certain intervals.
Most practices see testing as a phase or a separate process from development, but not in Agile. Testing is a vital and integral part of development that promotes continuous repetition.
One common myth about Agile Testing is that it does not produce quality results. This misconception results from implementing Agile incorrectly. In fact Agile Testing improves upon quality due to its high focus on Automation Testing. By constantly testing and using different tools that help in the process, Agile Testing helps reduce bugs and improve the quality of the product substantially.
The use of Agile also helps reduce the cost since testing and programming happen within the same period. This makes it much easier to detect bugs early on– and prevent them.
An Agile Tester continuously improves skills, gains new knowledge, and is passionate about helping the business succeed. There are always new and efficient ways to test and the Agile Tester must constantly be on the lookout for those methods.
Team goals are very important since Agile Testing is a team effort, so communication between teams and individuals is critical; everyone is responsible for the quality and effectiveness of the product.
There are numerous methodologies within Agile Testing. Some are used often and, as technology advances, in the coming years some will either become outdated, replaced, or improved upon greatly. Here are a few examples:
Agile Testing and Scrum
This Agile development method focuses on managing tasks within a team based environment. Scrum believes in empowering the development team and promoting small teams. The three roles in Scrum are: scrum master, product owner, scrum team.
DSDM stands for dynamic software development method. In software development this is a rapid application development technique which grants the users involvement in the project and the team the authority to make decisions. DSDM is carried out in seven phases: pre-project, feasibility study, business study, functional model iteration, design and build iteration, implementation, and post-project.
This technique is best used when there are constant project changes going on. XP will “release” the product in short development cycles which ensures the requirements are being met along the way.
Agile Testing can be successful if everyone on the team contributes and communicates changes and ideas. This form of testing is different from most since it requires a certain mind-set and skill-set. If done properly agile can increase the success of the team, reduce cost, cut down on errors, and push the product to its final stages much faster.
Also see: Shifting to Agile