3 methods to make use of knowledge, analytics, and machine studying in check automation

Simply 10 years in the past, most utility growth testing methods centered on unit testing for validating enterprise logic, guide check instances to certify consumer experiences, and separate load testing scripts to substantiate efficiency and scalability. The event and launch of options had been comparatively sluggish in comparison with right now’s growth capabilities constructed on cloud infrastructure, microservice architectures, steady integration and steady supply (CI/CD) automations, and steady testing capabilities.

Moreover, many purposes are developed right now by configuring software program as a service (SaaS) or constructing low-code and no-code purposes that additionally require testing the underlying enterprise flows and processes.

Agile growth groups in devops organizations purpose to scale back function cycle time, enhance supply frequencies, and guarantee high-quality consumer experiences. The query is, how can they scale back dangers and shift-left testing with out creating new testing complexities, deployment bottlenecks, safety gaps, or important value will increase?

Esko Hannula, product line supervisor at Copado, spoke to me in regards to the current acquisition of Qentinel and the testing challenges dealing with devops organizations. He believes machine studying is vital to dealing with rising check volumes. “The standard of digital enterprise is the standard of the code and testing that runs it. The extra code there may be to check, the extra essential it will get to marry machine studying with check automation. QA individuals and machine intelligence can help one another in making smart selections based mostly on knowledge fairly than a mere intestine feeling.”

I not too long ago wrote about utilizing service virtualization to develop extra strong net service exams when constructing microservices or interfacing with many third-party APIs. I then seemed a step additional and researched testing capabilities based mostly on knowledge, analytics, and machine studying that growth groups and QA check automation engineers can leverage to develop and help extra strong testing.

These capabilities are rising, with some testing platforms providing strong performance right now whereas others are in early adopter phases. Growth groups ought to analysis and plan for these testing capabilities as they are going to all change into mainstream capabilities.

Producing exams utilizing pure language processing

Take a look at high quality has improved considerably over the past decade as QA platforms analyze a webpage’s doc object mannequin (DOM), leverage laptop imaginative and prescient to detect consumer interface adjustments, and make the most of optical character recognition to extract textual content components. However creating exams usually requires check engineers to click on by consumer interfaces manually, enter knowledge in kinds, and navigate workflows whereas QA platforms file the check case.

An rising strategy is to make use of pure language processing (NLP) to doc check instances. Sauce Labs not too long ago acquired AutonomIQ, a tool that enables users to describe the testing steps in natural language and then their software automatically creates the test cases.

John Kelly, CTO of Sauce Labs, describes why this capability is important as more organizations develop customer relationship management customization, business process management workflows, and low-code applications. He describes the experience from a business perspective: “I have internal business processes that subject matter experts can describe in natural language, which NLP machine learning can then convert to test cases that can run as often as desired. I can then demonstrate to outside auditors that controls are followed properly. So, a codeless approach to creating test cases is an emerging way to document and validate business processes.”

Expanding tests with synthetic test data generation

Once QA engineers capture test cases, the next task is to generate sufficient test data to validate the underlying business rules and boundary conditions. Test data generation can be particularly challenging for open-ended experiences like search engines, complicated multifield forms, document uploads, and testing with personally identifiable information or other sensitive data.

Tools from Curiosity Software, Datprof, Delphix, GenRocket, Torana (iCEDQ), K2View, and others provide test data automation capabilities for different applications and data flows, including functional testing, API testing, dataops, data lakes, and business intelligence.

Optimizing continuous testing practices

Several platforms are looking to help agile development teams and QA automation engineers optimize their testing practices.

Failure analysis helps development teams research the root causes when tests fail. Kelly describes the challenge: “You have a thousand selenium tests, run them all, and get 300 failures. The team doesn’t know if it’s a broken API or something else and whether the problem will happen in production, knowing the test environment doesn’t fully reflect it. They’re interested in the root causes of test failures. Our models cohort the failed tests and report which tests are related to the same problem.”

Another challenge is optimizing the test suite and determining which tests to run based on a release’s code changes. Testing teams can heuristically design a “smoke test,” a regression test around the essential app functionalities and flows. But for devops teams implementing continuous testing, there’s an opportunity to connect the data between tests, code changes, and production systems and apply machine learning to choose which tests to run. Optimizing the tests in a build is a much-needed capability for dev teams that release code frequently on mission-critical applications.

One solution targeting this challenge is YourBase which creates a dependency graph that maps test cases with their code paths. When developers change the code, the tool uses the dependency graph to optimize which test cases need to run. Yves Junqueira, CEO of YourBase, told me, “We see companies that have tens or even hundreds of thousands of tests. They want to improve their lead time to get code to production and improve developer productivity. These teams must make smart decisions about which tests are really necessary for their changes and want a better understanding of test failures.”

A third approach operates outside the testing environment and helps device engineers and software developers trace production errors, exceptions, and critical events. Backtrace provides this capability. Development teams use its aggregate error reporting and deduplication analytics to quickly find and resolve issues in gaming, mobile, or other embedded applications.

The key for devops organizations is recognizing that driving frequent releases on more mission-critical applications requires a parallel effort to increase the automation, robustness, and intelligence in testing. AIops platforms help IT service management teams support microservices and complex application dependencies by centralizing operational data and enabling machine learning capabilities. In a similar manner, QA platforms aim to provide agile development teams with automation, analytics, NLP, and machine learning capabilities to improve testing.

Copyright © 2021 IDG Communications, Inc.

Source link

Leave a Reply