Testautomatisierung hat eine immer größere Bedeutung gewonnen. Ein wesentlicher Erfolgsfaktor der Testautomatisierung ist, dass flexibel auf Änderungen der Anforderungen und damit des Produktivcodes reagiert werden kann.
Die Wartungsaufwände einer Testautomatisierung dürfen also nicht die Effizienzvorteile der Testdurchführung kanibalisieren. Damit eine Testautomatisierung gut funktioniert, muss sie hohe Anforderungen an die Codequalität erfüllen:
- Strukturiertes Design
- Wartbarkeit
- Zuverlässigkeit
- Performance
- Lesbarkeit
- etc.
Dies sind also gleiche Anforderungen, wie sie auch bei der Entwicklung von Produktivcode gestellt werden. Die Entwicklung einer Testautomatisierung muss daher die gleiche oder sogar eine bessere Güte haben. Dies lässt sich aber nur erreichen, wenn ein Testautomatisierer auch über die entsprechenden Skills und Erfahrung im Bereich der Softwareentwicklung verfügt.
Das sind aber nicht alle Anforderungen, die an einen Testautomatisierer gestellt werden.
Egänzend sind dies:
Kommunikations-Skills
Ein Tester deckt Probleme auf. Daher ist eine hohes Maß an Kommunikationsfähigkeit wichtig, um gemeinsam mit den Entwicklern bei Problemen eine konstruktive Lösung zu finden.
Flexibilität
Ein Tester ist oft in mehreren Projekten tätig und muss sich ggfs. schnell in neue Fachdomänen einarbeiten können.
Prozesswissen
Um frühzeitig im Sinne einer guten Qualität zu agieren, ist ein fundiertes Prozesswissen notwendig. So kann ein Tester schon frühzeitig erkennen, ob nicht bereits das Umfeld Risiken hinsichtlich der Qualität in sich birgt.
Anforderungsmanagement
Gute Anforderungen sind die Basis für effektive Testfälle.
Die Güte von Anforderungen zu erkennen, erfordert Erfahrung und gutes Fachwissen.
Die oben angeführten Punkte zeigen, dass sich die Anforderungen an Tester deutlich gewandelt haben. Sie müssen technologisch, persönlich und fachlich breit aufgestellt sein.