Platinum Sponsors

Netcetera AG

Sun Microsystems

Gold Sponsors

Silver Sponsors

Partners

Bettina Polasek

Bettina Polasek

(8340) Modern Times in Software Quality Engineering

Jazoon Rookie

Wednesday, 2009-06-24, 17:30 - 17:50, Arena 5

Bettina Polasek - AdNovum Informatik AG (speaker)

Rate this talk:

Topics

Download the presentation

Abstract

Introduction

"Modern Times in Software Quality Engineering" talks about how the 
industrialization of software manufacturing can be achieved. The talk will 
motivate why today's complex software projects require software engineering 
companies to think not only about quality assurance on the product, but also on 
the process. The important quality assurance measurement points should not be 
confined to the end product, but set up during the implementation of it. In our 
presentation we will show why quality assurance is not only helpful, but 
necessary on the level of the software engineering process to successfully 
implement projects and reduce risk. 
We will elaborate on how companies with a heterogeneous technological 
environment and international staff can set up measuring points with continuous 
integration tools. Our understanding of continuous integration involves not just 
routine builds and tests of the software, but also includes measurements of 
quality metrics. Measuring points taken at regular intervals provide a more 
structured output to summarize information about the project state than 
non-structured output based on vague interpretation. These structured 
measurements in turn can influence the process and reveal where optimization is 
needed. Software engineering including these systematically obtained measuring 
points can be compared to conveyor belt production. Each production step has its 
breakpoints to control the quality on the process. While this includes also the 
quality of the end product, the focus is clearly put on the procedure of the 
software development. The main advantage is that issues can be identified at an 
early stage in the development process, not only when the project is almost 
completed.


Setting up Measuring Points

The talk will present two measuring points as an example. The first metric 
concerns technology management. Technology management is a key factor in 
reducing risk in software engineering. Software repositories are a powerful 
means for the management of software versions and states. They provide a useful 
overview of the technology landscape in a company and enable us to rapidly react 
to security issues. Versions can be marked as flawed, and projects that depend 
on a flawed version can easily be identified. Also, a continuous integration 
system can check the versions used in actual projects against the versions in 
the repository. 
Providing these software repositories and integrating these checks into the 
continuous integration system is one example of how to include quality assurance 
in the process of software development.
The second metric presented will be RBCA. Risk Based Coverage Analysis is a 
method to analyze code coverage by tests and weigh these results according to a 
defined set of rules. In a first step, these rules are based on simple code 
complexity measurements. In a second step, the rules can be refined to include 
more concrete project risks. The results can be evaluated and produce a risk 
layout of the software. These continuous measurements can also be included in 
the continuous integration environment. This permits a continuous monitoring of 
the risk landscape of the software and the definition of actions to improve test 
coverage and minimize risk. Again, this provides structured measuring points at 
defined intervals which can give feedback to the process of the software 
development itself. This is a clear advantage compared to the current 
non-structured feedback about test coverage and general software quality.


Conclusion

In conclusion, we will present some facts and insights about our real-world 
experiences with living this process and using these tools. The development of 
software in our company can be distributed to over three different locations, 
which makes quality assurance on the software engineering process a necessity. 
AdNovum has its own continuous integration environment called NightlyBuild. This 
tool executes builds of our software projects every night, running builds on up 
to eight different platforms. But it does not only build the projects, it also 
conducts the checks of the presented metrics, and executes unit and integration 
tests. In our modern software production environment, the quality assurance 
tools and techniques that support the software development process are an 
important factor to success.

Media Partners

netzwoche
inside-it
APRESS
Methods&Tools Logo