There is no denying that the enterprise market is moving towards a digital scenario, both in regards to customer and business-based applications. End-to-end testing is a natural solution to the problems stemming from this shift.
Now, in this rapidly changing environment, it becomes imperative to perform software test automation in order to ensure quality and speed. But at the same time, this situation makes Continuous Testing a challenge; thanks to the numerous mobile devices and browsers available in the market.
So, to validate the business-critical applications, organizations need to create a test automation strategy that works for both human and non-human interfaces. Parasoft SOAtest/Virtualize has combined with the Experitest SeeTest Continuous Testing Platform to enable end-to-end testing from real devices and browsers.
Here is everything you need to know:
Execute End-to-End testing in parallel across real devices and browsers
At its core, the SeeTest continuous testing platform provides you with the capability to perform parallel execution. We also have a solution for accessing remotely located devices in order to manually execute exploratory testing. These solutions can be used to debug physical devices in the cloud and integrate with any test creation environment such as Appium, IntelliJ, and Eclipse. Also included are test analytics and visual testing tools.
Enough about us though. Let’s come back to the importance of user experience across various devices. As mobile apps started to gain prominence, every organization began to understand its importance. Once everyone had apps developed they started to realize that they also needed to deliver an excellent user experience.
Everyone moved their attention to R&D, but now they are bringing QA back to a more prominent role in the organization.
It is not enough that brands offer a website with a mobile version. Users and customers expect a mobile app, with an API that communicates with your app from a packaged application.
This is where Parasoft and Experitest come in.
Parasoft tests the mobile interfaces, web interfaces, extend the accessible APIs and integrates them with the internal constructs of an application as a whole. You can test all of them in isolation, but as customer experiences are spanning across the interfaces; automated end-to-end testing with Parasoft SOAtest, often referred to omnichannel testing is critical.
With both of these together, the tester can get a view on what is going on through the entire customer experience. Now, after the automation of functional testing, your application is no longer your application, but there are a whole bunch of external dependencies now.
Now, this is where the service visualization comes into play. This is also the same place where Parasoft tests an application, emulating the behavior of buffer of an external dependency on the backend.
Extracting the relevant API calls from your UI testing and leverage AI to build automated API test scenarios
This is what your workspace will look like:
Once you log into the environment, take a look at the specific test instances and environments in the test ecosystem. You can also execute various test scenarios against the test environment. Here is how you build a test:
- Build tests through a thin client interface.
- Use an Eclipse-based interface, that is integrated with both Parasoft and Experitest.
Thin Client Interface
Step 1: Create a test against the REST endpoint. Enter your URL; give yourself a JSON payload directly. Go ahead and add your elements here as required.
In a thin interface, you also manipulate the payloads. Build it, and it will prepare a swagger document that will give you all the operations that are available and will help you to create a test.
Use the swagger document, and rather than creating the tests individually; create a test suite based on the document.
In this example, we will execute it against a login application.
Enter all of the details and credentials on the dialogue box and click on save. From the left pane, go to the ‘Parasoft Swagger Document’ option and execute the test scenario. When you execute, you will get back traffic, which will show you the request that went over the wire.
At the bottom, you can check the response.
If your desktop is on the same server, you will see a pairing swagger in the left pane and the file that we just created using the thin interface. You will also find the file for the login test we created in the previous scenario.
But for this interface, let us create a new test from the test suite.
Inside the test suite, name the test. In our example we are naming it ‘Account Validation.’
Go ahead and paste the test. Now, we want to data drive it so we will move forward and add a data source.
Use Excel and a dialog box will open on your desktop. Rename it ‘Customer Data,’ and then select that excel spreadsheet. The excel spreadsheet has a couple of data fields for various accounts.
Now, go back to the first dialog box.
Click on ‘show columns.’ Rather than using a fixed parameter. Go ahead and parameterize it.
Now, take another ref’s clients and rather than getting the login information, let’s take a look at the account that is available to the customers. Paste it in Test 2; the query will now take in the customer ID as a part of the previous query. You will see the result at the bottom.
When you extract from the earlier tests, you will get XML data. Now change the response to the first query, extract the customer ID and then reuse it in the second test. Later on, you can change the assertions and work on the test. You will need to know what the test scenario is and how the individual APIs are used.
In this section, we will use the Parasoft SOA test smart API test generator to look and see which APIs are being executed as the part of your manual test scenario.
Step 1: Connect to SOA test traffic recorder.
Step 2: Perform some transactions to generate the data.
Step 3: Open SOA test traffic recorder.
You will see that the test has processed the data, and it will put the test on the server for you. Go to the thin interface directly, and it will give you access to the same test scenario.
At the bottom, you will see each of the transactions that you did before. When you look at them individually, you will see that some of the AI heuristics and machine learning are applied to identify patterns in both the payloads and requests. Join them together, and this same test scenario is available within the desktop as it is synced here.
When you leverage the UI, you will notice that you will be able to increase the test coverage at API player.
Now, let’s see how we can create those tests on the mobile level.
Step 1: Go to SeeTest.
Step 2: Go into Eclipse, and you will see a device/browser lab, which will let you access different resources.
Step 3: You can trigger the test on both iOS and Android devices, and you will see the tests are queued, and then they will be moved to the execution part.
Step 4: Once the execution ends, you will have the analytics and report. You can click on any completed test and view the summary of the entire test.
However, to develop a UI test, you have to be connected to the same lab of devices with username, password, and access key.
Create a Demo project. Apply mobile nature with Appium testing, and now, you will have all the resources and the grade L dependencies. You will also have a template of the test on which you are going to work.
Step 1: Install and launch a mobile application. And, in this case, we are trying to close the loop with the API testing.
Step 2: Log in to the application and log out. Identify all the different elements, and you will see the entire UI keys and elements that you can work with. Further, all the parts in Pink are the unique properties.
Step 3: Use IDs here, extract the object and name the page as My Login. Now you will have a repository page, login page, and an object. Enter the password object and modify it, later on.
However, make sure all your elements are identified in your application page.
Now, go to ‘build my test’; drag the user and password key widget, and then click the widget. Provide the credentials, you can initialize the test, and you can see that the commands are getting executed.
Combining API and UI tests into comprehensive omnichannel test scenarios and integrating your CI process
Now, in this section, we will bring it all together.
We have some API tests, mobile tests. Both the tests are running in Eclipse. You can see the connection on the right-hand side; inside of the navigator, you will have the test that we would we create in Experitest.
Further, we are communicating through GitHub so you will have a channel test available there. You will see a reference test, which is available to personal swagger test. A database query will also be available.
The best part is that we have a mobile executor, which is executing our Appium test, created by Experitest.
Now, use the SOA test to orchestrate the flow. With this, you can execute the entire sequence from end to end. The test suite is not only executable on the desktop, but it can also be executed within CI automation.
Obtaining actionable insights and clear quality status to speed up a resolution
At last, go to the Parasoft reporting and analytics dashboard. If you log in, you will see a centralized reporting dashboard where you can aggregate the data from functional testing with other types of end-to-end testing. You can also start to look at the functional results specifically and co-relate it with the code that has been executed.
In this post, we have seen how we can make continuous end-to-end testing a reality. Moreover, with Parasoft and Experitest providing the critical components for the DevOps toolchain, an organization can be sure of providing excellent user experiences.
To get started with Experitest, you can click here. You can sign up by filling in the form and begin the test at no extra charges. However, if you want an API testing solution, look no further than Parasoft. To get a full view of this article in video format we have a webinar on the same topic. Watch it now.