Artificial Intelligence

AI in Testing: The third wave of automation

The evolution of agile methodology enforced the enterprises to innovate and deliver at lightning speed. While delivery cycle time is decreasing, the technical complexity required to deliver positive user experience and maintain a competitive edge is increasing—as is the rate at which we need to introduce compelling innovations.

To meet the continuous integration and delivery needs, we have turned to continuous testing backed by automation but how do we test when these trends continue and gaps widen? As this is the time of digital transformation, we need Digital Testing to meet the quality needs of future driven by AI, IoT, robotics and quantum computing.

If we look at how testing practices changed over time, till 2018 it was focused on CI/CD, scalability and continuous testing.

Evolution of automation testing

Now the expectations from testing are more about real-time risk assessment. To cope up the testing expectations in current scenarios,  Artificial intelligence (AI), imitating intelligent human behavior for machine learning and predictive analytics, can help us get there.

Beyond Continuous Testing

If we analyze the journey since agile came into the picture, it has completely changed the way applications are delivered. Before agile, there used to be a release in a month or sometimes more than a month. With agile companies are aligned to have a two- weeks sprint and make a release in two weeks. To meet this, Continuous Testing came into the picture where automation suits were developed for regression and sanity testing. This supported quick deliveries and fast-paced testing cycles.

Now as the world is moving towards Digital transformation, the pressure to anticipate market requirements and build a system which is predictive and scalable enough to cater to future trends, going beyond continuous testing is inevitable. Testing will need additional assistance to accelerate the process. AI, imitating intelligent human behavior for machine learning and predictive analytics, can help us get there.

What is Artificial Intelligence?

Lets first understand what does artificial intelligence mean. Forrester defines AI as-

“A system, built through coding, business rules, and increasingly self-learning capabilities, that is able to supplement human cognition and activities and interacts with humans natural, but also understands the environment, solves human problems and performs human tasks. “

In simple words, AI enables machines to learn through data giving them the capability to make a decision. The algorithms are not written to solve a particular problem rather they are designed in such a way to enable the system to make a decision based on data.

How AI can be used in software testing?

Using AI and machine learning to automate-

a) Unit tests – Unit testing is very important to make sure that the build is stable and testable. With AI-powered unit test tools like RPA, a developer can get reduce the flaky test cases and maintenance of unit tests.

b) API testing- API testing saves time and effort by getting into the root cause of the issue. The problem with UI tests is that they are not reliable anymore as UI keeps changing in agile, while API tests give a deeper insight into the application and directly hit the root cause of an issue eventually making the application more robust.

There are many tools which are using artificial intelligence to help take the complexity out of API testing by converting manual UI tests into automated API tests, lowering the technical skills required to adopt API testing and helping organizations build a comprehensive API testing strategy that scales.

c) UI testing- The first step in automation is to convert manual UI tests into automated tests. There are tools which leverage AI to run the test cases on multiple platforms and browsers and also learn from the functional flow, reducing the maintenance effort and making testing more reliable.

Some of the most popular tools are mentioned below-

AI Powered testing tools- There are various testing tools which are using AI, though not harnessing the best of AI, they are still able to help testers a lot-

1. Applitools-  It is an AI-powered visual testing and monitoring tool that can run tests on different browsers and platforms. It uses AI to identify the meaningful changes in UI and also identify them as bugs/ desired changes.

It also leverages ML/AI-based for automated maintenance (being able to group together similar groups of changes from different pages/browsers/devices)

2. Testim- It leverages machine learning into the most critical part of automation which is execution and maintenance of tests.

3. Sealights-  Sealights uses AI and machine learning to analyze the code and run tests which cover the impacted area. It can be any kind of test- unit, functional, performance, manual, etc.

It provides a useful insight ‘Quality Risks’ which focuses user efforts on the things that matter by letting him or she knows exactly which files/methods/lines have changed in the last build that wasn’t tested by a specific test type (or any test type).

4. Test.AI- Test.AI is building as a tool that will add an AI brain to Selenium and Appium. It was created by Jason Arbon, co-author of How Google Tests Software and the founder of Appdiff. Tests are defined in a simple format similar to the BDD syntax of Cucumber, so it requires no code and no need to mess with element identifiers.

  • AI just like a real person, IDENTIFIES the screens and elements in your app.
  • AI EXECUTES user scenarios—test on-demand whenever you’re ready
  • AI RECOGNIZES elements so that even if things change, your test doesn’t break.

5. MABL- Like the other AI-based test automation tools, MABL can automatically detect whether elements of your application have changed, and dynamically updates the tests to compensate for those changes. You just need to show the workflow that has to be tested and MABL does the rest.

6. Retest- Retest propagates an innovative testing approach, which is a combination of “intelligent” monkey testing and “difference testing” and works actually more like a GUI version management than conventional testing.

This tool does Monkey testing whereby the monkey( is called Surili) is artificially intelligent and can be trained by users by capturing user actions.

7. ReportPortal- ReportPortal, as the name suggests, is an AI-powered automation tool which focuses more on report analysis and management. As per its website it-

  1. Manage all your automation results and reports in one place
  2. Make automation results analysis actionable & collaborative
  3. Establish fast traceability with defect management
  4. Accelerate routine results analysis
  5. Visualize metrics and analytics
  6. Make smarter decisions together

