UNITTESTS FÜR 2 LEGACY CODE APPLIKATIONEN

20‘000 Unittests durch automatische Aufzeichnung bei zwei Legacy Code Projekten

 

Ausgangslage

-        1. VB & C# Code Projekt mit gut 500‘000 Codezeilen

-        2. VB & C# Code Projekt mit gut 300‘000 Codezeilen

-        Kein einziger Unittest oder eine andere automatisierbare Testmöglichkeit

-        Legacy Code

o   Mehrere Dutzend Funktionen/Methoden mit jeweils mehr als 20‘000 Zeilen Code

o   Bis zur Tiefe von über 25

o   Code aus ca. 30 Jahren Entwicklung

 

Auftrag

-        Automatische Tests für den Legacy Code einführen

-        Testkonzept für die ganze Abteilung (3 Teams)

 

Lösung

-        Um in der grossen Codebasis wirklich effiziente Unittest einführen zu können, musste eine automatisierte Erstellung der Unittest angestrebt werden

-        Einstieg über die vom Benutzer aufrufbaren Funktionen

-        Im ersten Schritt bereinigen der grössten Clean Code Regeln, ohne Struktur- und Ablauf Änderungen

-        Daten gesteuerte Abarbeitung der innen liegenden Pfade

-        Erstellen einer XML basierten Datenablage, bereit für manuelle Anpassungen

-        Automatische Aufzeichnung der Unittest während der normalen Bedienung der Applikation durch Entwickler

-        Unittests normal benutzbar für Entwickler

-        Buildserver spielt alle ab beim monatlichen Release ab

 

Erfolg

-        Ca. 20‘000 Unittests können über die automatische Aufzeichnung erstellt und abgespielt werden

-        Normale Projektdauer für diese Menge von Unittests 4-6 Mannjahre. Effektive Dauer 4 Monate – erreicht durch die automatisierte Aufzeichnung

-     Grundlagen des Test Konzepts für die gesamte Abteilung 

Eckdaten

April 2018 – Dezember 2018

Thema:

            > Testautomatisierung

Ca. 50% meines Arbeitsalltages

 

Methoden & Techniker

C#, .Net 4.5. WPF, XML, OOA, OOD, Clean Code, MS Test, NUnit, SCRUM, Serialisierung, MVVM, XSD, XML, XAML Datenbindung, Winforms


Angebote von uns dazu