If you look around the testing landscape you will see that manual testing roles are disappearing, but not manual testing itself.
Despite this, this skill set of a manual tester is still needed. According to Brijesh Deb,
Agile Testing Evangelist and High Tech Test Manager at Sogeti, this is
simply because it is impossible to have zero manual intervention. Every
software, be it a mobile app or a component of the NASA rocket, would
have to go through some kind of a manual test at some level, at least.
Nevertheless, it appears that not all testers have the skill set to carry out automation tests.Deb commented: “Test automation is a far bigger animal with a much greater scope where everything from the inception, to the design to the coding, everything is done through automation.
Testing evolution
“The quality parameters have changed with a lot of additional weight now being given to non-functional parameters such as performance and security.“What this means is that the skill set of the testers has also had to evolve. With this changing outlook of the software testing industry and the evolution in testing, it is imminent that testers add automation to their repertoire as manual testing alone is not going to be enough.
“About a decade or so ago, there was a lot of impetus being given to UI tests and UI was the primary candidate for automation alongside regression tests. Despite this, manual testing can be ubiquitous as the tests and code written for automation are, typically, written manually.”
Furthermore, Anand Bagmar, Founder of Essence Testing, believes automation is NOT the only skill for a tester to contribute and be effective.
”There are many other areas where they can add value – but they need to be able to learn, understand and show a willingness to get close to technology and code – that is non-negotiable from my perspective,” Bagmar added.
Skills & capabilities
In order to build good quality software that will give value to the users of that functionality and in-turn, the creator of the product as well, Bagmar recommends testers must have the following skills and capabilities:- Have a testing-mindset
- Understand and radiate risk
- Be smart and effective in ways of working
- Optimise where possible
- Evolve in learning and understanding
- Ability/willingness/freedom to experiment and learn from what works well, or not
- Collaborate with all relevant roles for deeper and shared understanding.
“Be it the approach of testing the software manually or with automated tests, one common skill the testers must possess is “Test Craftsmanship”. Test Craftsmanship is a combination of the right testing mindset, with the knowledge of various testing tools and techniques. For manual testing, a solid grounding in test craftsmanship i.e., right testing mindset and the knowledge of various test design techniques might just be enough as it is more procedural in nature.
“Automation testing, on the other hand, requires knowledge of additional tool and languages for the tool to work. Depending on the context, both approaches serve different purposes and are equally important.”
DevOps & continuous delivery
Since the last decade, the focus is moving really quickly to DevOps. This means continuous integration (CI) and continuous delivery (CD) is absolutely impossible without continuous testing (CT). Yet, the fastest (or only) way to achieve CT is through test automation.“In the fast-moving delivery and release life-cycles, manual testing does not provide much value. We need to focus on a healthy combination of exploratory testing and test automation (of all applicable types) to be effective as a team to build a good quality product. Any test that is important to be re-executed over a period of time needs to be automated at an appropriate level in test automation,” added Bagmar.
“While there is so much focus on test automation, one of the hindering factors for testers from taking up test automation as a career option is the ‘Fear of Code’”.
Since test automation involves writing code that involves accurate knowledge of one or more programming language(s), this scares a lot of engineers, according to Deb. There is a common misconception in the testing world that testers normally do not have access to the code and are more often than not involved in black box testing. So, there is no need to actually learn to programme.
“What testers do not realise is the fact that the knowledge of code will help them, investigate defects, debug errors and expand their avenues more by helping them find the unknown. Testing IMO is more than just finding defects. It is about finding the unknown and helping make the software better,” continued Deb.
Technology involvement
The most important skill required from the tester is the ability to get hands-on involved in technology. This involvement can be at various levels according to Bagmar:- Be able to understand/read code and make sense out of the same (logic)
- Be able to understand/read the existing automated tests to know what “intents” have been automated – this reduces waste by having to repeat the same intent-validations manually
- Do effective gap-analysis based on what has already been automated, and what would add additional value if automated. Thus, the knowledge of what does not need to be automated, hence focus on more deeper learning, understanding and exploration using human-mind
- Contribute to enhancing automated test suite (unit/integration, API, UI/end-2-end /performance/security/etc.)
- Contribute to building a more testable and functional architecture.
No comments:
Post a Comment