Login handouts

All participants of the Clean Code Days 2016 got their login information automatically per e-mail.

If you didn't attend the Clean Code Days you can register for free to get the login information for the handouts.

As soon as you logged in you have access to the pdf of the talks. For some talks we don't have the permission to publish the handouts.

Clean Code Embedded Testing
09:00 Opening of the Clean Code Days

Opening of the Embedded Testing

09:05 Opening keynote: The Lone Stranger or: You can't establish Clean Code on your own

Carsten Windler, Holidaypirates GmbH
Opening keynote: Grenzen des Testens von Software

Reinhard Wilhelm, Universität des Saarlandes
10:05 Coffee break and visiting of the exhibition

Clean Code

Room Paris

Clean Code

Room London

Embedded Testing

Room Rom

Embedded Testing

Room Madrid

10:35 Erfahrungen mit der schrittweisen Etablierung von Clean Code im sicherheitskritischen Umfeld

Jan Haulsen, BeOne GmbH
Kurzworkshop: Clean Code Retreat with it-economics GmbH

Katharina Knaus, it-economics GmbH
Verifikation der Software von Sensor Lösungen bei der ams AG

Stephan Puri-Jobi, ams AG
Verifikation im Bereich Funktionale Sicherheit

Gudrun Neumann, SGS-TÜV Saar GmbH
11:20 Time for room change Time for room change
11:30 A step beyond modules

Rafael Ördög, Emarsys
Requirements-based Testing for Embedded Devices to Achieve ISO 26262 Compliance

Janos Koppany, Intland Software
Static and Dynamic Code Analysis in a Continuous Testing Process

Matthias Schmidt, Bosch Engineering GmbH
12:15 Lunch break / Lunch Buffet and visiting of the exhibition
13:25 Clean COBOL Code

Tobias Voß, viadee Unternehmensberatung
Kurzworkshop: Hands on use centric arichtecture

Andreas Hager, Andreas Hager Gaming
Konsistente und wiederholbare Metriken für die Verwaltung von Testaktivitäten

Ingo Nickles, Vector Software
Entwicklung einer Steuersoftware für die Produktfamilie der Regelstangen Dieselmotoren nach Kategorie A

Dr. rer. nat. Evgeni Schumm, Konzept Informationssysteme GmbH
14:10 Time for room change Time for room change
14:20 SOLID - das Clean Code Fundament

Carsten Schmidt, CTS EVENTIM AG & Co. KGaA
Practical Requirements Traceability for Developer Testing

Matt Davis, QA Systems GmbH
Become a language designer: Test DSLs for embedded systems

Vassilis Riyopoulos, Zühlke
15:05 Coffee break and visiting of the exhibition
15:35 Clean Code durch Pointfee-Programming

Marco Emrich, webmasters akademie GmbH
Kurzworkshop: How invariants help writing loops

Sander Kooijmans, HighTech ICT
State of The Art Testautomatisierung für Steuerungs- und Embedded-Systeme mit HIL-Testständen

Johannes Bergsmann, Software Quality Lab GmbH
Testen von sicherheitsgerichteter Software nach IEC 61508

Thomas Sauter und Oliver Schönfeld, NewTec GmbH
16:20 Time for room change Time for room change
16:30 Ist das Kunst, oder kann das weg?

Vinko Novak, Cassini Consulting
Wegweiser zur Auswahl eines Werkzeuges zur statischen Codeanalyse

Royd Lüdtke, Verifysoft Technology GmbH
Zertifizierung erforderlich – Wie bitte?

Gudrun Neumann, SGS-TÜV Saar GmbH
from 17:15 Get together

Excellent networking with attendess, speakers and exhibitors
from 18:10 Coding Dojo

Björn Kimminich, Kuehne + Nagel (AG & Co.) KG
Schnell-Lesen für Informatiker

Peter Rösler

The Lone Stranger or: You can't establish Clean Code on your own

Speaker: Carsten Windler, Holidaypirates GmbH

Level: Beginner

Day and time: Wednesday, June 29th 2016, 9:05 am - 10:05 am

Abstract: You'd love to use Clean Code principles in your project, but you seem to be all alone in the world? If you try to establish Clean Code all by yourself, you will end with rolling the same boulder up the hill again and again, because you can either start fixing the code of others, or try to keep your code clean and watch the rest of the code rot. Both are options, but not good ones. So what can you do?

This talk can roughly be separated into two parts. Firstly we talk about why you need help to get Clean Code into your products, and provide you some bullet-proof arguments which "the Management" can't deny. But it's not only about the Management - you have to convince your co-workers, if they are not yet into it. "But Uncle Bob says..." will not be enough, especially in the PHP world.

Nobody can write perfect code at first; it will always require iterations to improve it. So secondly, we'll introduce some basic Clean Code related measures, which can be added even to existing projects one by one. Here we'll see how to generally support the daily development and refactoring process. Starting with relatively simple measures like Code Styling and Code Reviews, over to Automated tests, Code Metrics and finally Continuous Integration.

All examples will be in PHP, or PHP-related. However developers from other languages are more than welcome, as we don't dive deep into the language features and are happy to learn from others.


Carsten Windler is speaker at the Clean Code Days 2016Carsten Windler is a PHP-enthusiast and JavaScript-afficionado. He works as Head of Software Development (Publishing) at Holidaypirates GmbH (Urlaubspiraten.de, Holidaypirates.com and others), the biggest social and content driven travel site in Europe, and probably drinks too much coffee at the moment because his daughter keeps him up at night.

Erfahrungen mit der schrittweisen Etablierung von Clean Code im sicherheitskritischen Umfeld

Speaker: Jan Haulsen, BeOne GmbH

Day and time: Wednesday, June 29th 2016, 10:35 am - 11:20 am

Abstract: Im Bereich der Entwicklung von sicherheitskritischer Software mahlen die Mühlen recht langsam.
Jede nachträgliche Änderung zieht oftmals einen hohen Validierungsaufwand nach sich, daher steht nicht nur das Management einer allzu emsigen ständigen Verbesserung der Codequalität sehr kritisch gegenüber. Auch die Arbeitsweise der Entwickler ist dadurch geprägt.
Dennoch ist es möglich, die Prinzipien des Clean Code und eines regelmäßigen Refactoring zu etablieren.
Dieser Vortrag berichtet über die Erfahrungen, wie das in der Entwicklungsabteilung eines Medizingeräteherstellers recht gut funktioniert hat.
Ein wichtiger Bestandteil war der Einsatz statischer Codeanalyse durch das Tool Axivion. Durch die damit vorweg genommene formale Prüfung blieb bei den Codereviews mehr Zeit für die Diskussion über vermeintlich banalere Befunde. Die erfolgte Verbesserung beruht auf diesen Diskussionen.


Jan Haulsen is speaker at the Clean Code Days 2016Jan Haulsen
Senior Consultant im Bereich des Software Engineering und aktuell auch Scrum Master.
20 Jahre Berufserfahrung mit der Entwicklung von Verifikation von embedded Software, auch im sicherheitskritischen Umfeld.
Die Überzeugung, dass Clean Code als handwerkliche Grundlage ein wesentlicher Erfolgsfaktor für funktionierende Software und beherrschbare Softwareprojekte ist, motiviert mich schon seit vielen Jahren zu intensiven Diskussionen mit den Entwicklern und dem Management.

Clean Code Code Retreat with it-economics GmbH

Speaker: Katharina Knaus, it-economics GmbH

Kind of talk: Methods report

Level: Beginner

Day and time: Wednesday, June 29th 2016, 10:35 am - 12:25 pm

Abstract: Code Retreat is a format of Coding Dojos. A place where you can learn programming skills apart of your daily routine is called a Dojo. A zentral point of Coding Dojos is the repitition. In each Dojo you will solve a small programming task (Kata) several times applying Clean Code principles. Each time you should try to find a better way to the solution. The point is not to have the best implementation, but to perfect the way to the solution.
In our workshop we will solve the same Kata in several teams applying Clean Code principles. Each time will have a different focus and different restrictions. Each team is staffed by 3 to 8 developers. Two developers are pairprogramming a solution, the others watch them coding. After a fixed timeout (for example all 4 minutes) one developer of the pair is changed and somebody else of the team takes his place.
The aim of our Katas is among others to learn techniques like Test Driven Development, Behaviour Driven Development and Refactoring.


Katharina Knaus is speaker at the Clean Code Days 2016Katharina Knaus works as a technical consultant in it-economics GmbH. She has sevel years experience in Java software development, especially legacy code. This is one of the reasons why she decided to learn a different way of coding: clean coding. Currently she is writting her master thesis about "How to apply Clean Code under real life conditions".

A step beyond modules

Speaker: Rafael Ördög, Emarsys

Kind of talk: Methods report

Level: Advanced and Expert

Day and time: Wednesday, June 29th 2016, 11:30 am - 12:15 am

Abstract: The jury is in: breaking down your web monolith to micro services or feature services is a viable option to scale an organization. Services add an extra abstraction layer beyond modules that is immensely useful in structuring your codebase. Understanding the characteristics of this extra layer, finding the traps along the way, learning the tools that come with it is necessary to take full advantage of this new abstraction. So let's explore what clean code means in the micro services world!


Rafael Ördög is speaker at the Clean Code Days 2016Rafael is a Lead Developer at Budapest-based Emarsys and popular speaker in the Hungarian software community. As a founding member of Emarsys CraftLab - the dedicated coaching team of Emarsys - he has taught university courses and lectured at numerous conferences. His passion for short feedback loops drove him to create Lean Poker, a workshop where developers have the opportunity to experiment with continuous delivery in an artificial environment.

Clean COBOL Code

Speaker: Tobias Voß, viadee Unternehmensberatung GmbH

Kind of talk: Methods report

Level: Advanced

Day and time: Wednesday, June 29th 2016, 1:25 pm - 2:10 pm

Abstract: Clean COBOL code – „That’s a contradiction!“, you might say. But in this talk I would like to convince you of the opposite. I will show how to adapt the rules and principles of the Clean Code movement to cover the characteristics of procedural COBOL programs. Recommendations look a bit different, if you have no functions with a scope. And Exceptions are simply not a feature of traditional COBOL. Yet it is possible to write COBOL programs which can be read like a good book. You don’t need COBOL knowledge to enjoy the talk – but if you have dreadful memories of COBOL, you might experience a light-bulb moment.


Tobias Voß is speaker at the Clean Code Days 2016Tobias Voß is a software engineer and project manager at viadee IT Consulting. He has a solid experience in designing and integrating backend systems for finance and insurance customers. This includes Java-/Spring-based applications as well as mainframe applications.

