Automation Testing
If a tester is doing solely manual work, they should begin to learn about how the automated tests run, what kinds of things are already tested in unit and automated tests, and how frequently automation is run. This allows the manual tester to help design regression cases that will be useful to the product, and to save their valuable test effort for areas that are not testable with automation.
To build skills in automation, testers should look within their organization for some of the following:
- Access to unit and automated test code
- Paired testing time with a developer who is writing unit tests for a feature that she will be testing manually later
- Paired testing time with the SDET writing the automated regression (if any) for the feature
- A walk-through of the test running and reporting systems used by the organization
- Other ways that automation are being applied to testing (load testing scripts, accessibility testing tools, security scans, continuous integration and deployment)
Gaining Exploratory Skill
The SDET who only writes automation should spend time performing exploratory testing, in order to keep familiar with how users are interacting with the product, and to better understand the parts of the product that can be easily tested with automation. There are some meaningful ways that an SDET can use exploratory testing skill in their practice:
- Paired testing time with manual tester to observe an exploratory testing session
- Paired testing time with a manual tester to observe manual regression
- Attend sprint-planning or three-amigos meetings to learn about acceptance criteria for a feature
- Learn how manual/exploratory testing efforts are recorded and reported
- Learn about the kinds of testing that must be conducted manually (some security tests, penetration tests, accessibility UX testing, some load testing)
The continuing debate over whether or not manual testing has value in a world of increasing automation is as tired as the idea that only skilled manual testers can bring value to a project. The truth is that computers do repetitive tasks like regression better and with more accuracy than humans, while humans bring the nuance and analytical skills necessary to determine how to push a feature to a breaking point in ways that cannot be predicted or programmed.
Employing a strict automation strategy is guaranteed to miss major bugs, because a computer cannot find what it is not told to look for. Meanwhile, employing a strictly manual strategy is a recipe for burning out testers on boring, repetitive work that does not utilize the broad capabilities of problem solving and investigation available in the human mind.
The best testing strategies will employ both manual testing and automation approaches that focus on the goals that testing is trying to accomplish for the product.