Sitemap

Automated (Test Execution + Decision Making) = ?

4 min readJan 26, 2021

--

As per Wikipedia Software testing is an investigation conducted to provide stakeholders with information about the quality of the software product or service under test. This article explains about the evolution of software testing in 3 simple equations and highlights the problems & limitations in the current Test Automation approach.

Manual (Test Execution + Decision Making) = Test Execution Approach used in the Past

Initially the software Testing was performed manually, The testers has to select the tests which need to be executed and then manually executes them and document the results. When the software development methodologies evolve, we were able to develop complex and large application but to test this large application manually in limited time became a challenging task.

Automated Test Execution + Manual Decision Making = Test Execution Approach used at Present

Manually Testing the large application in limited time becomes challenging, Automated Testing was introduced to solve this problem. In software testing, test automation is the use of software separate from the software being tested to control the execution of tests and the comparison of actual outcomes with predicted outcomes. But recently even the test automation becomes challenging task. Below section explains about current challenges faced by test automation

Ongoing and future challenges in Test Automation

As the software development methodologies evolved further, The frequency of the software deliveries has increased exponentially and the time allocated for testing drastically reduced. This creates stress and anxiety in Test automation team.

Because if the application is getting changed multiple times in a day then the corresponding automated testcases also needs to be updated to cope with application changes. As a result, the Automation testers will end up in spending most of their time and effort in only fixing the tests. And majority of these fixes are related to object repository changes.

The below chart shows there is an aggressive growth in test execution frequency

In waterfall model we may execute the necessary testcases hardly once in month. But at present in DevOps model we have to execute the necessary testcases at least once in a day and need to fix the object repository related changes in parallel.

The Next challenge for Test automation is the time allocated for testing is sharply declining.

In Waterfall model the time allotted for test execution may be in months. But in DevOps the time allotted for testing is maximum 5 to 10 minutes. So within this limited time the necessary test has to be executed. We cannot execute the complete regression suite every time as the time allocated for testing is very less. The current automated test solution is only capable of executing the static test suite. The same set of test cases will get executed every time until we manually interrupt and update the test suite.

The manual interruption(Decision making) is required to fix object repository changes and to create test suite manually every time to cover the functionalities relevant to the application changes.

Automated (Test Execution + Decision Making) = Test Execution Approach required in the near Future

The challenge in current test automation process is the manual decision making process. We can automate the decision making process using Artificial Intelligence and it will restore the stability and happiness for Test automation team. The following are some of the AI features that should be integrate with test automation solution

  • Self-Healing Test automation — Automatically fixes the Object Repository related changes.
  • Dynamic Test suite generator — Automatically generates the test suite which comprises of tests that are relevant to current application changes.
  • Bug Hunting or Exploratory Test AI — This feature Tests the AUT with all possible combinations and tries to crash the application in different ways.
  • AI Error Detection — This feature is used to detect the application errors from the screenshot accurately using computer vision.

The Article in the below link contains the detailed information about each and every AI based features in Test Automation. Click Here

Conclusion:

From the above topics it is clear that soon we have to upgrade the current test automation approach. The Artificial Intelligence will take care of the repetitive decision making tasks and we can spend our valuable time and effort in doing the creative tasks.

Connect with me in Linkedin

--

--

Yuvaraja
Yuvaraja

Written by Yuvaraja

Passionate about developing an AI-based Test Automation Framework. 💡 Check out my AI-based test framework tools and demos https://link.medium.com/90mo7Trinyb

No responses yet