Hands on use case centric architecture

Speaker: Andreas Hager, Andreas Hager Gaming

Kind of talk: Use case

Level: Advanced

Day and time: Wednesday, June 29th 2016, 1:25 pm - 3:05 pm

Abstract: JUsecase is a Java framework that helps to create use case centric architectures as proposed by Robert C. Martin and others. When starting a use case centric project from scratch, a lot of boilerplate code needs to be written to ease further development. Even worse, it happens that this boilerplate code hides in the implementation of every use case, causing painful refactorings during the project. JUsecase helps to reduce this boilerplate code significantly. It provides a clean starting point to directly write use cases in a test-driven way, that are all about intent. During the workshop, we will tackle a complex, real world use case and create a test-driven implementation with the help of JUsecase. We will see how JUsecase helps to have a central place for managing dependencies and how it allows you to switch from manual dependency injection to a DI framework like Guice. Finally, we will connect the created use case to a RESTful webservice.


Andreas Hager
When I first heard about use case centric architecture in a talk from Robert C. Martin at Ruby Midwest, I immediately fell in love with the concept. However, it was hard to find real life case studies of projects that successfully applied this design principle. During the last two years at CAS Software AG I worked on multiple use case centric, test-driven projects for iOS, Android and JEE.

SOLID - das Clean Code Fundament

Speaker: Carsten Schmidt, CTS EVENTIM AG & Co. KGaA

Kind of talk: Methods report

Level: Beginner and Advanced

Day and time: Wednesday, June 29th 2016, 2:20 pm - 3:05 pm

Abstract: S.O.L.I.D. ist die Sammlung der ersten fünf objektorientierten Prinzipien von Robert C. Martin. Gemeinsam angewendet fördern sie sauberes Softwaredesign und können ein hilfreiches Werkzeug für Refactoring sein.

Doch wann sollte man mit dem Refactoring beginnen und was sind die ersten Anzeichen von schlechtem Design?

Anhand einfacher Beispiele werden in diesem Vortrag offensichtliche Defizite schrittweise zu einem soliden Design geführt.


Carsten Schmidt is speaker at the Clean Code Days 2016Carsten Schmidt hat in vielen Projekten Erfahrung als Softwareentwickler gesammelt, war Leiter der Qualitätssicherung und arbeitet jetzt als DevOps bei Eventim, Europas führendem Tickethändler. Seit mehreren Jahren befasst er sich mit objektorientiertem Softwaredesign und hat sich dem Thema Clean Code verschrieben.

Clean Code durch Pointfree-Programming

Speaker: Marco Emrich, webmasters akademie GmbH

Kind of talk: Methods report

Level: Advanced

Day and time: Wednesday, June 29th 2016, 3:35 pm - 4:20 pm

Abstract: Funktionale Programmierung verspricht lesbaren und deklarativen Code, der zudem noch kürzer und prägnanter ist. Gelingen kann das mit Hilfe eines Programmierstils, der sich Pointfree-Programming nennt.

Früher war dieser Stil eher dem akademischem Unfeld vorbehalten. Dank des Einzugs funktionaler Sprachelemente in Mainstreamsprachen und/oder dazu passender moderner Bibliotheken ist Pointfree-Programming nun auch in Sprachen wie Ruby, JavaScript, Python oder sogar Java möglich.

Neben dem Wie und dem Warum beleuchtet der Vortrag auch die Vor- und Nachteile, die Einsatzszenarien und die Limitierungen des Pointfree-Programming.


Marco Emrich is speaker at the Clean Code Days 2016Marco Emrich ist seit 1993 als Softwareentwickler tätig. Zur Zeit ist er bei der Webmasters Akademie in Nürnberg als Projektleiter, Entwickler und Dozent beschäftigt. Er ist mehrfacher Fachbuchautor, hält regelmäßig Workshops und Vorträge auf bekannten Konferenzen und moderiert Code-Retreats.

How invariants help writing loops

Speaker: Sander Kooijmans, HighTech ICT

Kind of talk: Methods report

Level: Beginner and Advanced

Day and time: Wednesday, June 29th 2016, 3:35 pm - 5:15 pm

Abstract: Software craftsmen must have many skills. If it comes to writing correct code, Test-Driven Development has received a lot of attention lately. In this workshop an old technique for writing correct code is presented: invariants.

Invariants can be used to prove the correctness of a loop after the loop has been written. It can also help writing a loop from scratch. Sander explains how starting from some idea an invariant can be formulated and how this invariant then helps writing the guard and the body of the loop. The explanation will not be formal or mathematical, but practical.

It turns out that algorithms like Binary Search and Quicksort can be written down easily when starting from invariants. Invariants are a tool every software craftsman should know.

Bring your own laptop with your favorite IDE to this workshop so you can practice this technique yourself.


Sander Kooijmans is speaker at the Clean Code Days 2016Sander Kooijmans graduated from Eindhoven Univeristy of Technology with honors in 1999. Sander worked on digital television, the blu-ray standard, medical software and ERP software. Since 2010 he works for the staffing agency HighTech ICT.

Sander has worked the past 10 years on enterprise applications using several technologies and databases, which inspired him to give this presentation.

Sander gave presentations before:
- "Let tests drive or let dijkstra derive" at the Agile Lean Europe 2014 unconference in Krakow. http://gogognome.nl/2014/08/let-tests-drive-or-let-dijkstra-derive/
- "How invariants help writing loops" at ProgSCon 2015 in London. http://gogognome.nl/posts/how-invariants-help-writing-loops/
- "How invariants help writing loops" at NextBuild 2015 in Eindhoven. http://gogognome.nl/posts/how-invariants-help-writing-loops/

Ist das Kunst, oder kann das weg?

Speaker: Vinko Novak, Cassini Consulting

Day and time: Wednesday, June 29th 2016, 4:30 pm - 5:15 pm

Abstract: Manchen Entwicklern gleicht ihr Code einem Kunstwerk, doch ist es nicht viel mehr eine Kunst, Code- und Architekturreviews mit wertschätzender und gewaltfreier Kommunikation zu betreiben? Da ein Review oft aus einer Machtposition durchgeführt wird, kann es ohne Fingerspitzengefühl ungewollte negative Folgen für Architekten und Entwickler haben. Und bevor man sich versieht, endet das als Verbesserungsmaßnahme gedachte Review in einem zutiefst verletzen Entwickler und einem frustrieten Reviewer. Dabei gilt es nur ein paar essentielle Regel zu beachten und beide Parteien können mit einem positiven Gefühl aus der Situation gehen und haben dabei noch etwas gelernt; kurz beide fühlen sich bereichert. Vinko Novak stellt die „Zehn Regeln eines guten Code Reviews“ vor. Dabei steht die Methodik und die psychologischen Effekte, die Review-Partnern Streiche spielen können im Mittelpunkt.
Viele Entwickler können sich zum Beispiel nur schwer von ihren Code-Lieblingen trennen. Zu lange halten sie an lieb gewonnenen Programmierkonstrukten fest und stehen sich damit selbst im Weg. Eitelkeit und egozentrierte Programmierung können einen fatalen Effekt auf die Performance und andere Qualitäten des Codes haben. Der Reviewer muss solche Punkte im Code erkennen und vorsichtig mit der Persönlichkeit des Entwicklers umgehen können, damit dieser auch nach dem Review noch motiviert an die Arbeit gehen kann.
Vinko Novak lädt sie ein auf eine unterhaltsame und interessante Reise zu den psychologischen Hintergründen, die uns das Leben schwer machen, wenn wir nicht achtsam damit umgehen.


Vinko Novak is speaker at the Clean Code Days 2016Vinko Novak beschäftigt sich seit seiner Diplomarbeit mit den Zusammenhängen des Homo Codus und der von ihm entwickelten Software. Er kennt die psychologischen Effekte, die einer effektiven Softwareentwicklung im Wege stehen können. In seinen Reviews sucht er die Wahrheit, die er seinen Reviewpartnern in wertschätzender Weise überbringen will. Dabei achtet er wie ein Zunftmeister darauf, dass die Ehre seines Standes gewahrt bleibt. Dazu wird auch mal ein Entwicklerbüro auf den Kopf gestellt und Dilbert-Comics entfernt, wenn König Kunde in einer professionellen Umgebung einen Sprint-Review erleben soll. Kunde und Entwickler sollen sich auf professioneller Augenhöhe treffen und begegnen können.

Grenzen des Testens von Software

Speakers: Reinhard Wilhelm, Universität des Saarlandes

Day and time: Wednesday, June 29th 2016, 9:05 am - 10:05 am

Abstract: Die formale Verifikation funktionaler Korrektheit von Software ist schwierig und aufwendig. Sie wird deshalb auch in Zukunft nur für höchstkritische Programme durchgeführt werden. Sorgfältiges Testen bleibt unverzichtbar.
Für nichtfunktionale Eigenschaften gibt es praxistaugliche und praxiserprobte Alternativen, z.B. statische Programmanalyse. Korrekte statische Analysen sind, anders als Testen, in der Lage, Garantien für die Abwesenheit gewisser Arten von Fehlern zu geben. Der Vortrag stellt die Grundlagen der Validierung von Software und die Vorteile und Beschränkungen verschiedener Methoden vor und geht dann näher auf die Verifikation von Echtzeiteigenschaften ein.

Verifikation der Software von Sensor Lösungen bei der ams AG

Speaker: Stephan Puri-Jobi, ams AG

Kind of talk: Use case

Day and time: Wednesday, June 29th 2016, 10:35 am - 11:20 am

Abstract: Eine Vielzahl von neuen ams Sensor Lösungen stellen sehr komplexe Systems on Chip dar. Diese beinhalten ein analoges Front End (den eigentlichen Sensor der sensitiv auf die zum messende Größe ist), einen Analog-Digital-Wandler der die analoge Messung in eine digitale Größe umwandelt, einen Digitalteil auf dem die Software läuft, und die Software welche die Rohdaten aufbereitet und zur weiteren Verwendung zur Verfügung stellt. Die Aufgaben der Software können zwischen einfachem Bereitstellen der Rohdaten bis zu verarbeiten/aufbereiten der Daten mittels komplexer Berechnungen liegen. Oftmals ist die Nachbearbeitung der Daten ein integraler Teil des Produktes ohne die das Produkt die gewünschte Funktionalität nicht erfüllen würde. Dementsprechend muss die Software höchsten Qualitätsanforderungen gerecht werden.
Im Vortrag sollen die verschiedenen Methoden und Techniken belichtet werden die bei ams für die Verifikation der Software der Sensor Lösungen verwendet werden. Es wird gezeigt wie eine Sensor Lösung in Sub-Systeme heruntergebrochen wird und jedes für sich, als auch die integrierte Gesamtlösung getestet wird. Die Herausforderung hierbei ist die Abhängigkeiten der Sub-Systeme im Gesamten zu erkennen und diese Aspekte auch korrekt zu simulieren.
Besonders spannend ist dabei der Trade off zwischen Aufwand und Nutzen. Das Herunterbrechen in Sub-Systeme reduziert den Aufwand erheblich, verringert aber auch die Chance Fehler zu entdecken. Das Gesamtsystem ist mehr als die Summe seiner Sub-Systeme. Deswegen legen wir den Schwerpunkt auf System-Verifikation.


