From manual testing to test automation

Testing is a must-have procedure in software development process. The question is what testing you need, what costs you will pay and how to lower these costs with test automation.

Costs associated with software testing

The process of software development is complicated and can last years, there can be and there will be some bugs, mistakes, errors, functions that stop working under certain conditions etc. Sure, there are better testers and users that help to find bugs in software, but the cost of having version of software with bugs is too high.

Software testing might be a minor problem application with a army of free testers and beta-tester, but there also expensive corporate software applications that cannot be released without full testing.

There are different method for software testing – manual testing or automated testing, but the answer about if company should test its software is always “Yes”, because costs of having software with bugs available in the market are too high.

Advantages and disadvantages of the black box

There are different concepts about how to test software. Some approaches involves unit tests or functional tests. Software developers usually do these tests in the beginning of the development process. Once the first version of application was released, it is a good idea to start with black box testing.

When tester do a Black Box Testing he don’t know about any functions or units inside the application. He only knows how the application should work, e.g. what should user do and what results he will have.

The main advantage of Black Box Testing is that:

  • Tester will act exactly as user will do. Tester will click exactly the same buttons and work with exactly the same objects. Thus, the black box testing is a testing from user viewpoint.

The main disadvantage of Black Box Testing is that:

  • Black box testing is hard to automated, while functional or unit tests can be completed in just few seconds, black box testing requires tester to click buttons, enter texts and work with software graphical interface (GUI). RoutineBot software was designed to make software black box testing faster.

So, how to do black box testing in a case of software? We can talk about three methods: manual testing, “record and playback” testing, automation test.

Manual tests

Manual tests should be performed by human tester. These tests are usually do developers themselves and probably special testers. But as long as these tests require a lot of time, they are expensive. Software developer companies try to automate testing process.

Record and playback tests

Software developer or tester can perform testing once and record the test process, e.g. record the position of the mouse, buttons tester click, text tester enters etc. Then, when it will be needed to test application the recorded test will be played back and results will be checked against expected results. The problem is that tests like this are very sensible to any, even minor changes in program interface or system environment.

Automation testing

There are more flexible tools that allow to automate testing. These tools not just record mouse clicks and moves, but allows testing script to emulate user’s behavior. For instance RoutineBot allows not just move mouse to point on the screen with specific coordinates, but find on the screen some image pattern and focus on it. Behavior like this makes automation testing more flexible.

When software developers use Test Automation tool it doesn’t just move the mouse and click. It does as user would do. The testing software searched for image patterns and do some action according to these image patterns.

How much does automated testing cost?

The total price of test automation is the sum of the test development costs, test using costs and test maintenance costs.

  • Test development costs. Depend on software used to create interface automation testing scripts. In a case of RoutineBot development won’t take much time. The time of developing testing script is comparable to the time of actual testing, as software engineer need click just few more buttons.
  • Costs of using automated tests. It will not costs much, you will need a separate computer or a free (night) time on your existent computer. If designed correctly running script will require just few minutes to run test and then analyze results.
  • Maintenance costs. There are some costs for script maintenance, because if something will be changed in interface the script might stop working. But there will be needed to update just few images, not whole test. In comparison to “record and playback” test, the maintenance costs of automation testing are much lower.

How to create automation testing script?

It depends much on what automation software you use and what are your goals, but there are some common ideas that you should use:

  • Don’t rely on mouse move to specific coordinates much. In this way your scripts will not be flexible enough.
  • The best idea is to focus mouse pointer on some specific image and the move mouse a little to relative coordinates. In this way your scripts will be more reliable and flexible.
  • If possible try to use hot-keys on your keyboard. For instance, when you need to paste some text from the clipboard, use Control + V key, it will save some testing time and make your test more flexible.

Comparison of test automation tools

There are a number of test automation tools available in the market. Here is a short classification of these tools. The more functions and features you are expecting from the software the higher total cost will be.

  • Record and playback. This type of software operates only with mouse moves and clicks, it is not much reliable.
  • Click buttons, move mouse and playback. Software like this have more functions, for instance, it does not just move mouse to the button, but it can click the button by its internal name or caption.
  • Using image templates. Tools like RoutineBot can emulate user’s behavior by finding certain images. Resulted scripts are more flexible and reliable.

Advantages and disadvantages of test automation

One of the main advantage of test automation is that as a result software developers can run tests more often, find and fix bugs on the early stage of development, before end users will face these bugs.

In comparison to human testing the main disadvantage of test automation are possible errors due to change of tested software. This involve some maintenance costs, but the total costs of owning test automation system will be much lower than owning and managing human-based test system.

Posted in Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

*

Example: GUI test with RoutineBot

RoutineBot is testing GUI, trying to enter various values into the text fields and processing warning messages that tested program shows.

Gui Test Automation

GUI Testing TipsCheck out our GUI Test Automation tips.
Test Automation Step-by-Step
Learn more than 99% users know about test automation! Subscribe to maillist now! Learn how to create scripts that will do routine job for you.

Email: