What Does an Automation Test Engineer Do?

Vasanth S.

An automation test engineer determines the best way to convert a manual testing process into an automated testing process and employs various automation technologies to meet the testing goals. He or she typically assesses the effectiveness of automated testing protocols and systems designed to test the various functions of a product or a manufacturing process. The software code, required to run the test and process the results, is written and coded by the automation test engineer. Duties are generally dependent on the specific testing phases that they supervise.

An automation test engineer may be tasked with ensuring code is written correctly for a computer numerical controlled manufacturing process.
An automation test engineer may be tasked with ensuring code is written correctly for a computer numerical controlled manufacturing process.

In the unit test phase, the automation test engineer inputs an application code that is designed to accept and process test commands in a machine. The code is usually tested for repeatability, so that is can be tested on a periodic basis without interruption. Once the code has been given the OK, it is typically distributed to the machines on the production line.

The function and system test phase involves a set of commands that are generally designed to increase the speed of the testing. The engineer usually adjusts the software code to improve the efficiency of the test preparation process. Additionally, the automated test engineer may create test cases to prepare the machine for testing.

After the function and system test, an acceptance test is given by the engineer to see if the code will function as designed. The acceptance test is typically modified after the test results to improve effectiveness. If improvements are needed, they are generally conveyed to the test designer or test lead.

The test lead typically ensures that the automation goals of a system are met, while the automation test engineer measures, implements, and tests a solution. An automation engineer must also work closely with the test designer to determine the automation requirements for a particular project. Using that input as a guideline, the automation engineer determines how the automated system should be built. The automation engineer must also work closely with the application developer to address the challenges of implementation.

Automation test engineers are generally required to program automated scripts in the language of the software tools used by the company. In many situations, the logs and files created by the automation tools need to be interpreted and conveyed to the manual test engineer. Also, the engineer is typically required to maintain the testing scripts for use in other projects.

You might also Like

Readers Also Love

Discussion Comments


@everetra - Yes, I agree. The thing that has complicated testing is the advent of event driven programming.

With this model, the user can do anything – click on a button, click a mouse, move the form, anything you can imagine. It’s impossible to anticipate what actions or combination of actions the user will take, but we must do our best to anticipate the most likely scenarios.

A systematic software test plan will do just that. It puts the software through a series of “what if” situations and records the behavior of the software with each outcome.

Bugs are reported to the developers right away, before they reach the end users. I believe that this results in cleaner code, a more robust software product and of course more satisfied end users. A developer cannot do all this on his own.


@hamje32 - I’m a great believer in software performance testing. However, I’ve tried repeatedly to get my boss to hire a software tester (or make me a part time tester) all to no avail.

His view is that software testing is the responsibility of the programmer. The developer needs to put the application through its paces before releasing it to the public. That’s good in theory but it rarely happens in practice.

Most developers are under the gun to get the code out fast, and they don’t spend the amount of time testing needed to make sure that the code is solid, in my humble opinion.

That’s not meant as a criticism, that’s just the reality of the situation, and the reason we need software testers.


@David09 - In my opinion, there isn’t enough of software QA testing happening today; however the industry has begun to take notice.

I’ve seen that in the past several years the number of software QA jobs has skyrocketed as companies everywhere realize the importance of putting out quality software products that work as advertised.

Every time a bug is introduced into a software product, it can have a cascading effect, especially if the bug is the result of inferior design. If a company tries to patch over a bug without fixing the underlying design flaw, then they will simply compound the problem and it will show up elsewhere.


I work in the software industry and have played a little bit with unit testing. With this type of testing, you basically take a module of code and run tests against that module alone.

For example, consider an accounting application that has functions to add money to existing balances and withdraw money from existing balances. These functions are only part of what the whole program is supposed to do.

In that context I would isolate those functions and make sure that they work on their own, without worrying about the program as a whole. In other words, I would focus in on a small unit, hence the term unit testing.

I use a special tool to conduct my unit tests. These are only one of several different types of automated software testing tools, but they are very versatile and powerful.

Post your comments
Forgot password?