Stephan Puri-Jobi is speaker at the Embedded Testing 2016Stephan Puri-Jobi studierte Hardware / Software Systems Engineering an der Fachhochschule Hagenberg. Er begann 2005 als Software Application Engineer bei der ams AG zu arbeiten. Zu seinen Tätigkeiten im Kundensupport gehörte die Unterstützung bei der Integration vom ams’s Hardware Produkten und Software Lösungen in Kundenendprodukte. 2011 wechselte er zu NXP Semiconductors wo er als Test Engineer im Bereich von Smart Cards tätig war. 2013 kam er als Test Architekt zurück zur ams. In seinen Verantwortungsbereich fällt die Verifikation von Software von einem weiten Bereich von Software Projekten im Bereich NFC und Sensor Lösungen bei ams.

Static and Dynamic Code Analysis in a Continuous Testing Process

Speaker: Matthias Schmidt, Bosch Engineering GmbH

Day and time: Wednesday, June 29th 2016, 11:30 am - 12:15 pm

Abstract: Increasing number of variants along with the increasing complexity of embedded systems, the traditional software development gets new challenges.
Therefore Continuous Integration becomes in the development an increasingly important and leads to new demands on the part of hedge.
By combining static and dynamic code analysis in a Continuous Testing Process, effectively sustained quality improvement can be achieved.
For this purpose particularly analysis tools which support the developer at an early stage and relieve through automated operations are suitable.
Find out examples in this presentation, such as a release can be secured parallel to development with QA-C and Cantata from the QA-Systems GmbH.


Dipl.-Ing. (FH) Matthias Schmidt, project leader at Bosch Engineering GmbH (100% subsidiary of the Robert Bosch GmbH), studied at the University of Applied Sciences Karlsruhe power and automation technologies.
After graduating, he has worked for several years in the aviation and aerospace industry.
During this time he was responsible for verification and validation of ECUs (Engine Control Units) and EPMUs (Engine Protection and Monitoring Units) of aircraft engines.
With his movement to Bosch Engineering GmbH, he established within video based assistance systems his specialty Software Unit Test.
He is Software-Product-Manager for Cantata and is currently working as a Test Manager in a project of the Bosch General Aviation Technology GmbH.

Konsistente und wiederholbare Metriken für die Verwaltung von Testaktivitäten

Speaker: Ingo Nickles, Vector Software

Kind of talk: Regression tests

Day and time: Wednesday, June 29th 2016, 1:25 pm - 2:10 pm

Abstract: Jeder Software Entwicker kennt das Problem, die Zeit die benötigt wird um neue Funktionalitäten zu integrieren und das neue Produkt auf den Markt zu bringen wird immer kürzer. Manchmal bildet sich ein Rückstand von neuen Funktionen die auf eine Freigabe warten. Der Flaschenhals dafür ist oft die Zeit, die benötigt wird, um vollständige Systemtests auf einem Release Kandidaten laufen zu lassen.
In diesem Vortrag werden Metriken und neue Ansätze für Lösungen erläutert, die die wichtigsten Fragen beantworten: Wieviel Tests wurden durchgeführt und wieviele Tests müssen noch durchgeführt werden? Wann werden wir das Produkt ausliefern können? Wo muss mehr Testaufwand betrieben werden?


Ingo Nickles arbeitet als Senior Field Application Engineer bei der Firma Vector Software und ist dort für die Kunden- und Projektbetreuung verantwortlich. Er kann auf über 20 Jahre Berufserfahrung in der Software Entwicklung, System Design und Software Tests und agilen Entwicklungsmethoden zurückgreifen.

Become a language designer: Test DSLs for embedded systems

Speaker: Vassilis Riyopoulos, Zühlke

Kind of talk: Integration tests

Day and time: Wednesday, June 29th 2016, 2:20 pm - 3:05 pm

Abstract: Automating tests, especially for embedded systems, is a highly complex and technical endeavor that requires sound knowledge of the system under test as well as the software and hardware tools used.

A useful method in abstracting away technical complexity for the people responsible for defining tests is the creation of a test DSL that translates things like "set IO pin 12 to 5V, hold for 100ms and release" to "reset device".

In this talk we will explore how such a DSL can be easily created on the basis of a full featured programming language. We will use examples from systems already in production that use the Ruby programming language and showcase how a test DSL makes interaction with an embedded device easier while enabling complex automation scenarios.


Vassilis Rizopoulos is rapidly approaching the 20 year mark as a software engineer. In his 15 years at Zühlke he has had a hand in building software for devices as small as an oreo cookie and as large as 60-ton locomotives.

Currently a Lead Software Engineer he specializes as a "Software Productivity Engineer", a self-invented term for the role that integrates the development environment, test automation, continuous integration and deployment, devops and general behind the scenes tooling that enables software teams to concentrate on producing useful software.

State of The Art Testautomatisierung für Steuerungs- und Embedded-Systeme mit HIL-Testständen

Speaker: Johannes Bergsmann, Software Quality Lab GmbH

Kind of talk: Regression tests

Day and time: Wednesday, June 29th 2016, 3:35 pm - 4:20 pm

Abstract: Viele Unternehmen aus der Steuerungs- und Embedded-Branche erstellen Testautomatisierungs-umgebungen (z.B. SIL – Software in the Loop oder HIL oder HIL - Hardware in the Loop) oft mit sehr viel Aufwand. Und trotzdem sind diese Lösungen oft nicht effektiv oder dem Stand der Test-Technik entsprechend.
Der Vortrag stellt da, wir die Architektur und das Schichtenmodell eines modernen und professionellen HIL-Teststands aussehen sollte und welche Use-Cases und Funktionen abgedeckt sein sollten.
Bei den Testtechniken wuir ddarauf eingegangen, wie Test Driven Development, Behaviour Driven Testing und Modellbasiertes Testen sinnvoll im Rahmen von HIL-Testing eingesetzt werden können, um ein effizientes Testen von Steuerungs- und Embedded-Systemen zu ermöglichen
Dabei wird auf neueste Test-Techniken eingegangen und auch kommende Entwicklungen für effizientes Testen von Steuerungs- und Embedded-Systemen werden dargestellt.


Johannes Bergsmann is speaker at the Embedded Testing 2016Dipl.-Ing. Johannes Bergsmann
Über 25 Jahre Erfahrung in der SW-Entwicklung in verschiedenen Rollen (Entwickler, Architekt, Projektleiter, Tester, Entwicklungsleiter, Produktmanager, technischer Geschäftsführer)
über 150 SW-Projekte sowohl klassisch als auch agil
Vorträge auf verschiedenen Konferenzen (ASQT, CONQUEST, ESE, Embedded meets Agile, Embedded Systems Symposium, iqnite, ManageAgile, MedConf, OOP, ReConf, Software Quality Days, STEV, …).
Lektor an der Fachhochschule Hagenberg und Linz
Gerichtlich beeideter Sachverständiger für Informatik, Ziviltechniker für Informatik
Vizepräsident der Österreichischen Vereinigung für SW-Qualitätsmanagement
Vizepräsident des Austrian Testing Boards
Autor des ersten deutschsprachigen Buches zum Thema „Requirements Engineering für die agile Software-Entwicklung“, dpunkt.verlag, 2014

Automatisierung von funktionalen und visuellen Embedded HMI Tests

Speaker: Reginald Stadlbauer, froglogic GmbH

Day and time: Wednesday, June 29th 2016, 4:30 pm - 5:15 pm

Abstract: More information coming soon

Verifikation im Bereich Funktionale Sicherheit

Speaker: Gudrun Neumann, SGS-TÜV Saar GmbH

Kind of talk: Unittesting

Day and time: Wednesday, June 29th 2016, 10:35 am - 11:20 am

Abstract: In den Standards zur Funktionalen Sicherheit (z.B. IEC 61509, ISO 26262, EN 50128, IEC 60880, IEC 62304) werden Software-Verifikationsmaßnahmen erwartet. Der Vortrag gibt einen Überblick über diese Methoden und erklärt, was sich dahinter verbirgt.

Agenda:

- Grundlagen der Verifikation
- Verifikation im Softwarelebenszyklus
- Statische Analyse Methoden
- Dynamische Test Methoden


Gudrun Neumann ist Referentin der Embedded Testing 2016Gudrun Neumann studierte Informatik an der Technischen Universität München und schloss das Studium als Diplom-Informatikerin Univ. im Jahr 1990 ab.
Seit dem Jahr 2005 befasst sich Frau Neumann mit der Funktionalen Sicherheit von sicherheitsrelevanten Steuerungen mit Schwerpunkt Software in den Bereichen Automotive, Maschine, Industrie, Haushalt und Medizingeräte und vertritt seit dem Jahr 2009 die SGS Gruppe als Project Manager im AUTOSAR Standardisierungsgremium.
Seit 2010 hat ist sie Produkt Managerin der Funktionalen Sicherheit Software bei der SGS-TÜV Saar GmbH und seit 2012 Teamleiterin Funktionale Sicherheit. In diesem Rahmen ist sie für die Norm konforme Definition und Durchführung von Analysen und Beurteilungen komplexer Software Systeme verantwortlich. Basierend auf langjähriger praktischer Erfahrung bietet sie Schulungen der Standards an und führt Beratungen auf dem Gebiet der sicherheits-relevanten und -orientierten Software Entwicklung durch.

Requirements-based Testing for Embedded Devices to Achieve ISO 26262 Compliance

Speaker: Janos Koppany, Intland Software

Day and time: Wednesday, June 29th 2016, 11:30 am - 12:15 pm

Abstract: Requirements-based software testing is widely used in the automotive and medical industries, as well as other safety-critical sectors where quality is of key importance. Requirements-based testing is the “standard” solution in the V-model development methodology; however, this kind of testing is increasingly used in conjunction with Agile development methodologies.

V-model processes are increasingly mixed with Agile, and this further increases the complexity of testing, making it difficult to achieve compliance with standards such as ISO 26262.

