Blog post -

Don't miss out on the Benefits of Test Automation

Are you testing your software manually? That’s great! But if you really want to upgrade the efficiency of your test processes you should consider test automation.

It makes testing a lot faster, reduces costs for re-testing and of course secures a much higher quality of your software in the long run.

The What and Why of Test Automation

The first big question that comes to mind when talking about test automation is: “Why should I do it?”

Well, because you get the chance to evaluate the quality of your software automatically and programmatically. To understand this better, let’s compare manual testing to automated testing.

Manual Testing vs. Automated Testing

Manual testing normally comes with different test cases, often described in for example excel sheets where you write down things like:

  • Use cases which describe the situation of the user. For example, the user ordered one of your products before and now wants to order again. Or, the user has never been to your website, and so on.
  • Pre-conditions such as if the user already has an account or must sign in first.
  • Test case description which describes exactly what to do during the test.
  • Steps that need to be taken to fulfil the test case.
  • Expected results, like the expected outcome or behaviour of the software.
  • Now talking about test automation, the biggest difference actually is, that your test cases are written in code for example in a test automation framework like Selenium.

    From our everyday experience in supporting the many test projects for our customers, we know that automated software testing has a positive return compared to manual testing, but only IF you do it on a regular basis and have frequent releases to run your automated tests on. As our own rule of thumb, we would say that after around three releases it makes sense to invest in test automation.

    But of course, the initial investment in test automation is higher, in terms of both resources and budget. So, if you are considering test automation, do so in cases where you can reuse the automated tests.

    Important Points to Consider When Automating Your Tests

    Focus on the right test set
    What are the critical functions and what is easy to automate?

    Test automation makes most sense in regression testing
    If you, for example, define 10 core use cases as core functions of your app, web application or software in general - focus on these ones, set up some automated test sets for them and always use them in regression testing.

    New features should always be tested manually for the first time 
    Do not try to completely automate the testing of your software from the beginning. Our advice is: start with the critical functions first and then add new test cases step by step.

    The Benefits of Automated Software Testing

    But then, what are the advantages of test automation? Why do we need it?

    Well, once you have written your test cases in code, it makes your testing process a lot faster. Also, the costs for re-testing are much lower after you found defects in the first run. Let´s say you found a bug in your first test, you fixed it and now want to know, if it is really fixed. Then it is very easy to restart the exact same test again.

    And the biggest advantage is the higher quality of your software if you introduce automated and continuous testing.

    If you are interested in a more in-depth perspective on test automation, read our blog article on the Testbirds Webinar about automated testing.

    A general Test Automation Set Up

    The next question is, how do we do test automation? Let’s dive into a general set up.

    First, select a test automation tool that fits your needs regarding the device, operating systems, and software necessities, flexibility, ease of use and maintenance requirements. If you want to know more about choosing the right automation tool, have a look at our blog article 5 Best Practices in Test Automation.

    Second, generate the test case.

    Third, build the test. You can either build it through your own development environment or, what makes most sense, set up a continuous integration process which means, putting your test into a continuous integration environment like Jenkins.

    Fourth, execute the test either locally or via cloud.

    Fifth, analyse the results either in your CI or your development environment.

    Common Test Automation Frameworks

    There are quite a lot of tools out there in the market. We advise you to take time and invest some effort to choose the right one for your individual needs. At this point, we just want to name a few very common ones to give you an idea what to look up.

    Open Source Automation Tools

    • Selenium, Appium
    • Jubula
    • SoapUI
    • Robotium
    • Calabash
    • ...
    The most common open source automation tools are Selenium (for web) and Appium (for app).

    Commercial Automation Tools

    • HP QTP
    • TOSCA
    • IBM Rational Functional tester
    • Ranorex
    • ...

    Automated Software Testing with Jenkins and the Testbirds Device Cloud

    Curious to see how this works in practice? Check the video below which shows you our Device Cloud and learn how a new test run is started with Jenkins, how the test is monitored and how parallel tests are executed on different virtual machines.

    Testbirds Tips Regarding Automating your Software Tests

    1. Start small
    First of all, start testing your core features automatically and try not to automate everything in the first step. Rather add test cases step by step.

    2. Test manually what is expensive to automate
    Don´t try forcing everything into automation. Some things are too complex or simply can’t be automated or just with a huge effort. Then you should rather test them manually.

    3. Adapt and evaluate your test set regularly
    Don´t try forcing everything into automation. Some things are too complex or simply can’t be automated or just with a huge effort. Then you should rather test them manually.

    4. Expand platform coverage
    Don’t waste the value of test automation by running it only on 2-3 different browsers. Also use a cloud provider for example, where you can execute your automation testing on countless operating systems, browsers and device combinations.

    The biggest tip: If you have test automation, use it! Integrate it into your process of continuous integration, deployment and development, and make time to check the results.

    Topics

    • Data, Telecom, IT

    Categories

    • software quality
    • testing
    • software testing
    • cloud technology

    Contacts

    Tobias Brunner

    Press contact Head of Marketing Communications