Test und Qualitätsmanagement

Unter einer testgetriebenen Entwicklung versteht man ein Vorgehen, bei dem parallel zum eigentlichen Programmcode Tests für diesen Code entwickelt werden. Dabei kommen Unit-Testtools zum Einsatz, die automatisierte Modultests durchführen und ursprünglich auf das SUnit-Konzept in Smalltalk zurückgehen. Inzwischen gibt es neben dem bekannten JUnit für Java für fast alle Programmierumgebungen entsprechende xUnit-Tools.
Unsere Kurse rund um die testgetriebene Entwicklung führen sowohl in die Konzepte als auch in gängige Tools ein. Uns ist es wichtig zu zeigen, wie man den Ansatz der testgetriebenen Entwicklung in das gesamte Vorgehensmodell (Requirements-Managenment, Entwicklung usw.) harmonisch einbettet. Das Testkonzept, die Tools und die Methoden müssen sich am übergeordneten Qualitätsmanagement orientieren. Wir bieten Schulungen mit verschiedenen Unit Testtools und unterschiedlichen Schwerpunkten an.
Testgetriebe Entwicklung wird meistenteils auf der Ebene des Modultests angesetzt. Zum besseren Verständnis und zur Abgrenzung von Testverfahren auf anderen Ebenen lohnt es sich, ausgewählte Themen aus dem Themenfeld Testmethoden in der Systementwicklung mit in die Schulung zu integrieren.

Themenauswahl

  • Idee und Motivation der testgetriebenen Entwicklung
  • xUnit Testframeworks
  • Einsatz der Frameworks im Entwickler- bzw. Testteam
  • Vorgehen beim testgetriebenen Entwickeln
  • Testcode erstellen
  • geforderte Testabdeckungen einhalten
  • Refactoring von Testcode
  • Verifikation von Testresultaten
  • Testorganisation
  • Probleme beim Einsatz testgetriebener Entwicklung
  • JUnit
  • CppUnit
  • NUnit
  • XMLUnit

Strukturiertes und systematisches Testen wird von allen Beteiligten eines Softwareprojekts und in der Systementwicklung allgemein als unerlässlicher Bestandteil anerkannt. In der Praxis ergibt sich leider ein gemischtes Bild. Oft wird unvollständig und unsystematisch getestet. Gelegentlich wird zwar umfangreich getestet, der Schwerpunkt im Testkonzept jedoch falsch gewählt und damit der Entwicklungsprozess behindert.
Wir bieten verschiedene Schulungen in diesem Bereich an, wobei die variierenden Rollen (Projektleitung, Entwicklungsteam, Testteam) berücksichtigt werden. Besonderen Wert legen wir dabei auf praxisnahes Vorgehen.

Themenauswahl

  • Grundlagen des strukturierten und systematischen Prüfens und Testens
  • Bedeutung und Rolle des Testens im Systementwicklungsprozess
  • Requirements-Management, Softwarequalität und Systemtest
  • Testkonzept und Teststrategie
  • Testplan und Testfall
  • Testabdeckung
  • Entwicklungsteam, Testteam und Testumgebung
  • Automatische Tests und Regressionstests
  • Das V-Modell und seine Teststufen
  • Statischer und dynamischer Test
  • Testen im agilen Umfeld
  • Besonderheiten beim Test objektorientierter Software
  • Testen von Embedded Systems und mechatronischer Systeme
  • Testwerkzeuge

Der Testaufwand nimmt bei der Entwicklung von Embedded Systemen durch die steigende Komplexität und Vernetzung der Systeme einen immer größeren Stellenwert ein. Angesichts der zunehmend kürzeren Lebenszyklen elektronischer Produkte ist ein hoher Automatisierungsgrad beim Test sehr wichtig.
Unsere Themenvorschläge in diesem Bereich beinhalten neben Standardverfahren auch HIL-Produkte (HIL = Hardware in the Loop ) und -Tools, die bei der Testautomatisierung eingesetzt werden können.

Themenauswahl

  • Blackbox-Testverfahren in der Systementwicklung
  • Whitebox-Testverfahren in der Systementwicklung
  • Greybox-Tests in der Systementwicklung
  • Model in the Loop
  • Software in the Loop
  • Processor in the Loop
  • Hardware in the Loop
  • HIL-Produkte
  • Testwerkzeuge
  • Testautomatisierung mit Matlab-Simulink
  • Testautomatisierung mit dSpace
  • Testautomatisierung mit LabVIEW