With this growing complexity, it is becoming more and more challenging to ensure end-to-end traceability, the thorough documentation of testing processes, and to report on & analyze the testing process and its results. Developers of embedded software are starting to realize that using smart tools to help them conduct adequate testing is becoming a necessity.

Join our talk to learn more about how Application Lifecycle Management platforms can significantly reduce the time and effort costs of adequate testing and quality assurance in embedded development. The talk will be supported by a quick demonstration of an ALM system that supports continuous integration and unit testing with widely used tools such as Hudson, JUnit, JMeter, and Selenium.


Janos Koppany ist Referent der Embedded Testing 2016Janos Koppany is the CEO and co-founder of Intland Software, developer of award-winning codeBeamer ALM, a fully integrated end-to-end Application Lifecycle Management software platform.

Since co-founding Intland in 1998 jointly with his brother Zsolt, Mr Koppany has piloted the learning and development process that has allowed Intland to accumulate industry knowledge in various sectors, enabling the company to build a flexible yet powerful ALM platform. As a result, several medical, pharmaceutical, automotive, defense, financial etc. companies are now successfully using codeBeamer to develop safety-critical embedded software products.

Mr Koppany understands the basic need most of these companies share: that of managing complexity. With more than two decades of experience in research & development, product management, and overall executive management in the software industry, Mr Koppany's role was instrumental in forming codeBeamer into what it is today: a fully integrated, flexibly customizable, high quality ALM solution that helps its users develop better software faster.

Entwicklung einer Steuersoftware für die Produktfamilie der Regelstangen Dieselmotoren nach Kategorie A

Speaker: Dr. rer. nat. Evgeni Schumm, Konzept Informationssysteme GmbH

Kind of talk: Use case

Day and time: Wednesday, June 29th 2016, 1:25 pm - 2:10 pm

Abstract: Lessons Learned nach drei Pilotprojekten zur Entwicklung einer Klasse A Steuersoftware für einen Pumpe-Düse Dieselmotor. Diese Motoren werden für den stationären Generatorbetrieb in Kernkraftwerken eingesetzt. Die Entwicklung erfolgt nach den Richtlinien der IEC 60880 und IEC 61508 SIL3. Die Schwerpunktsetzung liegt in der modellbasierten Entwicklung mit dem Werkzeug SCADE und der einfachen Applizierung auf alle Regelstangenmotoren.


Dr. rer. nat. Evgeni Schumm ist Referent der Embedded Testing 2016Herr Dr. Evgeni Schumm ist promovierter Mathematiker.
Seit seiner Promotion vor 4 Jahren im Bereich Statistik/Stochastik ist er bei der Konzept IS GmbH Meersburg als Software-Entwicklungsingenieur tätig. In diesem Rahmen hat er an verschiedenen sicherheitskritischen Projekten, unter anderen bei der MTU Friedrichshafen GmbH und Airbus Defence and Space, mitgewirkt. Hierbei konnte er seine fundierten theoretischen Kenntnisse zur praktischen Anwendung bringen und wichtige Erfahrung sammeln.
Zu seinen Hauptaufgaben zählen SW-Entwicklung und Design, Test Management und Testdurchführung, Supportprozesse, Prototyping und Prozessevaluierung.

Practical Requirements Traceability for Developer Testing

Speaker: Matt Davis, QA Systems GmbH

Day and time: Wednesday, June 29th 2016, 2:20 pm - 3:05 pm

Abstract: Bi-directional traceability of requirements with tests, provides an effective means to ensure that code implementation fully meets the software requirements. The technique is required by all the main software safety standards such as IEC 61508, ISO 26262, EN 50128, IEC 62304, IEC 60880 and DO-178B/C.

The presentation explores on how you can implement requirements traceability with unit and integration level tests in ways which seamlessly fit into the development workflow. In particular we address the practicalities of how:

- quality requirements definition and traceability, aid quality test case design by developers.
- requirements coverage, test coverage and code coverage create a complete picture.
- requirements and test data, across different tools, can be easily integrated and managed for an efficient yet standard compliant workflow.


Matt Davis ist Referent der Embedded Testing 2016Matt started his professional career in software quality assurance at IPL - a leading independent UK software and systems house. As a qualified software auditor, he worked for 5 years on multi-million pound projects from business critical telecoms to safety critical systems. Since 1996 he developed and globally marketed embedded unit and integration testing solutions for a diverse range of business safety-critical customers. He left IPL as Products Partner Manager to join QA Systems with the acquisition of the testing products business unit in 2012. In 2015 Matt was appointed Managing Director of QA Systems Ltd.

Testen von sicherheitsgerichteter Software nach IEC 61508

Speakers: Thomas Sauter and Oliver Schönfeld, NewTec GmbH

Kind of talk: Standards and exposure of liability

Day and time: Wednesday, June 29th 2016, 3:35 pm - 4:20 pm

Abstract: If one develops a safety-critical software system particular attention must be given to the testing of the system, because norms, as for example the IEC61508 or ISO26262, impose the usage of suitable verification methodologies in every phase of the development process. For the certification of such software systems the proof is to be provided that finally all safety functions are implemented correctly and all safety goals are met. Strategic planning on how this proof is produced is typically part of the verification and validation activities.
This presentation draws attention to the specific challenges in safety critical software projects and reports about success factors and lessons learned with main focus on testing of such software systems.


Thomas Sauter ist Referent der Embedded Testing 2016Thomas Sauter studierte Industrieelektronik an der Hochschule in Ulm. Bei NewTec ist er Teil eines Teams, das sich um die Verifizierung sicherheitskritischer Systeme vor allem aus dem Automotive- und Medizinbereich kümmert.
Thomas Sauter hat über 5 Jahre Erfahrung in der Testadministration und im Testen sicherheitsrelevanter Systeme. Seine Schwerpunkte liegen im Bereich Software-Modultest, sowie Software-Hardware-Integrationstest von Embedded Systems unter Berücksichtigung relevanter Normen, wie zum Beispiel IEC61508 oder EN 62304.
Derzeit liegt sein Fokus auf der Steigerung der Softwarequalität durch kontinuierliche Integration, sowie auf der Automatisierung von statischen und dynamischen Tests.

Oliver Schönfeld ist Referent der Embedded Testing 2016Oliver Schönfeld studierte Nachrichtentechnik an der Fachhochschule in Ulm. Bei NewTec ist er Teil eines Teams, das sich um die Verifizierung sicherheitskritischer Systeme vor allem aus dem Medizin- und Automotivebereich kümmert.
Oliver Schönfeld besitzt knapp 10 Jahre Erfahrung im Testen komplexer Systeme sowie im Testmanagement und Requirementsanalyse zur Erfüllung einer durchgängigen Traceability auf allen Ebenen des V-Modells.
Momentan arbeitet das Team an der Verifzierung eines Medizinprodukts und führt dabei normbasierte Komponenten-, Integrations- und Systemtests durch.
Im Zuge dieser Verifikationsmaßnahmen wird dabei ein Testframework mit Einbindung eines Continous Integration Servers zur weitestgehenden Automatisierung der Tests entwickelt.

Zertifizierung erforderlich – Wie bitte?

Speaker: Gudrun Neumann, SGS-TÜV Saar GmbH

Kind of talk: Standards and exposure of liability

Day and time: Wednesday, June 29th 2016, 4:30 pm - 5:15 pm

Abstract: Manchmal wird ein Zertifikat von Herstellern gefordert, aber es ist unklar welches. Es wird eine sogenannte Zertifizierung gefordert, aber diese ist nicht näher spezifiziert.
In diesem Beitrag wird zunächst ein kurzer Überblick über die verschiedenen Standards zur Funktionalen Sicherheit gegeben. Danach werden die verschiedenen Arten von Zertifikaten, Bescheinigungen und Prüfberichte vorgestellt. Es wird ein Überblick über die Anwendungsbereiche und die prinzipiellen Anforderungen gegeben. Dabei wird auch die Überschneidung einzelner Gebiete, wie z.B. Qualität, Safety und Security betrachtet. Der Beitrag beschäftigt sich insbesondere mit den Zertifikaten im Bereich Software.


Gudrun Neumann ist Referentin der Embedded Testing 2016Gudrun Neumann studierte Informatik an der Technischen Universität München und schloss das Studium als Diplom-Informatikerin Univ. im Jahr 1990 ab.
Seit dem Jahr 2005 befasst sich Frau Neumann mit der Funktionalen Sicherheit von sicherheitsrelevanten Steuerungen mit Schwerpunkt Software in den Bereichen Automotive, Maschine, Industrie, Haushalt und Medizingeräte und vertritt seit dem Jahr 2009 die SGS Gruppe als Project Manager im AUTOSAR Standardisierungsgremium.
Seit 2010 hat ist sie Produkt Managerin der Funktionalen Sicherheit Software bei der SGS-TÜV Saar GmbH und seit 2012 Teamleiterin Funktionale Sicherheit. In diesem Rahmen ist sie für die Norm konforme Definition und Durchführung von Analysen und Beurteilungen komplexer Software Systeme verantwortlich. Basierend auf langjähriger praktischer Erfahrung bietet sie Schulungen der Standards an und führt Beratungen auf dem Gebiet der sicherheits-relevanten und -orientierten Software Entwicklung durch.

Schnell-Lesen für Informatiker

Speaker: Peter Rösler

Day and time: Wednesday, June 29th 2016, from 6:10 pm

Abstract: Informatiker und Ingenieure können mit dem sogenannten „kleinen Schnell-Lesen“ ihr Lesetempo durchschnittlich um 66 % erhöhen und werden damit um etwa 3 % produktiver. Im Vortrag wird erläutert, mit welchen Methoden diese Tempoerhöhung erreicht werden kann und welche Methoden dagegen nach jetzigem Wissensstand unwirksam oder sogar schädlich sind. Während des Vortrags wird Ihr derzeitiges Lesetempo ermittelt und Ihr Potential nach oben abgeschätzt.

Dieser „Blick über den Tellerrand“-Vortrag geht auch auf die sehr bewegte Wissenschaftsgeschichte des Schnell-Lesens ein, die 1894 mit einer Veröffentlichung der Psychologin Adelaide M. Abell begann. Erst ungefähr in den letzten 10 Jahren ist es gelungen, das Erfahrungswissen mit den wissenschaftlichen Publikationen in Einklang zu bringen und die verschiedenen Ausprägungen des Schnell-Lese-Effekts zumindest im Grundsatz zu verstehen. Zum Abschluss wird behandelt, wie man „natürliche Schnell-Leser“ erkennt und wie viele davon in einer typischen Firma zu finden sind.


