How has this course changed?
This course provides more hands-on training on the techniques of test automation and the use of some of the most popular tools. These techniques are put into the wider context of the testing process, including why you would use test automation and what benefits you will achieve by doing so.
What skills can people expect to develop from completing this course?
As well as understanding the concepts and rationale of test automation, our goal is to equip people with the skills (and confidence) to be able to:
- discover the state of a system from a continuous integration server;
- retrieve the latest version of the system from the source code repository;
- run the automated tests of the system, including the unit tests written by the developers;
- create and run automated acceptance tests using tools like Selenium, Cucumber, and SoapUI.
Why is automation becoming increasingly important?
As I wrote in my blog “The Impending Extinction of Testers”, repetitive tasks like following a test script can be carried out by others at a lower cost. The real value of a tester is going to be in areas like exploratory testing. Often testers have not had time to spare in this way, but after automating the more repetitive tasks, they will have more time available which can be directed to these high-value activities.
This course teaches Acceptance Test Driven Development and Behaviour Driven Development, why is this range so important for testers?
These techniques are the proverbial fence at the top of the cliff – quality assurance as opposed to quality control. Performing acceptance testing after the code has been written (while still important) is the ambulance at the bottom of the cliff. It allows us to verify that the developers have the correct understanding of what is required, but only after the fact. How much more efficient could the team be if we could ensure a correct understanding of the requirements before the developers write a line of code?
This is where ATDD (Acceptance Test Driven Development) and BDD (Behaviour Driven Development) fit in. By defining the acceptance tests first (with the whole team) and using those tests to drive the development work we are practising quality assurance, with the result that the process of running the acceptance tests later (quality control) should be a mere formality to tick the boxes rather than a last-minute discovering of problems.