Was machen Tester?

Über die Fehlersuche hinaus: Erforschung der komplexen Aufgaben von Softwaretestern

30. August 2023

Brutale Fakten des Testens

Die Erklärung des Berufs eines Softwaretesters mag schwieriger sein, als es scheint, besonders für diejenigen, die mit dem Feld nicht vertraut sind. Die intuitivste Antwort wäre wahrscheinlich, dass sie die Software auf Fehler überprüfen, oder wie ein Gast im Podcast „Testing Peers“ humorvoll beschrieb, wie sie es ihren Eltern erklärt: „Kennt ihr dass, wenn die Website der Bank Probleme macht? Ich suche genau nach diesen Problemen.“*

Diese Erklärung ist nicht falsch, aber sie kratzt nur an der Oberfläche. Sie sagt immer noch nichts über den vollen Umfang ihrer Verantwortlichkeiten und das Bündel an QA-bezogenen Aktivitäten aus, die Unternehmen dabei helfen, Geschäftsziele zu erreichen. Tester führen eine Reihe von vielfältigen Aufgaben aus, und all diese tragen zum Erfolg des Produkts bei.

Lassen Sie uns für einen Moment über die grundlegende Stellenbeschreibung hinausgehen und analysieren, was Tester tatsächlich tun, wenn sie testen, um einige weniger offensichtliche Aspekte ihrer Rolle hervorzuheben.

Fragen stellen

Um ein Softwareprodukt ordnungsgemäß zu testen, benötigt ein QA-Experte die richtigen Einblicke in dessen beabsichtigte Funktionalität, Design und Nutzung. Das Verständnis des Systems impliziert das Verständnis der technischen Details, aber auch des breiteren Kontexts, nämlich des Zwecks des Systems und der potenziellen Auswirkungen.

Es ist entscheidend, im Voraus keine Annahmen zu treffen. Tester sollten keinen Stein auf dem anderen lassen und aktiv Informationen von Entwicklern, Domänenexperten, Produktbesitzern, Business Analysten, Nutzern und anderen Quellen suchen. Das proaktive Stellen von tiefgründigen und neugierigen Fragen sollte zur Standardroutine eines Testers gehören und idealerweise sogar eine Charaktereigenschaft sein.

 

Neue Informationen aufdecken

Die Arbeit eines Testers ähnelt der eines Detektivs. Sie beinhaltet das Stellen von Fragen und eine unabhängige Untersuchung, bei der ein Tester im Grunde genommen das System selbst „befragt“.

Tester analysieren Code und Systemverhalten, um potenzielle Risiken zu identifizieren und sicherzustellen, dass die Software Qualitätsstandards entspricht. Sie erforschen, wie die Software unter verschiedenen Bedingungen und Szenarien funktioniert, um potenzielle versteckte Engpässe, Schwachstellen und Leistungsprobleme zu identifizieren. Ein kritischer Teil der Arbeit eines Testers ist es, verschiedene kreative Ansätze zu entwickeln, um die Fähigkeiten und die Widerstandsfähigkeit des Systems zu testen und so neue wertvolle Informationen aufzudecken. Ein offener Geist und die Bereitschaft, über das Gegebene hinaus zu experimentieren, sind daher für einen Softwaretester unerlässlich.

 

Qualität sicherstellen, die über bloße Funktionalität hinausgeht

Ein Tester sollte niemals nur damit zufrieden sein, dass das System funktioniert. Es ist entscheidend, Faktoren wie Geschwindigkeit, Leistung, Benutzererfahrung oder andere für den Zweck der Software wertvolle Kriterien im Auge zu behalten.

Zuerst müssen sie ein Kriterienset verstehen (oder tatsächlich festlegen), das bestimmt, welches Verhalten das System zeigen muss, um als akzeptabel betrachtet zu werden. Dann erkennen sie jegliche Reibungspunkte oder Hindernisse, die reibungslose Interaktionen mit der Software behindern, um sie nicht nur funktional, sondern auch unkompliziert und benutzerfreundlich zu machen.

In den Schuhen des Benutzers gehen

