Methods & Tools Software Development Magazine

Software Development Magazine - Project Management, Programming, Software Testing

 

Automate Your Tests

Dan Dammann, http://automateyourtests.com/

Automate Your Tests is an automated website testing tool that lets you configure and run the regression, integration, functional and user acceptance tests of your server-sided web application. This tool emphasizes ease-of-use and productivity: You will be able to achieve the highest test coverage with the least effort possible.

Web Site: http://automateyourtests.com
System requirements: Linux or Windows or Mac. Any version that isn't of the last millenium!, PHP 5.4+, PHP extension CURL
License & Pricing: This is freeware under GPL-3.0 - see https://opensource.org/licenses/GPL-3.0
Support: You can email me at any time with your feedback & questions at HowTo [at] AutomateYourTests.com
Installation and download: information on how to install and the download link for this http://automateyourtests.com/how-to-install/

Why another testing software?

I have been developing internet applications since 1997. Over time I realized that testing my websites in a manual way is not good enough. There is no alternative to automated website testing, but at the same time there are no good testing tools out there. Most automation testing software needs the developer to spend most of their time programming automation test cases, which is too time-consuming and cumbersome. Consequently, test coverage suffers.

This is why I wrote my own testing software! This is a test tool where you can quickly set up your test cases. In the first instance, you can use the record-and-playback mode and configure your test scenarios. Then, if you need it, you can still re-edit, fine-tune and even add programming code to your tests.

Features

  • You can test any HTTP/S URL.
  • You can test for the HTML response (not) to contain a sub string.
  • You can test for a JSON node (not) to match a string.
  • You can test for HTTP status codes (not) to match a certain status code.
  • These test assertions can as well be tested for in a combined way (i.e. multiple sub strings and status codes).
  • You can impersonate users for your tests. You can test for certain web content that only these users would (not) be able to retrieve. This allows you to test the parts of your web site that are login-protected, so probably the largest part of your site.
  • You can reset the test database in between each test.
  • You can submit POST data to test for.
  • There are various debugging features to speed up your work, because productivity is a top priority. The website testing software gives excellent feedback about line number and HTTP response that has caused a the FAILURE. You can fix your tests without having to switch into your browser.
  • You can connect your tests to your Continuous Integration System or to your Version Control, or other parts of your overall system.
  • You can remotely test your website and install this software on other computers than the website under test. No web server is required, just a simple PHP install.

What are the benefits of this tool?

  • Automate Your Tests is an automated testing tool mimics manual testing. Browse and test your own web site whilst copying data out of the browser inspector. Or better even, you can record test scenarios automatically when testing your own site in a manual way.
  • The web application you want to test can be any server-side technology and not just PHP like the testing software itself.
  • No programming needed for most of your test cases.
  • You can hook your own programming code into your test scenarios and add additional features to your tests.

A simple web application test suite example

The following tests whether the specified URL request returns a web page to the browser that contains "Hello World".

<?xml version="1.0" encoding="UTF-8" ?>
<testsuite>
    <userstory title="Test that 'Hello World' appears on the web page">
        <scenario>
            <step>
                <url>http://automateyourtests.com/demo_application/</url>
                <contains>Hello World</contains>
            </step>
        </scenario>
    </userstory>
</testsuite>

You run this test suite, simply by typing

php run.php testsuite="Examples/1_hello_world.xml"

And this is what you see when it completes:

Automate your tests

Test run screen (click on figure to enlarge)

You can find many more examples how to use this tool on http://automateyourtests.com/automated-functional-testing. Automate Your Tests provides also advanced features like test debugging and inheritance of test assertions.


Related Resources


This article was originally published in August 2017

Click here to view the complete list of tools reviews

Software Testing
Magazine


The Scrum Expert