Planning and documentation – with an eye on quality from the beginning

The best way to ensure quality is good planning, a well-structured working process, and regular communication with the client and end user.

In our experience, a well-planned and stable software architecture has a positive influence on quality and can be flexibly adapted to new demands and environments even many years later.

Even during the planning stage, we are continually running tests in order to verify the technical feasibility of various client demands or to measure the performance of key components.

Ready for all possibilities

Our test database contains a wide range of scenarios representing the client's processes and demands. These are then used when putting together the software components. We differentiate between tests that look at software setup (installation tests), the program's operation by the user (system tests), and the source coding (unit tests).

The test cases are put together during the planning and development phase, after which they are further refined and included in our testing plan. They can be implemented manually as well as automatically.

Test automation – a giant leap forward in quality

We have developed our own testing tool in order to fully automatize the validation of programs and components. We can quickly simulate all possible test cases for a wide variety of software environments (operating system, configurations, databases, programming systems, etc.). Testing can be done overnight, for instance in order to verify changes in code or new demands.

Test automation leads to a tangible improvement in the quality of software products. End users notice the program's higher level of stability, and there is less need for subsequent technical support.

As a rule, we recreate the various software environments on virtual machines such as VMware, where we run the test automation. For difficult tests involving various hardware components, we build special testing facilities in order to test the equipment under conditions that simulate actual operations as closely as possible.

Black-box and white-box testing

For system and installation tests, we accurately simulate user interaction using what are known as black-box tests. These kinds of tests verify the software's functionality without looking at the software's source code.

By comparison, white-box tests look at the source code, most specifically through unit testing. White-box testing can be used to perform stress tests or to explore the program's performance and behavior in response to error conditions. Our unit testing is done using Visual Studio.