Digital transformation with Functionize’s intelligent test agent
The problems facing digital transformation
Creating a test in a legacy test automation tool takes a long time and requires skilled quality engineers. When things are going well the process looks something like this:
Employee buy-in and engagement
Getting your employees on-side is vital if you are going to succeed. They are the ones that will be directly impacted by the changes. And they will need to learn new ways to work. Sadly, some of them will also find their jobs under threat from the process. This makes it even harder to get them to engage in the process. As a result, you should be engaging them in the process, not just presenting them with a fait accompli.
The interconnected nature of systems
No system exists in isolation. But SaaS tends to provide point solutions for specific tasks. As an example, imagine moving over to a SaaS expenses system. This will make it easy for your employees to record expenses and take photos of receipts. However, your expenses system will also need to integrate with your HR system, payroll, and accounts. Unless you upgrade these systems too, you won’t see much benefit from the SaaS expenses system.
The time needed to complete the changes
Many executives think digital transformation is a quick fix. So, many SaaS companies bill it as such. But all too often, integrating a new system will take months, if not years. You have to train staff on the new system (taking their time and reducing their productivity during this process). Then you need to plan how to switch over from the old system (you could do it on a fixed date, in stages, organically, etc.). You also need to assess in advance all the other systems and processes that will be impacted.
Digital transformation is a journey
Fundamentally, executives need to understand that digital transformation isn’t a one-off event. It is a steady (and never-ending) journey. Each new service you use will impact your business and reveal another area where you can bring about transformation. SaaS tools aren’t static – they are forever being improved and upgraded. SaaS tools are designed to integrate with other services. So, as you switch over, you can start to make all your services work together.
How to improve your transformation journey
There are three ways you can simplify your digital transformation journey. This isn’t rocket science, just plain common sense.
1Plan properly. You need to have a full plan for your digital transformation. A roadmap for the journey ahead of you. Every company will have different constraints, so every company will need a bespoke plan.
2Choose wisely. The best solutions make it easy to integrate with other tools. They solve multiple problems in a single package. And they are easy to use. Finding the best solution for you takes detailed research and a healthy dose of skepticism about the salesmen.
3Get your staff on board. At the end of the day, it’s your staff who will make the transformation work. So, it pays to get them on board from the very start. Show them how the new systems will improve their lives and involve them in the planning process.
Functionize can help you get your digital transformation right. For instance, we have concentrated on making our solution easy for anyone to pick up. We use artificial intelligence to simplify the whole process of automated testing. Our system integrates with all the major CI/CD tools. We are also agnostic to your choice of test management tool. The end result is a test solution that is easy to integrate into your existing systems and which is easy for your staff to switch over to.
How Functionize achieves digital transformation
Functionize leverages a combination of techniques including natural language processing, computer vision, and machine learning. The result is an intelligent test agent (ITA) which will lead the digital transformation of your automated testing.
Our ITA can take test plans written in plain English and convert them into fully-functional tests. These tests can run on any platform (including mobile) without the need for modification. Because it is based on machine learning, the ITA learns how your application UI is meant to work. It can then cope with most UI changes and updates without the need for you to intervene. It is based on two core technologies.
Natural Language Processing
NLP is our natural language processing engine that takes test plans and converts them into tests. Test plans are written in plain English, so anyone on your team can contribute (unlike Appium, which requires skilled developers). These plans can be unstructured text (like the user stories your product team uses). Or it can take structured test plans, such as those produced by test management systems. In both cases, it compares the test plan with your UI and works out what is meant to happen in the test.
ML Engine is the brains at the heart of our intelligent test agent. It combines multiple forms of artificial intelligence to learn how your UI really works. When you pass in a set of test plans via NLP, these act as instructions to teach ML Engine about your application. It uses these to build a complex model of your entire application. This model takes account of hundreds of data points for every element within the UI. 50 test plans can be modeled in just a day, and once complete, each test can be run on any platform without modification.
Analyzing the results of Functionize tests couldn’t be easier. For every test step, ML Engine captures before, during, and after screenshots, highlighting any unexpected result on the screen. This approach has two big advantages. First, anyone can verify that the test is doing what it is meant to (something you can’t check in Appium). Second, anyone can instantly see any test failure and can then drill in to see more details (including the history of previous runs for that test).
All Apps and UIs go through multiple changes in their life. Often, these changes may be simple visual or style changes. Other times, they may involve moving elements on the screen or rearranging menu items. These sorts of changes cause real problems for any script-based mobile app testing system because they change the selectors for the UI elements. This results in legacy test scripts undergoing constant maintenance. Our tests are different. Elements are selected using machine learning and a complex set of descriptors that act like a fingerprint. Even when things change, the element can still be identified. This means Functionize tests are self-healing.
Root Cause Analysis and 1-click Updates
Some changes are more fundamental and affect the functionality or introduce ambiguity to the test. Here, test failures may not show up until many steps later in the test. In these cases, our Root Cause Analysis engine will identify the most likely cause of the failure. It then uses the history of that test to come up with likely fixes which it tests. These are then ranked and presented to you to choose the best one. You can then select this with 1 click, and the change will be learned and propagated through all the tests.