Methods & Tools Software Development Magazine

Software Development Magazine - Project Management, Programming, Software Testing

Scrum Expert - Articles, tools, videos, news and other resources on Agile, Scrum and Kanban

Axway Automated Testing System (ATS)

The Axway ATS Team, https://www.axway.com/en, @axway

The Axway Automated Testing System (ATS) is a powerful multipurpose open source testing framework suitable for different types of functional, performance and UI testing of modern enterprise products. ATS allows interacting with tested applications in variety of ways, as well as preparing the test environment and verifying the actual results. It gives very good options for analyzing the test results and even compare results between different executions. All this can be done using simple and neat code.

Web Site: https://github.com/Axway/ats-framework
System requirements: Java Runtime Environment version 7 or later. Successfully used on a variety of Windows and Unix-based systems.
License & Pricing: Open source free to use. See license at http://www.apache.org/licenses/LICENSE-2.0
Support: Comments, suggestions and answers are welcome at ats.team [at] axway.com
Installation and download: See how to get it using Maven or download a whole distribution at https://axway.github.io/ats-framework/Retrieving-ATS-artifacts.html

We think the ultimate testing framework is both powerful and easy-to-use. Achieving this balance is a main goal for the ATS development team.

Why is it a powerful testing framework?

It is a pure Java framework. This means it can benefit from Java code in its entirety.

It is almost platform independent, just because Java is.

Everything works locally and remotely.

You can use as much of ATS as needed. Imagine you have an existing good testing framework which lacks support for monitoring the system resource usage. You can get from ATS just as much as you need.

Each code line can use ATS code or other code of your own.

Naturally uses TestNG for organizing the test executions. TestNG is very flexible in this matter and that is why it is the best choice for us. Note that you can use Junit or even your own testing framework.

Very good reporting. Besides the simple outputs in the console, ATS comes with its own preferred web application used to ease the process of reviewing and analyzing your test results. This application is called Test Explorer

Why is it an easy-to-use testing framework?

The main concern we've met is about the Java nature of ATS. We successfully tackle this concern by providing a very neat and simple API. We have always paid a lot of attention on this.

This way the test code usually looks very linear and script alike. Ultimately each code line represents a single human action if performing the test manually.

Simple example with a file transfer

Here is some ATS code. It uploads a file to a remote host over a specified transfer protocol. Of course, you need to replace the tokens with your own host, user, password and local file path.

ATS open source software testing tool

You can easily change the code to go over another transfer protocol. Currently we support FTP(S), HTTP(S) and SFTP. It is easy to add support for another standard or your very own protocol and the test code will still look similar.

Do some check on the file system

Extending our example, after the file transfer takes place we can make sure the file was really delivered on the remote host. Here is how:

ATS open source software testing tool

We basically check whether the file is present on the remote host and then verify that both local and remote files have same MD5 checksums which means they have identical content.

The list of supported operations on the file system is very long and keeps growing as the needs of our customers grow.

You probably wonder how such operations are possible on any remote host. The answer is that you need to have the ATS Agent running on that host. This is a stand-alone application which you just unzip and start on any host and from that point on you can seamlessly use it.

Performance testing

It takes a little effort (a little) to define the actual step to be performed, but we cannot demonstrate it in a short document. At least we can show you some results of running such test.

Here you can find real time info about the executed steps, the time to execute them, transfer rates where applicable, how many users and for how long time it has been running, etc.

ATS open source software testing tool

And here are some system resource statistics during the execution. Note that same graph can map CPU in %, RAM in MB, Network transfers in KB/sec and others. This way you can easily correlate different statistics for a particular moment of the execution. It is also possible to add your own custom statistics.

ATS open source software testing tool

It is very important to emphasize that you define yourself the actual steps to be performed. ATS does not have an idea of what these steps do, it simply executes them the way they have been configured.

What else can you do with ATS?

Besides the already mentioned capabilities, ATS can work well with a number of supported databases. Currently these are Oracle Database, MySQL, Microsoft SQL Server, PostgreSQL. The list is likely to grow as needed.

Test code including provided HTTP and REST operations looks very intuitive. It comes with a good support for JSON and XML data.

You can run external processes and analyze the produced result.

ATS is very good in manipulating and sending complex emails.

You can interact with applications through a standard UI (HTML, Mobile, Swing). For this purpose we use different open-source libraries in background.

There is more, but we will leave it to your curiosity ;)

ATS is getting more and more open

We have accepted the fact that some of our clients will not decide to move their test to ATS. Even more - some will not move their code to Java.

But ATS can still play a significant role by getting more and more open for the outside world. Here are a few examples:

If all you need are the capabilities of ATS Test Explorer, you can use all its power by filling it with data through REST calls, so no Java dependency here.

If you want to send files over custom transfer protocol, there is a way.

If you want to work with an unsupported database, there is a way.

If you want to execute some very own Java code on any host, there is a way.

In the very near future, through REST calls, it will be possible to do a lot of valuable actions on any host. This will include actions on the file system, starting and monitoring the execution of external process and a lot more.

Get started quickly

For more hands-on step-by-step examples you can watch the short videos on our ATS YouTube playlist and subscribe for future tutorials.

Or if you are really impatient and want to quickly put your hands on working ATS examples, then you can download the example VM image on your own host and start it. You will get a ready to use test project containing many working tests. Run any of them and analyze the results. Feel free to modify and experiment with the existing examples. Just visit https://axway.github.io/ats-framework/Ready-for-use-test-project.html and read the short instructions or watch the demo video.

Related Resources


This article was originally published in June 2018

Click here to view the complete list of tools reviews

Methods & Tools
is supported by


Testmatick.com

Software Testing
Magazine


The Scrum Expert