Qualitätssicherung im digitalen Zeitalter: Was macht eigentlich ein QA-Engineer?
Der Quality-Assurance-Engineer ist dafür da, die Produktqualität eines Unternehmens zu schützen, zu überwachen und sicherzustellen. Dabei ist die wichtigste Aufgabe, einen Qualitätssicherungsprozess zu etablieren, der den aktuellen Geschäftsanforderungen und -zielen entspricht. Gleichzeitig muss dieser Prozess Produktteams eine solide Grundlage bieten, um sich auf die Verfügbarkeit und Stabilität des Produkts für Endkunden verlassen zu können.
Das ist natürlich keine Solonummer – Qualität ist stets ein Thema für alle beteiligten Teams. Die Vielfalt der qualitätssichernden Tätigkeiten ist riesig – sie beginnt bei Funktions- und Usability-Tests über Themen rund um Performance und geht bis hin zur Sicherheit.
Welche Aufgaben hat ein QA-Engineer?
Neben den offensichtlichen Dingen wie dem Durchführen von Funktionstests, dem Aufzeigen von Problemen und dem erneuten Testen von Verbesserungen gibt es noch ein paar andere Aufgaben. Eine ist die Teilnahme an der Produktentwicklungsphase in einem Unternehmen. Dadurch bekommt ein QA-Engineer von Anfang an ein tiefes und gründliches Verständnis des Produkts und kann sich bei den Qualitätserwartungen und Herausforderungen einbringen.
Sobald die Produktprioritäten festgelegt sind, erarbeitet der QA-Engineer auf dieser Grundlage einen Testansatz beziehungsweise eine Teststrategie. Dieser Ansatz wird mit dem Kunden und dem Team abgestimmt und regelmäßig überprüft, sodass immer gesichert ist, dass er zum aktuellen Geschäftsumfeld passt. Je nach Phase des Produkts konzentriert sich die Strategie dann auf unterschiedliche Aspekte: Bei einem MVP wird sich beispielsweise auf die User-Experience fokussiert, während beim Product-Market-Fit die Sicherheit eine größere Rolle spielt und bei der Skalierung die Performance oberste Priorität hat.
Hier stellt sich im Anschluss die Frage, wie diese Tests aussehen sollen und wie sie geschrieben werden. Der QA-Engineer kann je nach Anforderung an das Produkt geeignete Testansätze auswählen, darunter BDD (Behavior-Driven-Development), TDD (Test-Driven-Development) und ATDD (Acceptance-Test-Driven-Development) oder aber die Ansätze kombinieren.
Ein weiterer Fokus sind geschäfts- und technologiebezogene Tests, bei denen der QA-Engineer mit den Entwicklern bei Integrations- und API-Tests zusammenarbeitet. Das passiert, um die Lastschwellen oder das Produktverhalten in Bezug auf verschiedene Netzwerkprobleme zu überprüfen oder die Widerstandsfähigkeit des Produkts gegenüber Sicherheitsproblemen zu testen. Daneben bleibt zusätzlicher Raum für funktionale und explorative Tests sowie die Beteiligung an Diskussionen über Geschäftsprozesse, Funktionalitäten und User-Stories.
Mit wem arbeitet ein QA-Engineer zusammen?
Die einfachste Antwort wäre: mit einem Scrum-Entwicklungsteam – weil Qualität in einem agilen Umfeld ganz klar Teamsache ist.
In der Regel arbeitet aber ein QA-Engineer mit dem Product-Owner und den Business-Analysten zusammen. Zusammen gilt es, die Qualitätserwartungen und Ziele des Unternehmens zu bestimmen. Hier werden auch die Probleme von Usern besprochen und die Prioritäten von Testautomatisierungen entschieden. Wenn die Endkunden zum Beispiel mit der Ladezeit zu kämpfen haben, konzentriert sich der QA-Engineer auf die Untersuchung möglicher Einflussfaktoren. Wenn ein Zahlungsmodul in das Produkt implementiert wird, stehen eher Sicherheitsprüfungen im Vordergrund.
QA-Engineers arbeiten auch direkt mit den Entwicklern zusammen. Hier stehen dann Code-Reviews, Testmethoden und der Austausch über technische Verbesserungen für das Produkt im Vordergrund.
Was sind die größten Herausforderungen für einen QA-Engineer?
Es ist schon eine große Herausforderung, stabile Tests für Produkte zu entwickeln, die von anderen Softwareprodukten abhängig sind, über die man keine oder nur sehr bedingt Kontrolle hat. Hier besteht nämlich das Risiko instabiler Tests und die Gefahr, viel Zeit für fortlaufende Wartung sowie Tests zur Stabilisierung zu verschwenden.
Eine größere Herausforderung bleibt die Sicherheit. Da es hier keine 100 Prozent gibt, versteht ein QA-Engineer Sicherheit eher als einen dynamischen Zustand. Nicht selten erhält er deshalb Unterstützung von Pentestern, umgangssprachlich auch „legale Hacker“ genannt, die helfen, das Sicherheitsniveau eines Produkts konstant hochzuhalten.
Nicht unbedingt eine Herausforderung, aber ein weiterer wichtiger Aspekt: eine gute Kommunikation mit Geschäftspartnern und Entwicklern pflegen, um gemeinsam beim Thema Qualität an einem Strang zu ziehen.
Was sind die wichtigsten Eigenschaften eines QA-Engineers?
Auch wenn es nicht die einen ganz konkreten Top-Fähigkeiten und -Eigenschaften bei einem QA-Engineer gibt, gibt es dennoch ein paar Dinge, die man für eine Karriere in der Qualitätssicherung mitbringen sollte:
- Neugierde auf das Produkt und die Bereitschaft, Geschäfts- und Nutzerbedürfnisse tiefgehend verstehen zu wollen
- Detailverliebtheit und Ausdauer – von QA-Engineers wird erwartet, dass sie extrem genau und lösungsorientiert arbeiten
- Offenheit und gute Kommunikation – das Aufstellen einer QA-Strategie, das Besprechen von Themen rund um Produktqualität und das Fehlermanagement erfordern eine Mischung aus Verhandlungsgeschick und ehrlicher Kommunikation mit dem gesamten Team
- Teamplayer – wie bereits erwähnt ist die Qualitätssicherung eine Aufgabe des gesamten Produktteams, daher sollten die QA-Engineers gute Moderatoren bei der Zusammenarbeit sein
Zum Weiterlesen:
- Was macht eigentlich ein Account-Manager?
- Was macht eigentlich ein SEO-Manager?
- Was macht eigentlich ein Cybersecurity-Experte?