Software products and services are becoming more and more complex. Modern products are interconnected with a plethora of services and data streams to provide the best user experience. At the same time, companies develop their products not for a single platform. Instead, they develop their products and services for all kinds of devices. For example, from a smartwatch to a mobile app to a browser or desktop application and to other “devices” such as cars or home appliances.
If a company is developing a product across the different devices using different data streams to enrich the product with additional information, this is one of a kind technical challenge for the software development and software testing team. To overcome the technical challenges, a software development team need to invest in the quality of their development. They need to take the time to invest in the right development and testing strategy. If they don’t invest the time, they will lose in the long run the quality of their products. However, even though teams invest in their development and testing strategy, it’s easy to focus “just” on the technical aspects and choosing the right tech-stack. Don’t get me wrong, this is one important aspect, but only the one side of the medal. The other side of the medal are the users. The customers who will use the product and service. And to be honest, a user is not interested on the underlying tech-stack. The user is interested in a smooth running product that can solve a problem for him or her.
Therefore, software development teams must focus as well on the users while implementing their products. The user focus or user centricity is in most cases something product people or designers will focus on during their research and discovery phases. However, this is such an important aspect, that also the developers and testers must have the users in mind, while coding and testing the product. But as mentioned a bit earlier, many products are developed cross-platform on different systems and layers, and it’s not easy to find the right tool, especially a test automation tool that can handle all those issues, cross platforms with the user and their journeys in mind. But TestResults.io, might be the right choice for you.
TestResults.io Mission
TestResults.io has the mission to verify any software from the user’s point of view. With TestResults.io, you are able to automate the whole journey a user takes through your applications. From systems, browsers, windows, devices and more, completely technology-agnostic.
TestResults.io is more than an automation solution. It’s a platform, that covers all aspects of modern software development and testing to enable teams to build the best possible solution for their customers. Next to the automation you get management dashboards, traceable reporting, Visual Studio Extension, a user journey designer as well as seamless integration to thousands of other services, just to name a view.
No matter if your application is running in the cloud, is an API, a mobile app, an embedded device or business solutions like SAP or running on different operating systems, TestResults.io can handle all of them.
Using a model/image-based approach, TestResults.io enables you to:
- Run your end-to-end automated test scripts against all kinds of browsers, operating systems, mobile devices and even on legacy software.
- You can create low-maintenance model based automation
- Define and develop functional as well as non-functional tests
- No need to worry about the underlying technology of the software under test, the all-in-one platform handles it for you.
Getting Started with TestResults.io
This sounds too good to believe, right? Being able to automate everything from a user perspective, no matter what system it is! Let’s take a closer look at TestResults.io. If you want to try it out yourself, please follow this link to download the installer (Windows only).
TestResults.io consist of three parts.
- Management: The management interface is a web portal, where you can manage all your test cases, software artifacts and environments. You get detailed reports and a full traceability functionality.
- Designer: The designer is the heart of TestResults.io. It comes within Microsoft Visual Studio Code and provides a simple interface to create models of your software under test.
- Execution: The execution can happen basically everywhere. On your local machine from within Visual Studio, from your own hosted CI/CD system, or on a cloud offering.
For this article, I want to focus on part two, the designer, which I think is the most interesting one for now.
AI Powered Test Designer
Once you have installed TestResults.io and finished the configuration, you can create your first TestResults.io project. The first thing you need to do is to define your test environment. This can be a remote desktop, a virtual machine or a mobile device. Once done, you can start with the second step in creating your model of the software under test. As mentioned before, this can be a webpage, a mobile app or a desktop application. The engine of the TestResults.io designer allows you to build the model based on images or text displayed on the product you want to test. As you can see on the screenshot below, the software under test screen is visible.
The first time you open the software under test, an AI engine is checking the system you want to test and is providing an interactive view of the page. You can now select each element on the screen to define, which part of your model, you want to prepare for the test case designer. This can be an element, label, drop down menu or a button, just to name a view possible elements. Then simply select the area of your screen that represents the element you want to interact or verify. This is typically done by just telling the system the label of an element. It will automatically detect the correct element. Provide a name and save it.
Once you have built up your model with all the elements you want to use in your test cases, you can save the model and open the test case designer section. You now have two options to create your test case. The first option is to drag and drop the elements of the model in the test case steps, you can easily design your tests. On each step you can add additional parameters what TestResults.io should do in the execution phase, i.e. click the button, scrolling or verifying.
The second option is to make use of test prompting using the AI power of TestResults.io. By just telling TestResults.io what you want to test, the AI is automatically creating the test cases for you. It uses the model and elements you defined before. In the following screenshot, you can see the prompt and the created test cases.
Creating test cases with the designer is super easy and takes just a view seconds, no matter which option you are using. Also, if your model is changing, there is no need to adapt the test cases again. Just change the elements, save the model and reload it in your test case creation section. Done. Your test cases have been updated automatically. Please note, that the designer of TestResults.io is not a capture and replay tool. You have the possibility to change the steps by writing your own C# code. Since TestResults.io designer is an extension to Visual Studio, you are able to design and execute all your models and test cases locally. This is super convenient for developing and debugging the tests.
Conclusion
Customers expect running software products. They don’t care which tech stack is used to build the product or how it’s tested. At the same time, software development teams invest lots of time and money into the right tech stack and the tools coming with it. This can end up in a mix of tools for developing and testing, which makes the lives of the developers and testers not easier. Because of that, developers and testers lose the focus on the user and the real problem they want to solve for them.
After trying out TestResults.io, I believe this tool can help the software development and testing team finally to focus again on the users. With the possibility to automate everything from a user perspective, the teams don’t need to care about the nitty-gritty details of a test automation solution and on which level a test should be automated or not. Just automate what you see on the screen, no matter what device and platform. This will reflect the user needs and will move the user again in the center of the development and testing phases.