Die IT-Beratungsfirma Xebia und Digital-Spezialist SwissQ bündeln ihre Kräfte. Zur Medienmitteilung >

Das Periodensystem des Software Testings


Melanie Neumüller, Head Testing
Silvio Moser, CTO


Die SwissQ Mitarbeitenden treffen sich regelmässig zum Know-how Austausch in der Gilde («Chapter» pro Fachgebiet, z.B. Testing), an SwissQ Way Of’s («Meetup’s» zur Weiterbildung) und SwissQ Days (Vollversammlung aller Mitarbeitenden). Dabei werden unter anderem gemeinsam Hilfsmittel für den Arbeitsalltag erarbeitet und reviewed. An einem solchen Treffen in Davos entstand, basierend auf einer Skillmatrix für die Test Spezialisten, die Idee für das Periodensystem des Software Testing. Dieses wurde inspiriert durch das bekannte Periodensystem der DevOps Tools von Digital.ai.

Die Grundidee besteht darin, die «Hard Skills» (Fachkompetenzen), die im Software Testing benötigt werden, zu gruppieren und auf eine einfach verständliche Art darzustellen. Die «Soft Skills» (soziale Kompetenzen) wurden bewusst weggelassen, sind aber natürlich ein fundamentaler Baustein der erfolgreichen Tester Karriere. Das Periodensystem beinhaltet in der ersten Version 30 Kompetenzen, die in 6 farblich gekennzeichneten Gruppen zusammengefasst wurden.

Periodensystem Software Testing
Das Periodensystem des Software Testings (SwissQ, eigene Darstellung)

Testentwurf

Unter Testentwurf versteht man die Aktivität, die Testfälle aus Anforderungen ableitet und die notwendigen Testdaten definiert. Für den Testentwurf haben wir folgende Kompetenzen erfasst:

  • Anforderungsreviews
  • Analyse der Testbasis
  • Testfälle erstellen
  • Testdaten bereitstellen
  • Prüfen des Testsystems

Die Analyse der Testbasis setzt den Grundbaustein für die Erstellung eines soliden Testfalls. Angemessen beschriebene und mit Abnahmekriterien versehene Anforderungen erlauben es, abzuleiten, welche Testszenarien notwendig sind, um die Funktionalitäten zu testen. Die Testfallermittlung erfordert viel Know-How. Die Kunst besteht darin, mit möglichst wenigen repräsentativen Testfällen eine dem Risiko entsprechende hohe Testabdeckung sicher zu stellen.

Testdurchführung

In der Testdurchführung werden die Tests für ein Softwaresystem oder für eine Komponente ausgeführt. Diese können systematisch und/oder explorativ durchgeführt werden. Folgende Kompetenzen wurden für die Testdurchführung definiert:

  • Fachtest
  • Exploratives Testing
  • Usability Testing
  • Agile Testing
  • Scaled Agile Testing

Das explorative Testen sowie das Testen im agilen Team als Embedded Tester gewinnt hier immer mehr an Bedeutung. Hinzu kommt der Umgang mit Tests im skalierten agilen Umfeld (z.B. SAFe), um nebst User Storys auch Features oder Epics end-to-end zu testen. Unabhängig von der Testmethodik müssen Defects angemessen verfolgt, und Nachtests und Regressionstests aufgesetzt und durchgeführt werden.

Test Engineering

Das Test Engineering behandelt die technischen Aspekte des Testings. Es beinhaltet die folgenden Kompetenzen:

  • Entwicklertest
  • API Automatisierung
  • GUI Automatisierung
  • Last und Performance Testing
  • Security Testing

Der Entwicklertest umfasst Tests, die auf Code Ebene durchgeführt werden, wie Test Driven Development und statische Analyse. Nebst der Testautomatisierung gehören sodann die nicht-funktionalen technischen Tests zum Test Engineering, namentlich Last & Performance und Security.

Quality Architecture

Bei der Quality Architecture geht es darum, ein Testsystem zu entwerfen, welches den Prozess auf stabile und konsistente Weise steuert. Weiter soll dies eine kontinuierliche Verbesserung der Qualität ermöglichen. Dazu gehören folgende Kompetenzen:

  • DevOps leben
  • Testautomatisierung konzipieren
  • Testdaten Management
  • CI/CT/CD Pipeline bauen
  • Testumgebungs Management

Nebst dem Aufsetzen und Verwalten der Testinfrastruktur gehört dazu insbesondere eine stabile Continuous Integration, Testing und Delivery Pipeline, welche auf den CALMS Prinzipien (Culture, Automation, Lean, Measurement und Sharing) von DevOps basiert. 

Test Management

Unter Testmanagement versteht man die Koordination aller Tätigkeiten im gesamten Testprozess innerhalb eines Vorhabens. Das Testmanagement besteht dabei aus vielen einzelnen Aktivitäten, die wie folgt gruppiert werden können:

  • Testkonzeption
  • Testplanung
  • Defect Management
  • Workshops moderieren
  • (stakeholdergerechte) Berichterstattung
  • Testteam führen

In traditionellen Projekten wird der Testmanager oftmals mit der Aussage «Vertrauen ist gut, Kontrolle ist besser» verbunden. Diese Aussage kann im agilen Umfeld auf «Vertrauen ist gut, Transparenz und kontinuierlicher Feedback ist das Beste» adaptiert werden.

Test Organisation

Es ist wichtig, das Fundament für die Organisation des Testings frühzeitg zu legen, die korrekte Zuweisung von Ressourcen (Zeit, Personen und Infrastruktur) sicherzustellen und die Softwarequalitäts-Ziele festzulegen. Um dieses sicherzustellen, bedarf es:

  • Der Evaluation geeigneter Tools
  • der Durchführung von Testassessments 
  • der Verbesserung des Testprozesses
  • des Erstellen eines Testhandbuchs

Idealerweise nicht einmalig, sondern im Rahmen eines kontinuierlichen Verbesserungsprozesses. Dies damit die Testorganisation sowie der damit einhergehende Testprozess stetig optimiert und weiterentwickelt werden kann.

Den agil-explorativ automatisierenden DevOps Test Manager gibt es natürlich nicht. Je nach Rolle gibt es verschiedene Ausprägungen. Embedded Tester oder Fachtester haben den Fokus auf Testentwurf- und Durchführung. Technische Tester oder Software Developer hingegen in Test (SDET) auf Test Engineering und Quality Architecture. Test Manager oder Test Coach’s auf Test Management und Test Organisation. Die Kompetenzen sollen helfen aufzuzeigen, wo die eigenen Stärken liegen und in welche Richtung ich mich entwickeln kann und will. 

Die Liste der Fachkompetenzen im Periodensystem des Software Testings ist sicherlich nicht komplett. Die Fähigkeiten könnten auch anders geschnitten werden. Ideen und Anregungen nehmen wir gerne entgegen. Eine gute Gelegenheit bietet sich am Swiss Testing Day 2022, wo SwissQ mit eigenem Stand unter dem Motto Welche Farbe hat dein Testing? vor Ort ist.

0 thoughts on “Das Periodensystem des Software Testings”


Schreibe einen Kommentar