Peter Rösler ist Referent der Embedded Testing 2016Peter Rösler, Jahrgang 1961, studierte von 1981 - 1987 Informatik an der TU München und arbeitete als Programmierer, Chefdesigner, QS-Beauftragter und Projektleiter in verschiedensten Softwareentwicklungsprojekten, vorwiegend im Bereich Airports/Airlines bei der Firma Softlab GmbH. Er ist trainierter Reviewmoderator für Gilb-Inspektionen und bei mehreren Schulungsanbietern Dozent für Review-Seminare. Peter Rösler ist Vorsitzender der Deutschen Gesellschaft für Schnell-Lesen und veröffentlichte 2016 das erste Grundlagenbuch zu Schnell-Lesen.

Lessons Learned? A retrospective view of the Clean Code Days 2016

Speaker: Michael Puder, generic.de software technologies AG and Ralf Schoch, CoDeSo – Consulting, Development & Solutions

Day and time: Thursday, June 30th 2016, 4:10 pm - 5:10 pm

Abstract: As an attendee of the conference, you where following one of the Clean Code Developers practice: "Attend Conferences". Good.

But, no improvement, no progress, no learning, without reflexion!

Following this practice, we'll take a brief, retrospective look at selected sessions of the Clean Code Days 2016, and recap the most important, thrilling or valuable content for your reflexion on your way home.


Michael Puder is founder and CEO of generic.de software technologies AG, the first software development company in Germany, having a comprehensive approach to Clean Code Development since 2009.

Ralf Schoch is a freelance IT consultant and lead of the .net User Group Karlsruhe with the passion for Agile methods and clean code development.

From rowing boats to container ships - a journey to continuous delivery

Speaker: Tobias Getrost, 1&1 Telecommunication SE

Kind of talk: Methods report

Level: Beginner and Advanced

Day and time: Thursday, June 30th 2016, 9:00 am - 9:45 am

Abstract: The presentation takes you on the journey to continuous delivery. Throughout the presentation the analogy of boats is used to illustrate the concepts of continuous delivery. Starting with small, hand powered rowing boats (long release cycles, no automation, manual tests and deployments) towards large, standardized container ships (build pipeline using Docker containers). The talk combines lessons learned, best practices and typical approaches for continuous delivery with technologies facilitating these practices. The talk provides an overview about the topic, its pitfalls and advises on how to build your own build pipeline using Open Source software (technologies used: Jenkins with the Pipeline Plugin, Groovy, Java).


Tobias Getrost is speaker at the Clean Code Days 2016Since 2014 Tobias Getrost works as a Lead Developer for the 1&1 Telecommunication SE. Together with his team he establishes Continuous Delivery for large business processes. Before he worked as a consultant for business process management, Enterprise Java and clean code development. As a passionate clean code developer he is up to software quality, Continuous Delivery and efficient software development methodologies. As part of his job he leads workshops about clean code development and software quality and speaks on conferences.

Bringing Clean Code to Large Scale Legacy C++ Applications

Speaker: Arne Mertz, Zühlke Engineering

Kind of talk: Methods report

Level: Beginner

Day and time: Thursday, June 30th 2016, 9:55 am - 10:40 am

Abstract: Due to the complexity of the language and the presence of some low level language features, "Clean C++" seems to be an oxymoron for many developers. The lack of good refactoring tools even in modern C++ IDEs makes drastic code changes tedious. Legacy applications with large code bases grown over several years tend to suffer from underdeveloped or missing unit and integration tests. Development teams maintaining such code bases resign over time and adopt "don't touch it, you'll break it" policies.
Nevertheless it is possible to write clean C++, to refactor even large C++ code bases and cover critical parts with automated tests. The key elements to successfully regain control over code quality are a dedicated team and a set of properly sized and prioritized steps towards that goal.


Arne Mertz is speaker at the Clean Code Days 2016Arne Mertz has been using C++ for a decade and is never done exploring the language. Through the seven years of his professional career he has been developing and maintaining several large C++ applications in the financial sector. He has a passion for cleanly written and well tested code which led him to write his blog "Simplify C++!" about clean modern C++ code.

Batman v Supername: Dawn of Legacy Code

Speaker: Björn Kimminich, Kuehne + Nagel (AG & Co.) KG

Kind of talk: Use case

Level: Beginner, Advanced and Expert

Day and time: Thursday, June 30th 2016, 11:10 am - 11:55 am

Abstract: "Professionals use their power for good and write code that others can understand." (Uncle Bob, Clean Code)

Good names - for classes, functions and variables alike - are a simple but powerful way of creating understandable code. Understandable code gives you improved maintainability. Bad names on the other hand are a heavy burden that the whole development team has to carry. Bad names hide the authors intent, leave false clues and often obscure the meaning of code. And all this calls for a certain action that developers should never have to apply lightly: The Batman Mode™. Forced into detailed detective work, developers try to find the meaning and correct pronunciation of class names like GyqfaChBppResDao. They investigate the difference between intended and entrenched meaning of variable names like ssd, sd and cd. They argue with code-villains about Encodings, Hungarian Notation and if an interface name should start with an I or not. Putting a little bit of extra care into name choices and following some simple concepts such as the "Scope Rule" and "Newspaper Metaphor" can have huge positive effects on your code. By choosing Supernames™ your team might even prevent the Dawn of Legacy Code for its own project!

"With great power comes great responsibility." (Uncle Ben, Spiderman)


Björn Kimminich is speaker at the Clean Code Days 2016Björn Kimminich is working in the area of software development for Kuehne + Nagel for over 8 years where he is now responsible for Global IT Architecture. He is a member of the nonprofit Open Web Application Security Project (OWASP) and authored the intentionally insecure web application Juice Shop, which can be used to learn security vulnerabilities of the web. As a side job he lectures software development at the UAS Nordakademie where he teaches Java to engineering students as their first programming language.

Benefits of Clean Code in the Cloud and daily business

Speaker: Christian Jantz, Safewrd Ventures OÜ

Kind of talk: Use case

Level: Beginner and Advanced

Day and time: Thursday, June 30th 2016, 2:55 pm - 3:40 pm

Abstract: It got a common practice to create some applications real quick and never make them clean after they got adapted after testing.

This talk will walk you through learnings of applications architected and operated like this and what it will cost you as a business.

In the second part this talk will give you a quick introduction to clouds provided by industry leaders like Amazon AWS but also IBM Bluemix and technologies like docker. In this part we will focus on how clean code allows you to turbo-charge your infrastructure there and what it means to be clean in terms of cloud compatible for your migration projects.


Christian Jantz is speaker at the Clean Code Days 2016Christian Jantz is a Cloud Consultant and DevOps Engineer helping startups as well as corporations move their infrastructure to the cloud and automatizing tasks using code. In the past he developed web portals including spiders for data retrieval as well as internal applications to make employees life more easy.

Daily tasks also include doing lots of code reviews and advising on best practices as well as how to manage projects using agile principles.

Next to consulting companies he contributes to projects including Fedora Linux, PHP and conferences like FrOSCon.

Clean Communication - No Space for Ambiguities

Speaker: Johannes Dienst, MULTA MEDIO Informationssysteme AG

Kind of talk: Methods report

Level: Beginner

Day and time: Thursday, June 30th 2016, 2:00 pm - 2:45 pm

Abstract: Everybody talks about Clean Code, but is your communication clean in every aspect of your professional work? In software development, communication is the key to produce good software. In this talk you will learn how to communicate more clearly by paying attention to three aspects. First: Start with tailoring the message to the person you talk to. A manager needs less detail than a co-worker on the same project. Second: Context is key. Do not walk in and start bubbling out your insights on a topic. Give a minimal context and recognize the meta-communication your counterpart sends you. Third: Be as precise as possible with written text in for example bugtrackers and commit messages. Ambiguities arise on a regular basis there. Written communication is very critical in every aspect of software-development. All three key points are covered with real world examples.


Johannes Dienst is speaker at the Clean Code Days 2016Johannes Dienst is a passionate software engineer at MULTA MEDIO Informationssysteme AG interested in every aspect of the software development cycle. Main focus of work is backend development with Java and Python. Is eager to stay up to date with frontend development, especially JavaScript. Loves to refactor ugly code and learn new things like programming languages to make him a more whole developer. Feels like this is a lifetime task.

Continuous Refactoring - prophylaxis, surgery and spring-cleaning for source code

Speaker: Urs Enzler, bbv Software Services AG

Kind of talk: Methods report

Level: Beginner

Day and time: Thursday, June 30th 2016, 12:05 pm - 12:50 pm

Abstract: Refactoring is not just for cleaning up after adding a new feature. Refactoring works anytime!
Both when I stumble over an ugly piece of code, and before implementing a new feature to ease the addition.

After this session, you'll know when and how refactoring can be applied successfully.
This way, coding your software will still be fun tomorrow!

I'll show different workflows for refactoring at different points in time when developing software:
Before, during and after adding new features, while reading and understanding existing code, and when cleaning up a big mess.


Urs Enzler is speaker at the Clean Code Days 2016Urs Enzler works as a software architect for bbv Software Services AG and seeks ways to ease writing, reading and maintaining software systems.
He is the author of the clean code cheat sheet at http://www.planetgeek.ch/2014/11/18/clean-code-cheat-sheet-v-2-4/

He blogs about his ideas and findings on www.planetgeek.ch and www.bbv.ch/blog

Coding Dojo "Bot Wars"

Speaker: Björn Kimminich, Kuehne + Nagel (AG & Co.) KG

Day and time: Wednesday, June 29th 2016, from 6:10 pm

Abstract: In the traditional Coding Dojo after the conference program and dinner participants will once more have the chance to enhance their development skills hands-on! TDD, Pair Programming, Randori Style, ... are waiting for you to be let loose on a set of User Stories provided by Björn Kimminich. His vision as Product Owner: Create a robot fighting game where team composition, strategy and upgrade management are key to win against your opponent! Use individual robot skills - such as taunt, repair, retaliation or stun - to get the upper hand in every battle! If you want to be a part of the first development iterations of "Bot Wars" make sure you do not miss this year's Coding Dojo! Make sure to bring your laptop!


Björn Kimminich is speaker at the Clean Code Days 2016Björn Kimminich is working in the area of software development for Kuehne + Nagel for over 8 years where he is now responsible for Global IT Architecture. He is a member of the nonprofit Open Web Application Security Project (OWASP) and authored the intentionally insecure web application Juice Shop, which can be used to learn security vulnerabilities of the web. As a side job he lectures software development at the UAS Nordakademie where he teaches Java to engineering students as their first programming language.

