Software Quality

Assuring a high level of quality is an integral part of softwrare engineering. Our Software Engineering Group has made advances on different aspects of quality assurance: process-based improvements and tool-based improvements.

Testing Skills of Inexperienced Developers

Assuring a high-level of quality during development is a distinguishing skill of good software engineers. Writing automated tests can help with this task. However, young engineers joining the workforce often do so with a limited understanding of important testing techniques. This can hinder them in becoming high-quality engineers or can even result in rejection when applying for a job. Our Software Engineering Group has researched how young developers deal with automted testing. We are currently researching how the onboarding situation can be improved for young engineers. Read more...

Bild: Ein Modell der Einflüsse auf das Testverhalten von unerfahrenen Software Entwicklern.

 

Picture: A model of influencing factors of the testing behavior of inexperienced developers.

Improving code reviews through computer support

Code reviews are an important part of the quality assurance mix. Many companies perform "change-based code reviews", i.e. reviews based on change sets and firmly embedded into the development process. The "human instrument" is the most important factor of these code reviews, but it can be supported by the computer. This can for example happen through automatic analysis, reduction and explanation of a changeset's contents. In this context we are working empirical studies, basic research and on tools, mainly the CoRT - Code Review Tool.

A Framework for Supporting the Quality Gate Process

The high quality of a software product cannot be injected "at the last moment" of development. Assuring software quality is an ongoing task, being deeply intertwined with the development process. In order to keep a steady level of quality, so-called quality gates can be used: at critical points in the development process certain project attributes are checked. Our Software Engieering group has researched a supportive framework for implementing quality gates. Read more...

Abbildung 1: Ein typischer Quality-Gate-ProzessAbbildung 1: Ein typischer Quality-Gate-Prozess