iSQI Blog - International Software Quality Institute

Unleashing the Power of Automation: From Test Cases to Testing bots

Written by ISQI Group | Feb 6, 2023 7:53:26 AM

We are delighted to offer this special guest blog in collaboration with the Australian and New Zealand Testing Board (ANZTB), one of the ISTQB® Member Boards.

Automation is a hot topic, and within the iSQI professional development portfolio, we see significant demand for ISTQB® Certified Tester – Test Automation Engineer (CT-TAE), A4Q Certified Selenium Tester Foundation, and A4Q Foundation Level Tester For Appium.

In this blog, our guest authors explore testing bots and their role in test automation.

 

Introduction

Continuous testing is the process of executing automated tests as part of the software delivery pipeline to obtain immediate feedback on the business risks associated with a software release candidate. When it comes to test automation, most organizations focus on test automation for continuous testing by automating the regression test cases.

It’s important to understand that when it comes to software testing, most of the activities performed by the testing team are going to be repetitive. Such is the nature of the job. At the end of the day, it all boils down to how many different inputs can be given to test and correlating them with the expected outputs. And while this process may seem menial for humans, a testing bot with intelligence is very well suited for this role.

In this blog, we will explore how automation can be used in other areas apart from test case automation and how to develop a testing bot according to your testing needs to get a higher return on investment (ROI) from automation.

 

Approach

Discover the repeatable tasks for automation according to your project needs by conducting brainstorming sessions with your testing team and prioritize the items to be automated. Develop and test the testing bot features one by one based according to priority.

The testing bot features would vary according to technology, applications, environment and databases used in your project. Below is a sample list of testing bot features which can be used to accelerate the manual testing:

  • Start and Stop Test Automation Execution
  • Visual Testing or look for specific item in the UI.
  • Debugging Issues
  • Monitor the logs for any error.
  • Start/Stopping the log collection.
  • Start/Stopping the windows processes.
  • Restart/Shutdown windows processes
  • Analyse the Test Logs based on a keyword.
  • Log Collection
  • Data Comparison before and after test is run.
  • Test Environment Setup (On-Premises/Cloud)
  • Launching any applications or Specific environment
  • Switching Test Environment test environment
  • Restart the application Server.
  • Test Data Generation
  • Test Data Setup
  • Checking/Configuring Database for any specific value
  • Checking/Configuring DNS/Gateways/Firewalls
  • Checking/Configuring Windows Registry values
  • Checking/Configuring Performance details in Windows
  • Checking the System Memory
  • Alert when there are any environment outages.
  • Any Insights Collection/Configuration Dump from the test environment
  • Any Testing Metrics Collection
  • Test conditions Generation
  • Accessing Web APIs
  • Integration with Messaging (Like Microsoft Team)
  • Perform Database backup and restore.
  • Configure a scheduled job.
  • Accessibility Testing
  • Convert the data formats from one to another (Example: JSON to Text)
  • Capability to Turn ON/OFF Voice Activated Commands

 

 

 Testing Bot Development

 



 

Fig. 1 How a Testing BOT Works

 

Identify the technologies and programming languages to build the automation utilities. Powershell is one of the powerful tools which will help to achieve the outcome according to your custom needs. You can start developing a simple Command Line Interface (CLI) initially and later the solution can be built as a GUI based tool using Programming languages such as C Sharp or CLI interface. If artificial intelligence, machine learning, text to speech and voice recognition (based on Microsoft technologies) is enabled, then automation utilities can be converted as a testing bot which respond according to your needs.

“Text to speech” is very easy as any action outcome can be converted from text to speech. PowerShell is one of the technologies to enable/disable “Text to Speech”. When “Text to Speech” is disabled, the plain English text will be displayed in the CLI prompt of the testing bot Voice Activation can be achieved by enabling features like voice typing in Windows 11. Voice typing uses online speech recognition technologies to power its speech-to-text transcription service. You can build your own commands dictionary by training the speech recognition. These voice commands can trigger the test automation utilities based on the need.

Confusion handling can be designed with a testing bot as the human dialogues contain several paraphrases, sentiments, multifaceted nuance, or obscure words. If there is any disturbance in the background, then voice activation or listening mode can be disabled and the commands can be given through the CLI.

When your DOM elements lack sufficient colour contrast, the users might have a hard time reading your website. The testing bot is capable for performing accessibility testing, when the logic is added as per your organization or compliance needs.

Testing bots are anticipated to be in increased demand. Before launching the testing bot formally, create unit tests for bots, use assert to check for activities returned by a dialog turn against expected values, use assert to check the results returned by a dialog, create different types of data driven tests. 

 

Benefits

It is important for your testing team to be well-versed in how these testing bots can be used so they can utilise their full potential. The below are the benefits of testing bots:

  • The testing bot is an all-in-one test automation
  • Increases accuracy as errors are rife with human
  • Helps to extend depth and scope of tests leading to improvement of quality and also help in continuous testing.
  • Helps to take your automated and manual testing to the next level by innovate and release better software, faster.
  • Though initial costs are high, saves significant time and effort for the team and becomes cost-effective with usage.
  • High ROI can be achieved by faster testing cycles and time to market.

 

About our Guest Authors

Pushparajan Balasubramanian (PB) is working as a Test Lead at Dynamo Recruitment Limited and he is one of the board members for Australia and New Zealand Testing Board (ANZTB). PB is focused on delivering the highest quality to his stakeholders and he has decades of experience in the field of Software Quality Assurance, Test Automation, Business Process Automation, Performance and Security Testing, Product Modelling, Product Management, Fulfilment, Assurance, and Billing. PB specializes in testing-based content writing and mentors aspiring IT professionals who want to move their career into software testing.

.

Vignesh Kumar Balasubramanian is working as a Core Automation Manager at CCL and he is one of the associate board member for Australia and New Zealand Testing Board (ANZTB). He has testing experience in various technology domains Cloud Technologies, Mobile Computing Devices, REST API/ Webservices, Mobile Operating Systems, and Wireless technologies. Practicing different flavours of Agile Methodologies (Scrum, SAFe, DevOps) and implementing Agile Test Strategies, building self-organized testing teams. Focused on using automation tools and frameworks for continuous testing (both functional and non-functional) to provide early feedback in all test phases.