Software Unit Test: Autonome Fahrzeuge getestet mit Luftfahrt Best Practise!

Speaker: Martin Heininger, HEICON - Global Engineering

Kind of talk: Unit testing

Day and time: Thursday, June 30th 2016, 9:00 am - 9:45 am

Abstract:

In der Luftfahrt werden Unit Tests seit 30 Jahren praktiziert, welche Erfahrungen aus der Praxis sind übertragbar auf Automobil Anwendungen?

Software Unit Tests mit einer 100% strukturellen Source Code Coverage, decken viele Softwarefehler zum frühesten möglichen Zeitpunkt auf. Die funktionalen Sicherheitsstandards ISO 26262 und IEC 61508 fordern sie.
Allerdings sind Software Unit Tests auch aufwendig, zeitintensiv und damit auch teuer. Daher wird immer wieder nach Wegen gesucht, diese Tests effizienter zu gestalten. Da bietet sich ein Blick in die Luftfahrtbranche mit Ihrem Standard DO 178C an. In der Luftfahrt werden Unit Tests seit 30 Jahren praktiziert. Die dort vorhandenen Erfahrungen und Vorgehensweisen können sehr nützlich sein auf der Suche nach dem effizienten Testprozess!
Der Vortrag stellt zunächst die normative Situation in der Luftfahrt dar. Eine wesentliche Rolle spielen dabei die explizit von der Norm geforderten 2 Ebenen (High-Level und Low-Level) von Software Requirements. Dadurch wird ein funktionaler Test auf Unit Ebene erzwungen, da die Details der Low-Level Requirements in keinem Test auf höherer Ebene nachweisbar sind.
Neben den 2 Requirements Ebenen fordert die Luftfahrtnorm Normal- und Robustnesstestfälle. Es gibt keine Fault-Injection Tests, Error-seeding Tests als eigenständige Testkategorien. Aufgrund der vollständigen Beschreibung der Software mit Requirements, sind Fault-Injection und Error-seeding Tests aber auch ein Bestandteil von Normal-Range Unit Tests und Robustness Unit Tests. Der große Vorteil hier ist, dass das für jeden Test ein erwartetes Verhalten definiert ist (Requirement).
In der Luftfahrt wird zudem praktisch industrieweit der DO 178C gleich interpretiert. Dies ist vielleicht der größte Unterschied zu anderen Industrien, insbesondere der Automobilindustrie.
Im zweiten Teil des Vortrags wird kurz die normativen Forderungen der ISO26262 zum Thema Unit Test aufgezeigt. Daran kann man dann erkennen, dass es normativ viele Gemeinsamkeiten zwischen Luftfahrt und Automobilindustrie gibt (Structural Coverage, Inspection/Walk-through, Control flow analysis, Data flow analysis, Static code analysis)
Der Unterschied liegt also weniger in den normativen Forderungen, als in deren Interpretation. In der Automobilindustrie, gibt es deutlich mehr und teilweise sehr unterschiedliche Interpretationen der Norm, als dies in der Luftfahrt der Fall ist. Anhand von zwei Beispielen ( 1) Wann ist 100% Coverage erreicht? 2) Wie umfangreich müssen Reviews gemacht werden?) werde diese unterschiedlichen Interpretationen illustriert.

Abschließend werden folgende Erfahrungen aus 30 Jahren Unit Test in der Luftfahrt dargestellt und zur Diskussion gegeben:

Code Coverage ==> Soll verwendet werden um Test/Req. Lücken zu finden. Sie ist kein Selbstzweck
- Requirements basiertes Testen ==> Damit müssen 80% oder mehr strukturelle Source Code Coverage erreicht werden
- Software (Req. basiert) Funktionales Testen ==> Eine Simulations- bzw. Emulatorumgebung soll verwendet werden. Nicht alles muss auf der Zielhardware nachgewiesen werden
- Traceability ==> Eine Strategie muss erstellt werden
- Source Code Codierrichtlinien ==> Zuerst eine Codierstrategie und dann Anwendung von MISRA
- Verifikationstool Qualifikation ==> Sehr gutes Kosten/Nutzen Verhältnis


Martin Heininger is speaker at the Embedded Testing 2016Dipl.-Ing. (FH) Martin Heininger, Inhaber von HEICON, einem Beratungsunternehmen in Schwendi bei Ulm, verfügt über 15 Jahre Erfahrung im Bereich von Methoden und Prozessen für die Entwicklung von sicherheitskritischen Embedded Systemen.

Martin Heininger ist Partner von QA-Systems

Der Autor betreut vorwiegend Beratungsprojekte in der Luftfahrt, der Automatisierungs- und Bahntechnik sowie in der Automobilindustrie. Schwerpunkte seiner Tätigkeit sind effiziente, aber sichere Software- und Systementwicklungsprozesse sowie Zertifizierungsstrategien und das Lieferantenmanagement.

Live and Let Die: robust testing the fancy way

Speakers: Sebastian Heglmeier und Daniel Zappold, improuv GmbH

Kind of talk: Methods report

Day and time: Thursday, June 30th 2016, 9:00 am - 9:45 am

Abstract: Applying changes to your code base can be extremely challenging - especially when you have no clue how good your tests are. Safety nets in form of tests are fantastic as they lower the risk to introduce bugs during code changes dramatically. But even if you got “100% coverage” it doesn’t necessarily mean you’re on the safe side. Even worse, if you exaggerate testing your tests can nail you down and give you a hard time driving changes without fixing tons of them. So how can we figure out how good our safety net really is? And how can we write tests which let us breathe?

Just recently some interesting approaches emerged which focus on making test suites more reliable and expressive. This session takes us on a journey where we discover how to use up-and-coming testing techniques such as Mutation Testing or Property Based Testing.


Daniel Zappold is an Agile Coach and Trainer who supports and encourages teams on several levels: from his earlier time as a developer he's got a strong technical focus on continuous integration, eXtreme Programming and acceptance test driven development. Nowadays he fosters collaboration between business and development by helping his clients develop a common language, vision and understanding. His credo: successful products can only be developed by motivated teams striving for technical excellence.

Sebastian Heglmeier is a Software Developer, XP Coach and Trainer. Sebastian is an enthusiast who sees his challenge in un-complicating software development, loves communicating and inspires his surroundings with his unconventional ideas. He strives for technical excellence by teaching and applying XP practices, TDD, Clean Code, Continuous Integration - pragmatic development in general. As a software craftsman by heart he also makes building the right product his responsibility. He supports teams by improving their development processes and fosters close communication and short feedback cycles with the Product Owner and customers.

Testgetriebene Entwicklung mit Simulink® und Stateflow®

Speaker: Evgeni Verbitski, TechCoaching GmbH

Kind of talk: Unit testing

Day and time: Thursday, June 30th 2016, 9:55 am - 10:40 am

Abstract: As systems get smarter and combine hardware and software, building them right becomes more complex. At TechCoaching, we believe in keeping it simple – and smart, removing friction and frustration from your product development process.

The transfer of our model-based design expertise and our safety related know-how to your organisation creates an unprecedented opportunity for your innovations by tapping into the full potential of your engineering team, your processes and your tools.

Usability can make the difference between pleasure and frustration. What technology can make easy will get done easily. That’s one of the reasons why we provide the most usable model-based verification solutions for safety related applications on the market – easy to learn and easy to use.

EZTEST® software is a verification framework for safety related applications, enabling function developers to leverage advantages of model-based design, verification and code generation.

EZTEST® software was designed for unit testing at model level. EZTEST® software enables test-driven design of dynamic systems with MATLAB®, Simulink® and Stateflow®. It supports SIL and PIL verification with manually developed or automatically generated external code.


Founder of TechCoaching GmbH
Mr. Verbitski is an independent consultant, trainer and coach in safety related projects providing holistic team support in all aspects of model-based development.

Functional Safety Professional (TÜV SÜD)
Mr. Verbitski has solid experience in embedded systems design and implementation for safety related applications with exposure to automotive industry (ISO 26262).

Member of MathWorks Advisory Board
Mr. Verbitski is a recognized expert in Model-Based Design methodology including system design and simulation, automatic code generation, testing and verification with MATLAB, Simulink, Stateflow, EZTEST, Embedded Coder and related Toolboxes.

Martin Heininger ist Partner von QA-Systems

Der Autor betreut vorwiegend Beratungsprojekte in der Luftfahrt, der Automatisierungs- und Bahntechnik sowie in der Automobilindustrie. Schwerpunkte seiner Tätigkeit sind effiziente, aber sichere Software- und Systementwicklungsprozesse sowie Zertifizierungsstrategien und das Lieferantenmanagement.

Let Tests Drive or let Dijkstra Derive?

Speaker: Sander Kooijmans, HighTech ICT

Kind of talk: Methods report

Day and time: Thursday, June 30th 2016, 9:55 am - 10:40 am

Abstract: Test-Driven Development is presented as the one and only way to write code. Some people consider you not a professional software developer if you do not use it.

Uncle Bob uses TDD to solve the Primes Kata with just three lines of code. These three lines were justified by only seven tests.

However, tests have one big problem: tests can only prove the presence of bugs, not their absence. So how does TDD help you writing correct programs?

Prof. E.W. Dijkstra, winner of the Turing Award, developed a formal way of deriving and proving algorithms.

Formal proofs are constructed with pre- or postconditions. Rules to prove the postcondition of an assignment, an if-statement and a while-loop are shown. Using these rules a solution of the Primes Kata is derived.

The formal proof of the correctness for these three lines make one thing clear: seven tests are not sufficient to prove this algorithm!

Do not fear very detailed and formal mathematical proofs. The derivations are presented in a practical and informal way.


Sander Kooijmans is speaker at the Embedded Testing 2016Sander Kooijmans graduated from Eindhoven Univeristy of Technology with honors in 1999. Sander worked on digital television, the blu-ray standard, medical software and ERP software. Since 2010 he works for the staffing agency HighTech ICT.

Sander has worked the past 10 years on enterprise applications using several technologies and databases, which inspired him to give this presentation.

Sander gave presentations before:
- "Let tests drive or let dijkstra derive" at the Agile Lean Europe 2014 unconference in Krakow. http://gogognome.nl/2014/08/let-tests-drive-or-let-dijkstra-derive/
- "How invariants help writing loops" at ProgSCon 2015 in London. http://gogognome.nl/posts/how-invariants-help-writing-loops/
- "How invariants help writing loops" at NextBuild 2015 in Eindhoven. http://gogognome.nl/posts/how-invariants-help-writing-loops/

Wir machen 99% testbar

Speaker: Johannes Hochrainer, Software Quality Lab GmbH

Kind of talk: Unit testing

