Test Automation for Agile team members
A recent survey of development and IT professionals* shows that agile is now the norm. The majority of development teams and projects now embrace the methodology, while pure waterfall approaches are in the minority. So I think is very important that we know how to do automation as an agile team member.
Bellow are few of the things that you guys should consider to implement or refine in your agile team.
All team member should write tests
Many of the agile team leave testing on the QA hands , the developers doesn’t care when it comes about testing. Well to be part of a successful agile team you should convince your team that all team members should write tests. Make sure unit testing is done by the developers and you are aware of the coverage that they add.
Some of the projects they skip integration testing completely and thats a very important part and can save a lot of tests and time from the UI testing.
Another good thing when all team members are writing tests is also the domain knowledge for each team member , because sometimes happens to ask someone from the team about a functionality and he doesn’t have a clue how it’s supposed to work.
Balance test creation activity between QA and developers
Balancing the test creation help both sides of the team , the devs will get more insight how the app work as a system and the QA can get more technical knowledge writing tests and have them reviewed by a developer.
Include web tests creation in task estimation
When you guys have the grooming session and planning session you should discuss together and include testing activity in the complexity estimation. Most of the teams keep automation testing activity as a separate activity and is so wrong.
Include web tests in DONE criteria
Take responsibility and make sure when a story is done your tests are done as well . There is no better way to make sure each functionality has 100% coverage , having it in the DONE criteria the team will be responsible to deliver the story and with the relevant tests against it.
Review code of web tests during code review
Reviewing the code of the tests during the code review will give you a big pulse in the team , and will help the developer to understand the impact of that feature on the user and also the QA to get more technical insight.
Web tests are always verified by QA
Make sure the web tests are verified by the QA and not by the developers or any other members.
Use TDD approach to avoid delays
Using TDD approach you can avoid delays in writing your tests. It’s always better to write your tests upfront and follow them by the functionality. I will cover in a next article the TDD approach in an agile team in more details how you can implement it successfully in your team.
Always refactor web tests
As I mentioned in an previous article you always need to refactor your tests and improve tests efficiency. There is no point creating tests if you are not going to keep them up to date.
Refactoring process can include adding more tests , changing the existing one or deleting deprecated tests.
Use automation tests running on CI server ASAP
Don’t keep your tests running on your local , move your tests in a continuous integration tool and get feedback ASAP.
Cover 100% of functionality
At some point I had the chance to discuss with a QA manager from a company and his approach was not to cover 100% of the functionality in automation just the key tests. I think is a bad approach because you should add 100 % coverage for all crude tests. When I say “functionality ” I’am not referring to accessibility or usability testing, it’s about purely functional testing.
Hope you enjoyed this article and as ai mentioned above I will write few more articles about general approaches in automation as TDD.