Is your software “robust“?

The software robustness is an essential quality feature. High-quality programs are able to work with the best possible functionality in unusual situations like High Load.  A high-quality program can provide the functionality required when errors occur  – Software Resilience.

Load Tests

With specific Load Tests, we simulate an expected extreme load on your system whereby the system is also deliberately stressed over the load limit  – Stress Test.

The system behavior is observed and analyzed. This can reveal errors which are not recognized in the functionally oriented Integration Tests. This makes it possible to determine whether the system works  acceptable under High Load conditions and how system response times vary depending on the load.

Are there any data inconsistencies? Does the system shows undefined behavior causing a crash? And ultimately it is of great importance whether the system returns to a normal range after the overload. Furthermore Load Tests examine how the system behaves in the case of high memory and high CPU requirements, for example, if many users access a system. In the case of Load Tests, the non-functional features are tested. For an efficient software use they are of great importance.

Performance Analysis and Optimization

One of the most important non-functional feature is the Processing Speed and Processing Response time of a software system. It is referred as “Performance“. Is a systems performance too weak the workflows are to slow. A slow reacting application quickly leads to annoyance among users which negatively affects the relationship between company and customer. The loss of customers leads to high financial losses. The purpose of the Performance Analysis is to search the present application successively for problems in several test series and to eliminate the discovered problems. Performance problems are identified in Time Tests and Load Tests. The Time Test considers the performance behavior of the application in a single user operation but with realistic data volumes in the data store. Only one user is simulated. The user operates the user interface which works on a realistic filled data memory. The load test considers the performance behavior of the application under everyday conditions. That means that  a representative set of application users is simulated to serve the application simultaneously over a longer period of time. If problems have been detected during the time tests and load tests, the optimization process begins. The optimization process should improve the applications response time behavior. The optimization also uses special techniques. Memory debugging is used to check the memory consumption. Thus, memory leaks are located and eliminated. At the profiling process, Detailed informations from system components are evaluated, for example, to improve inefficient algorithms and access paths.