Day and time: Thursday, June 30th 2016, 11:10 am - 12:50 pm

Abstract: Unit Tests bei eingebetteten Systemen? Ja, das ist möglich! Ich behaupte, dass aus technischer Sicht 99% des Codes durch Unit Tests abgedeckt werden kann.

Im Workshop zeige ich Ihnen Techniken, mit denen Sie Ihren Code von Abhängigkeiten befreien – eine Grundvoraussetzung für das Unit Testen. Dabei betrachten wir auch die Besonderheiten von Legacy Code und wir lernen, wie uns Mocking Frameworks das Leben erleichtern.

Die Beispiele sind in C/C++, sind aber auch für andere Programmiersprachen anwendbar.


Johannes Hochrainer ist seit 10 Jahren Berater und Trainer bei Software Quality Lab. In jährlich über 30 Projekten beschäftigt er sich mit Software Architektur, sowie Testautomatisierung und da speziell mit dem Thema Unit Testing. Für einen Automobilzulieferer entwickelte er eine Unit Testing Schulung für C/C++ und tourt damit durch Deutschland, China und Indien. Seit letztem Jahr schult Herr Hochrainer auch Entwickler von SPS.

Durchgängige Berücksichtigung des Ressourcenverbrauchs durch automatische statische Analyse

Speaker: Dr. Jörg Herter, AbsInt Angewandte Informatik GmbH

Kind of talk: Static code analysis

Day and time: Thursday, June 30th 2016, 11:10 am - 11:55 am

Abstract: In Echtzeitsystemen ist korrektes und effizientes Zeitverhalten eine wichtige Grundanforderung. In einer idealen Entwicklungsumgebung wird das Zeitverhalten daher schon ab frühen Entwicklungsphasen kontinuierlich und durchgängig berücksichtigt.

In frühen Phasen können Budgets für Tasks reserviert werden, auf deren Basis eine Schedulinganalyse zur Systemexploration durchgeführt werden kann. Sobald stabile Implementierungen der Tasks zur Verfügung stehen, werden oft dynamische Test- und Messverfahren durchgeführt, die Informationen über die beobachtete Ausführungszeit liefern. Messungen auf der physikalischen Hardware basieren in der Regel auf Codeinstrumentierung, erfordern komplexe Messhardware und verursachen hohen Aufwand. Sie liefern Feedback über das durchschnittliche Verhalten aber keine verläßlichen worst-case Zeiten. Zur Bestimmung von worst-case Garantien können statische Analysetools eingesetzt werden. Diese analysieren den ausführbaren Maschinencode, ohne Zugriff auf die physikalische Hardware zu benötigen, und können leicht automatisiert werden. Sie werden jedoch typischerweise in späten Entwicklungsphasen eingesetzt, da die Hardwarekonfiguration, für die die Garantien benötigt werden, im Detail feststehen muss. In frühen Entwicklungsphasen ist der benötigte Detailgrad oft noch nicht festgelegt.

Ein Einsatz statischer Verfahren bietet jedoch auch in frühen Entwicklungsphasen große Vorteile, da sie schnelles und automatisches Feedback über das Zeitverhalten liefern können. Das Ziel liegt hier nicht in der Bestimmung garantierter Laufzeitschranken, sondern darin, das worst-case Zeitverhalten während der Programmentwicklung frühzeitig abzuschätzen und transparent zu machen, ohne langwierige Messläufe auf der physikalischen Hardware durchführen zu müssen. Eine solche Analyse kann auf beliebigen Codefragmenten durchgeführt werden, selbst wenn die Implementierung noch nicht vollständig genug für Laufzeitmessungen ist. Der statische Analysator TimingProfiler wurde genau im Hinblick auf diese Anforderungen entwickelt. Er kann mit dem Tool StackAnalyzer gekoppelt werden, was eine einheitliche und durchgängige Betrachtung des relevanten Ressourcenverbrauchs ermöglicht.

TimingProfiler liest ein Executable, also vollständig gelinkten, ausführbaren Maschinencode, als Eingabe. Er führt eine abstrakte statische Simulation jeder Task auf einem generischen Prozessormodell durch, das den Zielinstruktionssatz - z.B. PowerPC oder TriCore - implementiert. Er braucht nicht mit konkreten Eingaben stimuliert zu werden: ohne spezielle Zusatzeingaben betrachtet er alle möglichen Eingangswerte; er kann aber auch auf spezifische Ausführungsszenarien eingeschränkt werden, falls gewünscht. TimingProfiler untersucht alle möglichen Ausführungspfade der Task und bestimmt einen worst-case Pfad bezüglich der Ausführungszeit. Die nötige Benutzerinteraktion wurde minimiert: Informationen, die nicht statisch verfügbar sind, werden durch spezialisierte Heuristiken abgeschätzt. Die berechnete Ausführungszeit entspricht einem realistischen worst-case Szenario, kann aber von der echten Ausführungszeit auf dem realen Prozessor abweichen und stellt keine worst-case Garantie dar. Im Gegensatz zu den verbreiteten invasiven Messverfahren gibt es keinerlei Beeinflussung der berechneten Laufzeit durch Instrumentierungscode. Ein weiterer großer Vorteil liegt darin, dass das Zeitverhalten aufwandsfrei transparent gemacht wird, was insbesondere bei modellbasierter Entwicklung einen großen Vorteil darstellt. Führt eine Änderung im Modell oder im Code zu einer deutlichen Erhöhung der geschätzten worst-case Ausführungszeit, kann sofort gegengesteuert werden. Um dies zu erleichtern, zeigt TimingProfiler detaillierte Informationen über die Verteilung der Ausführungszeit und über die zeitkritischen Pfade. Er visualisiert den Aufruf- und Steuerflussgraph und stellt alle relevanten Informationen des Executables übersichtlich dar. Hierdurch können bezüglich ihres Zeitverhaltens kritische Programmstellen frühzeitig entdeckt werden und das Risiko von Integrationsprobleme in späten Phasen reduziert werden. Da die Analyse vollständig statisch ist und kein Zugriff auf die physikalische Hardware erforderlich ist, kann die Analyse leicht in den Entwicklungsprozess integriert, automatisiert und in Umgebungen für kontinuierliche Verifikation integriert werden.


Dr. Jörg Herter is speaker at the Embedded Testing 2016Jörg Herter ist Senior Technical Consultant bei AbsInt GmbH.
Er studierte Informatik an der Universität des Saarlandes und promovierte ebendort zum Doktor der Ingenieurwissenschaften.
Jörg Herter forschte sowohl an der Universität des Saarlandes als auch der Hochschule für Technik und Wirtschaft des Saarlandes (HTWdS).
Sein derzeitiges Arbeitsgebiet umfasst das Thema funktionale Sicherheit sowie die formale Validierung und Verifikation sicherheitskritischer Software.
Jörg Herter hält regelmäßig Vorlesungen über statische Programmanalyse, Eingebettete Systeme und Übersetzerbau.

Acceptance Testing

Speaker: Andreas Mautz, Entwicklungshilfer NRW

Kind of talk: Use case

Day and time: Thursday, June 30th 2016, 12:05 pm - 12:50 pm

Abstract: Codeception Acceptance Tests
Automatisiertes Testing ist der Schlüssel zu effektiver Software-Entwicklung. Frontend-Tests sind dabei sehr aussagekräftig und bieten eine hohe Testabdeckung. Sie sind schnell aufgesetzt und zeichnen sich vor allem durch ihre extrem einfache Syntax aus. Die Test-Szenarien sind dadurch sehr gut lesbar und schnell ausgearbeitet. In der heutigen Webentwicklung wird die Frontend-Entwicklung immer komplexer – zuverlässige Tests für Navigationen und Formulare sind daher wichtig und geschäftsentscheidend.

Die Entwicklungshilfe NRW steigert mit ihren Schulungen die Produktivität von Webentwicklern. Neben den konkreten Schulungen werden auch Talks zu den verschiedenen Themen der Schulungen erstellt. Alle Informationen gibt es auf www.entwicklungshilfe.nrw.


Andreas Mautz ist Referent der Clean Code Days 2016Der Diplom Wirtschaftsinformatiker hat 1998 in der PHP-Entwicklung angefangen und dabei Zwischenstopps in der Qualitätssicherung für IT-Projekte eingelegt. Seit 2008 entwickelt er E-Commerce-Lösungen auf Magento bei der Agentur webvisum. Heute liegt sein Fokus auf den Bereichen Wissensmanagement sowie Deployment- und Entwicklungsinfrastrukturen für kleine und mittlere Agenturen auf Open-Source-Basis.

Eingesetzte Technologien sind u. a. Vagrant, Docker, Git, Composer, modman und PHPCI/Jenkins. Zertifizierter Magento-Entwickler mit Spezialkenntnissen in responsive Design, PHPUnit für PHP Code und codeception für automatisiertes Frontend Testing.

Zitat: "Viele PHP-Schulungen setzen auf Front-Unterricht mit Präsentationen. Entwickler haben dann häufig die 16:9-Format-Brille auf und nehmen am Ende nur wenig mit. Die PHP-Seminare der 'Entwicklungshilfe' bietet hier eine weitaus praxisorientiertere Lösung."

Mit Covered by Analysis zu einer hundertprozentigen Codeabdeckung

Speaker: Ingo Nickles, Vector Software

Kind of talk: Code Coverage

Day and time: Thursday, June 30th 2016, 2:00 pm - 2:45 pm

Abstract: Eine hundertprozentige Codeabdeckung, wie sie von manchen Zertifizierungsstandards gefordert wird, ist oft nur sehr schwierig und mit immensen Aufwand oder häufig auch überhaupt nicht zu erreichen. In diesen Fällen sind die Entwickler in regulierten Industrien dazu aufgerufen Analysen des freigelegten Code auszuführen und zu dokumentieren, dass durch die Analyse als Teil ihrer Anforderung eine 100% strukturelle Abdeckung erreicht wird. Diese Vorgehensweise geht einher mit einem immensen Aufwand an Dokumentation und vielen Dokumenten die an die Zertifizierungsbehörden gerichtet werden müssen.
In diesem Vortrag wird erläutert welche Werkzeuge und Analysen zielführend sind und welche kombinierten Deckungsmetriken von Test und Analyse eingesetzt werden können.


Ingo Nickles is speaker at the Embedded Testing 2016Ingo Nickles arbeitet als Senior Field Application Engineer bei der Firma Vector Software und ist dort für die Kunden- und Projektbetreuung verantwortlich. Er kann auf über 20 Jahre Berufserfahrung in der Software Entwicklung, System Design und Software Tests und agilen Entwicklungsmethoden zurückgreifen.

