Combining Unit Tests and Automatic User Interface Script Testing

607-q_a.jpg

 

After creating and running unit tests, they are combined with another level of testing known as the automatic user interface. This step is to make sure the code interacts seamlessly with the communications of the user. Unit testing measures the functionality of the core application – everything inside of the device – but it is also important to make sure the program can follow the commands it is given from outside of the device. For example, when a user touches play on her mobile device, does the program do as it is designed to do?

To develop this interface, a script is run that interprets commands for the built in scenario on every platform. The test automatically interprets every scenario input – such as pushing buttons, filling text fields, or selecting check boxes. This test is almost identical to the unit test but is run from the user side.

When the two tests, unit and auto interface, intersect, the developer can be certain there is a great combination of automation and unit testing. When we first began using this methodology, there were some surprising results. The correlation software development at each stage needs to be verified and tested, and using this methodology of software development showed that the process was effective immediately, as well as in the long term.

One interesting outcome was that in a team of 45 people using test driven development, beginning with unit testing through GUI testing, more resources and time were spent in the beginning. However in the later stages of improvement and Java development, as well as developing the next version of the software, hundreds and hundreds of hours were saved. Manual tests are run again at this stage to ensure that the program release works perfectly. Having these tests in place for intermediate releases of the programs and applications saves a lot of time and resources.

Developing unit tests and user interface testing can seem like a big investment in the beginning – however there is no need to purchase additional software or technology to create these tests. Also, time and salary is saved over the lifetime of the project. We highly recommend implementing this methodology for our clients.