Test Automation
Test automation
Agile methods are broadly introduced in organizations nowadays. In the first wave, this normally means: new ways of working; e.g. using Scrum or Kanban. In the second wave, however, most efforts are invested in automation. This automation, or ‘Continuous Delivery’, means being ready to deploy to production whenever you want. To get to this point, all manual steps need to be fully automated. However, when implementing Continuous Delivery in practice, in many cases, the first major impediment is often a lack of test automation.
Why automate tests?
Teams are responsible for delivering high quality, reliable software sustainably. The only way a team is able to do that is by automating tests. Else they will never have enough time to test an entire application over and over again, each time they want to ship it.
Test automation, how?
By automating tests, the quality of your product increases, you can receive fast feedback, less time is spent on ‘easy’ test tasks and the barrier between tests decreases. We like to state that time spent on test automation is time well spent. Focus on the long term!
“When working in a team in an Agile context, it is the responsibility of the team, not just of the testers to guard the quality of the product.”
Test Automation in a nutshell
- Gain knowledge about Test automation by for instance, attending a training
- Embed test automation in your way of working, think test first!
- First create your tests, then your code
- For current code, look at the most important parts and focus on those areas first
- Put test automation on your Definition of Done
- During code reviews, take a look at the created automated tests
- Make sure collaboration takes place between test- and development experts
- Agree what test automation types you use in different situations
- Make sure feedback comes at least once a day
- Create transparency about the time spent on creating the tests
- Create a test automation backlog
- Start with specification by example to drive your test automation
- Higher quality products
- Less time spent on manual testing
- Robust Test Automation frameworks using several tools
- Fast feedback
- Shorter regression time
- Speedier execution of tests, thereby reducing time required for new releases
Test automation – Why should you?
The following video illustrates a production line without test automation
What went wrong:
- The box is upside down – Obvious error
- The big box is expanded to the right – Integration test
- People are distracted by a butterfly – Exploratory test
This is how it works with test automation
A few benefits of test automation are:
- Prevent obvious errors from being released by fast feedback on tests
- Improve the quality of the product
- Early customer feedback fastens the feedback loop
Downloads
Download the whitepaper by Pieter Versteijnen, below.
In this article, Robert van Vark (CTO) and Rini van Solingen (Strategic Advisor & Professor at TU Delft) go deeper into the principle of CD in 90 days.
Download the whitepaper by Robert van Vark, the creator of Continuous Delivery in 90 days, below.
Assessments
Take a few minutes for this online assessment and discover your current position considering time-dependent testing and get practical suggestions for improvement!
Take a few minutes for this online assessment and discover your current position considering time-dependent testing and get practical suggestions for improvement!
Take a few minutes for this online assessment and discover your current position considering Continuous Delivery and get practical suggestions for improvement!
Find out what you can gain by implementing Continuous Delivery
Training courses
Gain knowledge of various Software testing techniques and practices based on Agile software development methodology
Explore and learn Agile testing practices, techniques and explore the role of the tester in an Agile team
How do I structurally develop high quality and maintainable software?
How can I ensure that high quality software is being delivered in an Agile environment?
How can I create functionality that is fit for the purpose of using Behavior Driven Development?
How can I create functionality that is fit for the purpose of using Acceptance Test Driven Development?
How do I create automatic UI tests using Selenium or CodedUI?
How can I effectively create acceptance tests using SpecFlow and make it part of my testing strategy?