Clean Unit Tests

Speaker: Johannes Hochrainer, Software Quality Lab GmbH

Kind of talk: Methods report

Day and time: Thursday, June 30th 2016, 2:00 pm - 2:45 pm

Abstract: Unit tests are a powerful technique for giving developers feedback, checking the quality and to promote good design. Many development teams invest a lot of time in unit testing but struggle with problems: Tests no one knows what they are doing, unclear coverage, high maintenance costs, more and more unmotivated developers, … The consequences of dirty unit tests are manifold. Let's do it better - it is easier than you think!

I am going to present a quality model from which I will derive rules for clean unit tests. The tests will help developers in their daily work to keep unit tests clean. I will also discuss how these rules can be checked in reviews or by static code analysis tools.


Johannes Hochrainer is speaker at the Embedded Testing 2016Johannes Hochrainer ist seit 10 Jahren Berater und Trainer bei Software Quality Lab. In jährlich über 30 Projekten beschäftigt er sich mit Software Architektur, sowie Testautomatisierung und da speziell mit dem Thema Unit Testing. Für einen Automobilzulieferer entwickelte er eine Unit Testing Schulung für C/C++ und tourt damit durch Deutschland, China und Indien. Seit letztem Jahr schult Herr Hochrainer auch Entwickler von SPS.

Erhellendes und Erschreckendes zur Codeüberdeckungsmessung

Speaker: Frank Büchner, Hitex GmbH

Kind of talk: Code Coverage

Day and time: Thursday, June 30th 2016, 2:55 pm - 3:40 pm

Abstract: Der Vortrag gibt Antworten auf die folgenden Fragen:
Welche Codeüberdeckungsmaße werden in Standards wie ISO 26262, IEC 61508 oder DO-178 genannt? Wie sind die Maße definiert und wie verhalten Sie sich zueinander?
Bezeichnet ein Name immer dasselbe Maß? Gibt es immer nur einen Namen für ein Maß?
In welchem Prozessschritt sollte Codeüberdeckung gemessen werden und warum?
Was wird bei der Codeüberdeckungsmessung nicht berücksichtigt?
Welches Problem kann man durch Codeüberdeckungsmessung nicht finden?
Wieso ist es keine gute Idee, Testfälle zur Erreichung von 100% aus dem Code herzuleiten?
Wie sicher kann man sich fühlen, wenn man 100% erreicht hat?
Was sollte man zur Interpretation einer Aussage wie „70% MC/DC“ wissen?
Misst der Codeüberdeckungsgrad die Güte der Testfälle? (Wenn nein, wie kann man dann die Güte der Testfälle bewerten?)


Frank Büchner is speaker at the Embedded Testing 2016Frank Büchner hat ein Diplom in Informatik von der Technischen Hochschule Karlsruhe. Seit mehreren Jahren widmet er sich dem Thema Testen und Software-Qualität. Seine Kenntnisse vermittelt er regelmäßig durch Vorträge und Fachartikel. Momentan arbeitet er als „Principal Engineer Software Quality“ bei der Fa. Hitex GmbH in Karlsruhe.

Clean Test Code durch Test-Refactoring

Speaker: Marco Emrich, webmasters akademie GmbH

Kind of talk: Methods report

Day and time: Thursday, June 30th 2016, 2:55 pm - 3:40 pm

Abstract: TDD hilft dabei, wartbare Tests auf Unit-Ebene zu entwickeln. Doch auch diese Tests sind zu pflegen. Trotz bester Intention sind Tests oft nicht optimal geschnitten, enthalten überflüssige Abhängigkeiten oder kompliziertes Setup. Gezieltes Test-Refactoring kann hier Abhilfe schaffen. Tests, die statt Test-getrieben erst im Nachhinein entstanden sind, stellen meist noch größere Herausforderungen dar.

In diesem Vortrag lernen Sie anhand eines praxisnahen Codebeispiels, wie Sie Schritt für Schritt eine Legacy Test-Suite in lesbare und wartbare Unit-Test verwandeln.


Marco Emrich is speaker at the Embedded Testing 2016Marco Emrich ist seit 1993 als Softwareentwickler tätig. Zur Zeit ist er bei der Webmasters Akademie in Nürnberg als Projektleiter, Entwickler und Dozent beschäftigt. Er ist mehrfacher Fachbuchautor, hält regelmäßig Workshops und Vorträge auf bekannten Konferenzen und moderiert Code-Retreats.

Wegweiser zur Auswahl eines Werkzeuges zur statischen Codeanalyse

Speaker: Royd Lüdtke, Verifysoft Technology GmbH

Kind of talk: Static code analysis

Day and time: Wednesday, June 29th 2016, 4:30 pm - 5:15 pm

Abstract: Werkzeuge zur statischen Codeanalyse ermöglichen das Auffinden von Softwarefehlern bereits früh im Entwicklungsprozess und tragen damit dazu bei, Kosten und Risiken eines Projektes zu minimieren.
Die auf dem Markt erhältlichen Tools unterscheiden sich zum Teil erheblich hinsichtlich ihres Leistungsumfangs. Es ist daher nicht einfach das geeignete Werkzeug für einen definierten Einsatzbereich auszuwählen. Der Vortrag zeigt einige Beurteilungskriterien auf, die dabei unterstützen können, ein zum Projekt passendes Werkzeug auszuwählen.


Royd Lüdtke is speaker at the Embedded Testing 2016Royd Lüdtke leitet bei der Firma Verifysoft Technology den Pre-Sales und Support für statische Codeanalysetools im deutschsprachigen Raum. Er hat umfangreiche Berufserfahrung als Applikationsingenieur und Berater bei einer Vielzahl von Firmen und Institutionen wie New Era Of Networks, Sybase, Rogue Wave Software und dem Fraunhofer Institut. Lüdtke studierte in Dortmund Elektrotechnik und Energietechnik, hält mehrere Patente und ist Autor von Veröffentlichungen im IT-Bereich.

Design- und Code-Reviews für Embedded Software

Speaker: Peter Rösler

Kind of talk: Static code analysis

Day and time: Thursday, June 30th 2016, 11:10 am - 11:55 am

Abstract: Auf der Embedded Testing Konferenz 2015 begründete Stephan Grünfelder im Keynote-Vortrag „Test von Embedded Software“ seine Einschätzung, dass Code-Reviews bei Embedded Software wichtiger seien als für andere Software. Auch das Design sei bezüglich Wartbarkeit und Sicherheit zu inspizieren.
Wie man Design- und Code-Reviews so durchführt, dass möglichst viele Fehler gefunden werden, ist Schwerpunkt des Vortrags von Peter Rösler, dem Co-Autor des Buchs „Reviews in der System- und Softwareentwicklung“. Die Effektivität von Review-Teams ist sehr unterschiedlich und reicht von etwa 3% bis über 90%. Ein entscheidender Erfolgsfaktor ist dabei das Einhalten der sogenannten „optimalen Inspektionsrate“.
Neben den klassischen Design- und Code-Reviews wird mit den „agilen Inspektionen“ auch eine relativ neue Entwicklung auf dem Gebiet der Reviewtechnik vorgestellt. Im Gegensatz zu den klassischen Reviews liegt der Schwerpunkt bei den agilen Inspektionen vorrangig auf der steilen Lernkurve der Entwickler und nicht auf den gefundenen Fehlern im Dokument. Mit agilen Inspektionen werden größere Qualitätsverbesserungen und damit höhere Kosteneinsparungen erreicht als mit klassischen Reviews.


Peter Rösler ist Referent der Embedded Testing 2016Peter Rösler, Jahrgang 1961, studierte von 1981 - 1987 Informatik an der TU München und arbeitete als Programmierer, Chefdesigner, QS-Beauftragter und Projektleiter in verschiedensten Softwareentwicklungsprojekten, vorwiegend im Bereich Airports/Airlines bei der Firma Softlab GmbH. Er ist trainierter Reviewmoderator für Gilb-Inspektionen und bei mehreren Schulungsanbietern Dozent für Review-Seminare. Seit 2005 arbeitet er freiberuflich als Projektleiter, Prozessberater und als Qualitätsmanager für Systementwicklungsprojekte.

Warum Sie für Qualität verantwortlich sind und warum Sie sie niemals erreichen werden.

Speakers: Frank Lange, Agilefokus UG and Andreas Lowinger

Kind of talk: Short workshop with impuls talk and World Café

Day and time: Thursday, June 30th 2016, 9:00 am - 10:40 am

Abstract: Tester sitzen immer am Ende der Fresskette. Gerade am Projektende ist der Stress extrem hoch und kommt aus unterschiedlichsten Richtungen: Der Kunde will endlich das fertige Produkt in Betrieb nehmen, Projektleiter und das Management möchte einen reibungslosen Projektablauf, Entwickler stehen täglich in der Tür und diskutieren, ob es sich nun um einen echten oder doch nur um einen Minor Bug handelt und die Normen und Richtlinien - speziell in regulierten Branchen - geben klar vor, was Qualität ist. Oder doch nicht?

In diesem Kurzworkshop wollen wir gemeinsam mit Ihnen die Frage klären, was echte Qualität ist und wie diese erreicht werden kann. Das Format ist sehr interaktiv angelegt, mit einem kurzen Impulsvortrag zu Beginn, einem World Café und einer lösungsorientierten moderierten Diskussion, in der wir gemeinsam mögliche Dilemma der Qualitätssicherung sowie eine Vision "echter" Qualität und einen konkreten ersten Schritt herausarbeiten werden.


Frank Lange ist Referent der Embedded Testing 2016Frank Lange ist Deutschlands führender Business-Chirurg. Er analysiert ungesundes Management-Verhalten und nennt Ursachen und Wirkungen beim Namen. Er richtet die OP-Leuchte auf wunde Stellen in Unternehmen und setzt dort punktgenau mit der Heilung an. Seine Vorträge, Seminare und Veränderungsinitiativen sind mitreißend und unkonventionell. Sie eröffnen neue Lösungsräume und sind Initialzündungen für nachhaltige Verbesserungen.

Andreas Lowinger ist Referent der Embedded Testing 2016Mit mehr als 20 Jahren Erfahrung in der Hard- und Softwareentwicklung bietet Andreas Lowinger ein breites Lösungsspektrum sowohl für eine schnelle und zuverlässige Produktentwicklung als auch für erfolgreiche Unternehmensveränderungen. Die Bandbreite reicht hierbei von Methoden der klassischen Projektmanagement-Standards bis hin zur Ausgestaltung neuer Arbeitsmodelle (New Work).

Copyright © 2017 HLMC Events GmbH