Agile Development and Agile Testing
Today, more and more teams are shifting over to AGILE. One of the interesting facts about agile development is that it comes in many variations, from Scrum to Extreme Programming and more; but regardless of the approach you follow there a number of principles in agile development that everyone agrees to:
- Customer satisfaction is achieved by frequent delivery of useful software
- Changes in requirements are part of the software development process
- Regular adaptation is needed to comply with the changing circumstances
When you work based on frequent deliveries, constant changes and regular adaptations; how can you still manage an efficient testing process?
Part of the philosophy behind agile development & agile testing talks about shifting towards automated testing as the means for covering regression testing & test driven development to achieve more stable code from the beginning. This “advise” is helpful but it still falls short from providing the solution and the guidance needed by a QA team to cope with the challenges of shifting to AGILE.
There are books that talk about this, and Joel wrote about agile testing in his blog. But in the end there is nothing like the experience from working with many organizations that shifted to AGILE with the help of PractiTest, and from the knowledge we’ve gain from our own experience developing PractiTest as an agile team. The tools you use will help you achieve your testing and development goals in the same way that a hammer and the nails help the carpenter to make his furniture, and flexibility & adaptability is a must when you are looking for a tool to help you manage your agile process.
PractiTest Test Management Solution for Agile Development
A quick search on the Internet will show there are many solutions specifically designed to handle agile development, and some of them even claim to support agile testing, but we still see many customers who check them out and find they are missing important functionality needed to cover the testing process.
As a methodological test-management solution, from time to time we are asked to show how we support agile development and testing, and an interesting fact is that we support Agile Testing without having any specific feature developed solely for this purpose!
How do we do it? The answer is simple, we believe in flexibility. PractiTest enables YOU, the user, to customize the system based on your process, your product and your needs.
If you working based on sprints, for example, you can customize the system by creating a custom field called SPRINT and adding it to your requirements (or user stories), to your tests and to the issues in your project. Once you have this field in place you can organize all your data and work based on the sprints you defined. You can then create views and reports that will make it easy for everyone to gain visibility into their tasks and those of the team and allow the whole team to manager their work fast and easily.
What’s even best is that you can modify the values in the fields and even the fields themselves with a small number of “clicks” and in a matter of seconds (without the need to of complicated customizations or processes).
Another aspect common to Agile Testing is the popularity of Exploratory Testing among testers. This approach works mainly by defining testing charters up front and documenting your testing steps at the same time you execute the tests. In PractiTest this is easily achieved with the functionality available that lets you edit your tests steps even when you are running them within the Test Sets & Runs module.
There are many aspects that define Agile Development & Agile Testing, and the truth is that each organization and even each team will approach Agile in their own individual and different way (based on their needs and their constraints). In this same way, we believe that it is not correct or even possible to try to define for you how you should manage your agile testing process. The best approach, the one we believe in, is to give you the freedom to let you decide how to work and to support you process your way!