8. Functionlize- Functionlize provides an overall solution for seamless automation with less/no efforts in maintenance all with the help of AI. Its AEA tool finds and fixes the broken test scripts thus eliminating the manual maintenance.

Functionize uses machine learning for functional testing and is very similar to other tools in the market regarding its capabilities such as being able to create tests quickly (without scripts), execute multiple tests in minutes, and carry out in-depth analyses.

It also gives scalability to test suites by maintaining them in the functionlize test cloud.

The machine learning process is completely dependant on the data thus leading to a large volume of the dataset. AI model test scenarios should be equipped to identify and remove human bias which often becomes part of training and testing datasets.

There is a lack of awareness about AI and Machine Learning process and proper training is required to the testers.

AI in 2019 and beyond

As we have progressed from a linear waterfall model to agile, the future is all about AI and machine learning technologies. As a tester, we need to be upfront and start digging more about the various aspects of AI, take the hands-on in AI-powered tools and utilize them.

There are so many places where AI has already paved its way whether it be chatbots or Amazon’s Alexa, we need to be very keen about how we are going to the device out test cases to test such applications and deliver quickly.

With the increasing demand of AI-powered testing tools, testers might need training at earliest. Having advance knowledge of AI and its applications will be very helpful.

Talk to our Test Engineers

Fast track your ecommerce monitoring

Artificial Intelligence

Could AI/Machine Learning stop attacks like Petya, NOPetya, WannaCry?

WannaCry, Petya/NOPetya cyberattacks, cybercrime, ransomware cyberthreats, virus are some of the buzzwords that were at its peak till last week as shown on Google trends. While some experts are predicting this a role play for something “BIG” to come, the firms, government, institutions, organizations, hospitals are looking for measures to protect themselves against the next attack. Could they?

The famous quote by Callimachus is worth remembering here –

Set a thief to catch a thief!

Artificial Intelligence

There are ideally two ways to help your firm against these attacks. One was to gear up your resources and train them to be ethical hackers if you missed our last post on How Testers need to be ethical hackers do read it here. The next innovative way is to use technology against these attacks by using Artificial Intelligence and Machine Learning as surveillance tools and guard systems against any immoral activities. If you are keen to know how? Let’s dive in to find out–

How Could Artificial Intelligence and Machine Learning Stop Cyberthreats?

According to Gartner Research, the total market for all security will surpass $100B in 2019. As the world welcomes AI and ML with open hands, the technologies are sure to make an impact on cyber security. AI and ML are capable of predicting, preventing breaches at all level of software architecture making it just the perfect choice to detect anomalies.As per Cylance report – With efficacy rates at 99%, artificial intelligence and machine learning applied at the endpoint protects at levels never before seen.

AI- ML as a Surveillance Tool

It’s a tedious and mundane job for a human to scrutinize the logs and look for any suspicious activity, however with an AI-powered tool checking of logs and pointing to something random or susceptible would be an easy job. Just, for example, multiple logins across various devices from the same IP or someone with brute force is attempting to get into the system. These kinds of anomalies could be pointed out by an AI-powered system which then could be taken by a human to decide if it’s legitimate or illegitimate attempt.

As per Wired News – A system called AI2, developed at MIT’s Computer Science and Artificial Intelligence Laboratory, reviews data from tens of millions of log lines each day and pinpoints anything suspicious. A human takes it from there, checking for signs of a breach. The one-two punch identifies 86 percent of attacks while sparing analysts the tedium of chasing bogus leads.

Another Finnish Firm F-secure is combining the power of humans and machines in providing the best cyber security solutions to its clients. The most important factor in cyber security is time, as once the systems are breached the response needs to be immediate. For most the firms, it takes months to discover the breach itself, leave the response. Hence F-secure are offering solutions that could perform behavioral analytics using Machine learning and highlights the breach and anomalies in a real-time basis.

AI-ML - Predict, Analyse, and Act

An innovative way to predict cyber threats in modern times is via cyber security analytics. The analytics helps in getting insights about a “probable planned attack” before it happens. Once that data is gathered it’s time to act and prevent systems from Data Theft, Fraud or Data Deletion.

A firm LogRhythm with its solution offers Threat Lifecycle Management, Behaviour Analytics, Network, Endpoint, and Cybercrime detection, which is based on Artificial Intelligence and Machine Learning. In fact, Bill Taylor-Mountford, Vice President of LogRhythm, describes cybersecurity analytics as an “a smart machine that is always watching the data in your company. A machine that can filter out the white noise and look for the ones with unusual blips on the screen, the one browsing outside of their baseline.” Once the white noise is filtered out, it would be easy for Analysts to act and take preventive actions against cyber threats.

The combination of maths and science has the power to predict and stop threats like WannaCry, Petya, but does the firms trust their capabilities? Only time will tell, but cyber security solutions powered by AI and ML are indeed simple, scalable silent and efficient enough! It’s worth trying… Would you?

References:
#1    #2    #3    #4

LIKE THIS POST SHARE IT WITH YOUR FRIENDS

Share on facebook
Share on google
Share on twitter
Share on linkedin
Share on email