Software quality

Software quality & test automation Making good software even better

What actually distinguishes a good application from a mediocre or bad one? From the user's point of view it is certainly the efficiency of the processes, the user guidance within the application, an intuitive usability and of course in general the design and performance.

For developers and also the decision maker or project manager there is another important unit of measurement to evaluate the quality of a software, namely the general code quality. Have coding standards been adhered to and have even the rather trivial case scenarios been covered? In order to keep the quality standard as high as possible and to continuously improve the source code, the software development process includes testing all areas of the software for perfect functionality and, of course, for security.

Increase the quality of your software with test automation

In order not to have to manually test all areas with every change to the source code, it is part of the good standard to automatically test every area of the software with so-called unit tests for possible weak points and errors and to continuously improve these in the development process.

In my projects I therefore like to use the PHP testing framework PHPUnit, PHPStan, Codeception and for the automation of frontend tests the Selenium framework.

Do you need support for your next web project?

Niels Langlotz

Tel: +49 176 45 606 488
E-Mail: info(at)

I would like to use my project experience as a developer for your next project, just contact me.

Frequently asked questions & answers

The answer to the following questions may also interest you

In order to maintain software quality at the highest possible level throughout the entire development cycle, it is part of professional development to accompany all essential components of this process with quality analyses.

Thus, in practice, if not developed directly according to the TDD method (Test-Driven Development), the application is equipped with unit, functional, integration and, in larger projects, acceptance tests.

TYPONiels development projects currently use these forms of testing, depending on the requirements and scope of the project:

Unit tests
Unit testing, also called module testing or component testing, is a testing process in which the smallest testable parts or units of an application, called units, are individually and independently tested for proper operation. Unit tests are normally performed by the software developers themselves and are usually run again automatically in the CI pipeline whenever code changes are made. In the event of failures, the import of changes into the main branch of the application is usually blocked (merge blocking).

Sanity tests
Sanity tests are plausibility checks. These include, for example, plausibility checks of values, simple model-based checks, but also consistency checks of requirements. The validation of a software system often begins with the creation of sanity tests.

Functional tests
Functional tests check a software (or a system) with regard to functional requirement characteristics, i.e. whether the behavior of the software or the system meets the requirements in the functional specification. Functional tests are used for system tests and acceptance tests (also called acceptance tests, procedure tests or user acceptance tests). These types of tests are black box tests, since "only" the external behavior is tested without considering the internal structure or code. Test cases are created on the basis of descriptions of the software, such as specifications and requirements.

Integration tests
In software development, integration tests are a coordinated series of individual tests that are used to test various interdependent components of a complex application structure in interaction with each other. Integration tests are usually used to quickly find errors that could trigger a change in system A during operation than in system B.

Approval tests
Approval tests are usually performed by a natural person from project management using a test system and involve viewing the change from the perspective of a real user. If the changes to the system meet the requirements of the ticket / user story, approval is carried out and the new functions / changes can be transferred to the live system.

User acceptance tests
In software engineering, user acceptance testing is a method of verifying that software works as intended from the user's perspective and that the user accepts the software. Software vendors often test this with beta testing, where a specific group of users get the new feature unlocked and feedback is solicited or an analysis of usage behavior is performed.