Tester sollten nicht nur die Bedürfnisse und Schmerzpunkte der Nutzer verstehen, sondern auch versuchen, wie ein Nutzer zu denken und sich auf die Erwartungen des Nutzers an das System zu konzentrieren. Dieser benutzerzentrierte Ansatz ermöglicht die Identifizierung von Benutzbarkeitsproblemen, die einem technikaffinen QA-Ingenieur vielleicht sonst nicht problematisch erschienen wären, wie verwirrende Schnittstellen oder schwierige Navigation.

Darüber hinaus ermöglicht das hineinversetzen in die Rolle des Nutzers einem QA-Experten, eine breite Palette von Szenarien, Erfahrungen und Anforderungen zu erkunden, die ein Nutzer beim Interagieren mit dem Programm haben könnte. Dies kann auch Anwendungsfälle umfassen, die in der Testspezifikation oder Produktbeschreibung überhaupt nicht definiert wurden, da Nutzer nicht immer so mit dem System interagieren, wie Entwickler es vorhergesagt haben.

 

Kommunikation mit Stakeholdern

Kommunikation geht immer in beide Richtungen. Tester stellen nicht nur Fragen zu Anforderungen und Benutzererwartungen; sie liefern auch Berichte und Feedback für verschiedene Stakeholder, einschließlich Entwickler, Produktmanager und Kunden.

Effiziente Kommunikation zu erreichen, ist keine leichte Aufgabe. Verschiedene Stakeholder benötigen unterschiedliche Arten und Mengen an Informationen und verfügen auch über unterschiedliche Fachkenntnisse. Die Ergebnisse für jeden Einzelnen zusammenzufassen, erfordert ein ständiges Wechseln der Perspektiven und eine kontinuierliche Suche nach dem richtigen Gleichgewicht zwischen allgemeiner und zu detaillierter Kommunikation. Im Allgemeinen sollten Tester zu einer offenen, kollaborativen Umgebung beitragen und Transparenz im gesamten Softwareentwicklungszyklus fördern.

Risiken bewerten und Anstrengungen priorisieren

Wie jede andere Phase des Softwareentwicklungslebenszyklus (SDLC) operiert das Testen innerhalb von Grenzen, die von den Projektleitern gesetzt wurden, und in Übereinstimmung mit den Geschäftsbedürfnissen sind. Softwaretests sind ein dynamischer Prozess, und Tester stehen oft vor der Herausforderung, umfassende Tests durchzuführen, während sie Projekteinschränkungen respektieren. Sie priorisieren ihre Anstrengungen basierend auf Projektzeitplänen, Ressourcenverfügbarkeit und kritischen Funktionalitäten.

Manchmal müssen sie, um Zeitbeschränkungen einzuhalten, bestimmen, welche Funktionen für das System wesentlich sind, und dann ihre ganze Aufmerksamkeit auf das Testen dieser Funktionen richten. Dies kann eine schwierige Entscheidung sein und muss auf einer soliden Methodik und Kenntnis des Systems basieren. Aus diesem Grund gibt es verschiedene risikobasierte Testmethoden, die sicherstellen, dass alle kritischen Aspekte der Software gründlich getestet und innerhalb vernünftiger Fristen einsatzbereit sind.

 

Abschließende Bemerkungen

Alles in allem umfasst der Job eines Testers viele verschiedene Aufgaben und Verantwortlichkeiten und erfordert ein tiefes Verständnis des Geschäfts des Kunden, des Marktes und des betreffenden Systems. Bei Sixsentix sind wir stolz auf unseren Pool an erstklassigen QA-Beratern, die ihr Wissen und ihre Expertise in Lösungen einbringen, die unseren Kunden helfen, höchste Softwarequalität zu erreichen.

Für weitere Informationen besuchen Sie bitte unsere Lösungsseiten oder kontaktieren Sie unser Team.

 

*Hinweis: Dieser Blogbeitrag wurde inspiriert und beeinflusst durch eine sehr interessante Podcast-Episode von „Testing Peers“ mit dem gleichen Titel - „Was machen Tester?“. Wir empfehlen, den Beitrag zu hören, um wertvolle Einblicke in einige subtile, aber entscheidende Elemente des Softwaretestens zu erhalten.