Die Implementierung der automatischen Prüfung von Programmiervorgaben ist Code; im Falle der Axivion Suite häufig Python Code, der die APIs der Axivion Suite nutzt, um bestimmte Stellen im Code zu identifizieren und als “Issue” zu melden.
Man sollte jeden Code testen – so auch die Programmiervorgaben.
Also stellt sich die Frage: Wie schreibt man am besten Testfälle für Programmiervorgaben?
Strategie
1) Man erstellt mindestens einen “Unit” Test pro Programmierregel, der sowohl positive als auch negative Testfälle abdeckt. In unserem Fall heißt das: man braucht Code, der gegen die jeweilige Regel verstößt und auch Code, der sich an die jeweilige Regeln hält.
Über die Unit Tests hinausgehend Code zu erstellen, der sich an wirklich alle Regeln zugleich hält ist sehr aufwändig. Daher ist folgendes Vorgehen meist effizienter und praktikabler.
2) Man richtet einen Gesamttest auf einem “stabilen” oder eingefrorenen Projekt ein, um bei Änderungen der Regeln die Gesamtauswirkungen im Delta der Axivion Suite Analysen zu betrachten. (Hier ändert sich nicht der Code, sondern die Regeln.) Für den Fall, dass für manche Regeln keine Verstöße im Code zu finden sind, kann man diese entsprechend durch “Error Seeding” ergänzen.
Praktische Umsetzung
Für 1) bietet die Axivion Suite ein Framework mit dessen Hilfe Code Snippets in der jeweiligen Quellsprache um Konfigurationen und erwartete Testergebnisse in den Kommentaren der Quellsprache angereichert werden. Diese Tests lassen sich sehr einfach als Regressionstests automatisiert ausführen und sind daher auch in einer CI/DevOps Umgebung nutzbar.
Beispiel:
Für 2) kann man einen älteren Projektstand heranziehen, dessen Source Code Version “eingefroren” wird. Im Prinzip eignen sich dabei auch Opensource Projekte, wenn die Regelwerke nicht allzu weit weg von den dort verwendeten Standards liegen. Durch die Delta Analyse auf dem Projekt kann man dann sehr einfach die Auswirkungen von Änderungen analysieren.
[by Dr. Daniel Simon, Head of Professional Services, Axivion GmbH]
Kontaktieren Sie Dr. Daniel Simon über den E-Mail-Button unten.
Wenn Sie mehr über Axivion und die Axivion Suite erfahren möchten, folgen Sie bitte den Links oder kontaktieren Sie uns direkt per Chat, Kontaktformular oder per E-Mail. Wir helfen Ihnen gerne weiter.