Due to constant software development and version changes at the client side, a significant amount of testing tasks is created to ensure the consistent functioning of the system, every time a component is altered or replaced.
Most of these testing tasks can be automated, but the automated test cases should always follow the version changes, and configured accordingly.
My task was to create and deploy at the client side a way of automated testing that provides solution to the following problems:
Dependency of test cases: test cases may depend on the output of other test cases (automated process flow testing)
Reusability of the test cases: In order to make the test cases reusable they should follow the AAA (Arrange, Act, Asset) pattern, and also they should be able to “clean up” after execution.
Ensuring unity: External interface dependencies should be replaced by mocking techniques, to ensure test case unity.
In the course of my work I will present the following technologies and techniques:
Webservice (SOAP) messaging.
Unit testing following the AAA pattern.
Test driven development.
Mock objects and services