The Role of a Modern Tester in The Era of ML and AI
Let's take a look at the role of a modern tester in the ear of Machine Learning and Artificial Intelligence.
Join the DZone community and get the full member experience.Join For Free
We keep hearing about new solutions for test automation and continuous testing. Such solutions aim to increase the test automation authoring as well as the maintenance associated with these tests as the product evolves.
With this trend, many software quality engineers, SDET, and test automation architects are asking themselves whether their job is at risk and what the future holds for them.
Prior to answering these questions, and re-profiling the modern testers role, let's examine the terms ML/AI, the algorithms behind these tools, as well as the tools landscape as of today.
Artificial Intelligence, sometimes called machine intelligence, is intelligence demonstrated by machines, in contrast to the natural intelligence displayed by humans and other animals. In computer science, AI research is defined as the study of "intelligent agents": any device that perceives its environment and takes actions that maximize its chance of successfully achieving its goals. The term "Artificial Intelligence" is applied when a machine mimics "cognitive" functions that humans associate with other human minds, such as "learning" and "problem-solving."
Machine Learning is a subset of Artificial Intelligence in the field of computer science that often uses statistical techniques to give computers the ability to "learn" (i.e., progressively improve performance on a specific task) with data without being explicitly programmed. In a recent blog post from Mabl, ML was also defined as "Machine Learning is the process of continuously presenting a machine with a well-defined data sample so that behavior can be developed."
Common Methods for Developing ML/AI
- Backchaining is a technique used in teaching oral language skills, especially with polysyllabic or difficult words. The teacher pronounces the last syllable, the student repeats, and then the teacher continues, working backwards from the end of the word to the beginning. For example, to teach the name "Kinsbruner" a teacher will pronounce the last syllable: "ner," and have the student repeat it. Then the teacher will repeat it with "--bru-" attached before: "-bru-ner," after which all that remains is the first syllable: Kins-bru-ner
- The lookahead-based algorithms are used for induction of decision trees, allowing a trade-off between tree quality and learning times.
Lookahead and Backchaining — are the leading models for decision-making as part of Machine Learning.
ML and AI Tools Landscape
In the mobile and desktop web testing landscape today, we see a few vendors starting to operate.
Without drilling into each specific solution, here is a list of vendors that offer specific ML/AI set of solutions:
- Mabl — desktop web ML test automation solution that leverages a chrome add-on trainer to build code-less test automation
- Testim.IO — Desktop and Mobile Android code-less test automation solution that also uses a browser add-on to build robust test automation that aims to address the problem of dynamic objects
- TestCraft — web-based code-less selenium test automation solution for testing web apps
- Applitools — visual test automation and monitoring for mobile and web apps
- Test.AI — ML-based mobile native test automation
- Perfecto — Cloud-based solution for testing mobile native apps and web-based applications, offers AI based reporting with error classifications, and analytics to optimize the entire CI/CD workflows.
What Does All of the Above Mean to Modern Testers?
As mentioned above, there are a plethora of tools evolving, aiming to solve test authoring, analysis, and maintenance problems. While these are all awesome initiatives that will position testing higher and smarter in the overall DevOps processes, this does not translate into the extinction of the tester. Each of the above tools, as well as new tools that will rise, are rising to help the existing testers to become more agile, smarter, and efficient.
AI and ML Mean the Following to Test Engineers:
- A change in mind set — Aid Humans vs. Replacing Humans
- Training on modern ML/AI tools and techniques is required TODAY
- Use the tools to solve complex testing activities, don't neglect existing testing methods, they are still relevant, not all are supported by ML/AI
- Keep humans in control of these tools, evolve productivity — become a DevOps champion by embracing new tools and lead innovation
- Modify working processes accordingly (Go/No GO criteria)
- AI/ML tools are solving specific rather than holistic problems — keep that in mind
- Match proper AI/ML tools to existing pains in test automation
Published at DZone with permission of Eran Kinsbruner, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.