Agilisierung von Testsystemen - Von der Eistüte zur Testpyramide

Agiles Testen

  • 01.12.2014
  • ab 18:30 Uhr
  • bis 21:30 Uhr
  • kostenfrei
  • Technologiepark, Raum BERLIN
  • Emmy-Noether-Str.11
  • 76131 Karlsruhe
Abstract

Inhalt

Sie haben eine über Jahre gewachsene Systemlandschaft? In Ihrem Projekt dauern Systemtests zu lange und verzögern regelmäßig die Auslieferung? Die Tests, die laufen, sind unübersichtlich und schlecht wartbar und dazu noch kostenintensiv?


Wenn Sie alle diese Fragen mit Ja beantworten, gibt der Vortrag zunächst Anhaltspunkte, wie man die eigene Projektsituation beurteilen kann, um zu bewerten, wo der größte Handlungsbedarf auf dem Weg zu einem agilen Testsystem besteht.
Wir stellen die verschiedenen Maßnahmen vor, die bei typischen Diagnoseergebnissen dabei helfen, sich von der umgekehrten Testpyramide ("Eistüte") schrittweise der Testpyramide und somit einem agilen Testsystem anzunähern.
Die Agile Software-Entwicklung verfolgt den Ansatz, Entwicklung und Testen eng zu verzahnen, um Entwicklungsteams möglichst zeitnah Feedback zu neu- und weiterentwickelten Funktionalitäten zu ermöglichen. Dieses Feedback ist essentiell, um ein Produktinkrement in einem qualitativ hochwertigen, d.h. auslieferbaren Zustand zu halten. Im Rahmen von agilen Entwicklungsprozessen entstehen automatisierte Tests vor oder möglichst zeitnah zur Entwicklung von Features. Diese Tests subsumieren sich zu wartbaren und schlanken ("agilen") Testsystemen, die jederzeit eine Aussage über den qualitativen Zustand der Software geben können. In einer optimalen agilen Welt orientiert sich das Entwicklungsteam beim Aufsetzen der Tests an der sogenannten Testpyramide, die einen Hinweis über die Anzahl und Verteilung der Tests auf den verschieden Systemebenen liefert.
Über Jahre gewachsene Systemlandschaften sind historisch bedingt jedoch meist nicht darauf ausgelegt, ohne Weiteres die Testpyramide optimal zu verwirklichen. Vielmehr werden solche Systeme in der Praxis nicht selten durch zeitaufwändige bzw. kostenträchtige (manuelle) Regressions- bzw. Systemtests nachgelagert zum eigentlichen Entwicklungsprozess getestet.
Dies geschieht oftmals innerhalb einer dezidierten QA- oder Testabteilung, was den Auslieferungsprozess der Software verzögert und die Time-to-market eines Produkts vergrößert. Insbesondere verschärft sich dieser Umstand mit fortschreitender Produktlebensdauer, da Systemtests unübersichtlich und unwartbar werden. Automatisierte Tests in der Entwicklung selbst werden hingegen nicht selten vernachlässigt. Man spricht hierbei von einer Umkehrung der Testpyramide.

Das Ziel – ein Check-Up für mehr Qualität 


Den Grad der automatisierten Testabdeckung zu erhöhen hat daher ein primäres Ziel: Die konstante Lieferfähigkeit zu sichern.
andrena unterstützt sie in dem Aufbau eines mehrstufiges Testsystems, was ermöglicht, dass keine Verzögerungen aufgrund von nachgelagerten QS Maßnahmen entstehen. Die Qualität in der Entwicklung wird gesichert durch Unit Tests.
Diese Unit-Tests sind ein Sicherheitsnetz, innerhalb dessen Entwickler programmieren oder vorhandenen Code „aufräumen“ können, ohne Funktionalität zu gefährden. Das erhöht die Entwicklungsgeschwindigkeit, die Entwickler riskieren keine langen, ungesicherten Passagen mehr. Das Gesamtsystem wird in einer ersten Stufe im nächtlichen Lauf automatisiert getestet – quasi sofort, nicht erst am Ende einer ausgedehnten Entwicklungsphase.
Der Umstand, dass das System permanent automatisierten Tests unterzogen wird, reduziert die Zahl der aufwändigen, manuellen Tests am Ende massiv – und trägt so dazu bei, einen Flaschenhals zu beseitigen, der allzu häufig die Auslieferung eines „fast fertigen“ Release verzögert. Nicht zuletzt sind die Tests wartbar. All dies führt natürlich auch zur Senkung der Kosten.
Zu dem Thema „Agilisierung von Testsystemen“ bietet andrena sowohl ein Assessment an, in dem der aktuelle Status Quo analysiert wird, als auch einen zweitägigen Inhouse Kurs, bei dem ein Experte von andrena ihren Entwicklern das Handwerkszeug vermittelt, um sich aus dem Code-Dilemma zu befreien.

Wenn Sie weitere Fragen haben, melden Sie sich gerne unter objektforum@andrena.de

Referenten
Dr. Lars Alvincz

Lars Alvincz hat im Bereich Compilerbau und Maschinelles Lernen promoviert. Seit 2010 ist er bei der andrena objects ag als agiler Softwareentwickler, Architekt und Coach tätig. Seine Schwerpunktthemen sind  automatisiertes Testen und Domain Driven Design. Er unterstützt regelmäßig verschiedene Kunden mit DDD-Workshops dabei, ein gemeinsames Verständnis für die Fachlichkeit zu entwickeln sowie Bounded Contexts zu identifizieren, die dann als Grundlage für die Zerlegung in Microservices dienen können.

Download

OF2014_Agiles_Testen-2014-12-01.pdf

PDF als Download (1,7 MiB)

Zurück