Webinar: Best Practices of Agile Testing
This webinar contains simple ideas about agile testing. The author explains what agile testing is about and some examples. Let’s start with the Agile Manifesto.
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
The agile manifesto doesn’t indicate that the elements on the right are less important. This is like a change of mentality to agile teams. Priorities change, but still, everything has to be done. The idea is to be more active in every process, be ready for changes, interact more with other people involved in the project and to avoid what is not necessary.
Let’s see the difference between standard waterfall development and agile development. In a waterfall development we need to do the requirement analysis, then the system design, then we code and finally the QA and bug fixes. It doesn’t sound so bad, but the reality is other.
The reality is that it ends up being a chaos. When something unexpected happens we need to start over. In agile development we have many releases. In these iterative releases we do only what we need. It’s important to mention that on every release, the testing process is done. This helps to be aware of bugs in early stages rather than on the final and only release, like in a waterfall development.
Agile doesn’t mean to skip parts of the process. Many agile teams think that documentation hasn’t to be done or moving the deadline is a good thing. This is not agile, agile is very orderly. We need what we need, but not skipping parts of the process.
Test driven development is the way to go. We first have to write unit tests and then write code according to those tests. If new features are added to the project, we repeat the cycle. This ensures that the code will always be testable. In the video we can see simple JUnit test cases as an example.
Testing compliance matrix keeps getting bigger. The complexity of software and web apps grows, so we have to test more and more.
The advantage of agile testing is that is done in short iterations. Right after the development is done, testing kicks-in. This gives a chance to fix bugs and to test the software again to be sure everything is good. This is done on every release of our development process.
Javier Rojas D.