practical software testing qa process flow
Ein vollständiger Überblick über den gesamten Ablauf des QS-Softwaretests:
Hinweis - Wir veröffentlichen diesen nützlichen Beitrag mit aktualisiertem Inhalt erneut.
Die Aufgabe eines Software-Testprofis ist nicht einfach. Es ist voller Herausforderungen, die ebenso anspruchsvoll sind. Tester sollen in jeder Phase des Anwendungslebenszyklus aufmerksam und enthusiastisch sein.
Obwohl es Herausforderungen gibt, gibt es auch einige enorme Möglichkeiten, die verschiedenen Aspekte von Testmethoden, -prozessen und natürlich der Software im Detail zu lernen und zu erkunden.
Die Rolle eines Testingenieurs beginnt sehr früh. Ab der Konzeption des Projekts werden die Tester in Diskussionen mit dem Product Owner, dem Projektmanager und verschiedenen Stakeholdern einbezogen.
Dieses Tutorial zum „Ablauf des Software-Testprozesses“ bietet Ihnen einen vollständigen Überblick über die verschiedenen Phasen der STLC sowie die damit verbundenen Herausforderungen und die Best Practices, um diese Herausforderungen auf leicht verständliche Weise zu bewältigen.
Was du lernen wirst:
- Freigabeanforderung - Ein vollständiger Überblick
- QS-Testprozess an einem realen Projekt - Wasserfallmethode
- Schritte in den Anforderungen zum Freigeben
- Fazit
- Literatur-Empfehlungen
Freigabeanforderung - Ein vollständiger Überblick
Von der Anforderung bis zur Freigabe wird jede Phase klar erklärt. Schauen wir sie uns genauer an.
# 1) Voraussetzung
Ein Projekt kann nicht ohne eine klare Anforderung starten. Dies ist die wichtigste Phase, in der Ideen in ein gut verständliches und formatiertes Dokument geschrieben werden müssen. Wenn Sie Teil des Projekts sind, an dem Sie an der Anforderungserfassungsphase teilnehmen, können Sie sich glücklich schätzen.
Wer ist für den Geschäftswert eines Scrum-Teams verantwortlich?
Wundern, warum? Dies liegt daran, dass Sie Zeuge eines Projekts sind, das von Grund auf neu erstellt wurde. Obwohl es seit seiner Gründung stolz darauf ist, zu sein, bringt es auch einige Verantwortlichkeiten und Herausforderungen mit sich.
Herausforderungen
Man kann sich nicht alle Voraussetzungen vorstellen, um sich in einer Sitzung zu versammeln. Sei geduldig genug.
Es werden viele Diskussionen stattfinden, von denen einige für Ihr Projekt einfach irrelevant sind, aber selbst dann einige wichtige Informationen für Ihr Projekt enthalten können. Manchmal übersteigt die Geschwindigkeit der Diskussionen Ihre Greiffähigkeiten, oder Sie achten einfach nicht auf den Produktbesitzer.
Das folgende Bild zeigt die entscheidenden Schritte beim Sammeln von Anforderungen:
Jede fehlende Information hat einen großen Einfluss auf das allgemeine Verständnis und Testen des Projekts. Um dies zu überwinden, finden Sie hier einige bewährte Methoden, die in dieser Phase befolgt werden sollten.
Empfohlene Vorgehensweise
- Halten Sie Ihre Gedanken offen und achten Sie auf jedes Wort des Produktbesitzers.
- Hören Sie nicht nur zu, klären Sie Ihren Zweifel, wie klein er auch sein mag.
- Verwenden Sie immer Notizbücher, um schnell Notizen zu machen. Sie sollten einen Laptop nur verwenden, wenn Sie wirklich mit einer angemessenen Geschwindigkeit tippen können.
- Wiederholen Sie die Sätze und lassen Sie sie aus der Bestellung klären, von der Sie glauben, dass Sie sie verstanden haben.
- Zeichnen Sie Blockdiagramme, Verknüpfungstext usw., um die Anforderungen zu einem späteren Zeitpunkt klarer zu machen.
- Wenn sich die Teams an verschiedenen Standorten befinden, versuchen Sie, eine WebEx-Aufzeichnung oder eine ähnliche Aufzeichnung zu erstellen. Es ist immer hilfreich, wenn Sie nach Beendigung der Diskussionen Zweifel haben.
Obwohl es für jede Phase keine eigene Wand als solche gibt, ändern sich die Anforderungen auch sehr spät in der Entwicklung. Die Idee ist also, den größten Teil der Anforderungen zu erfassen und diese ordnungsgemäß zu dokumentieren.
Sobald es mit allen notwendigen Punkten dokumentiert wurde, verteilen und diskutieren Sie alle Stakeholder, damit alle Vorschläge oder Änderungen frühzeitig erkannt werden und bevor Sie fortfahren, sind alle auf derselben Seite.
# 2) Teststrategie
Tester sollen eine Teststrategie entwickeln, die nicht nur ausreicht, um die Software besser zu testen, sondern auch jedem Stakeholder Vertrauen in die Qualität des Produkts vermitteln soll.
Herausforderungen
Der wichtigste Aspekt dieser Phase ist die Erstellung einer Strategie, die bei ihrer Ausarbeitung ein Softwareprodukt liefern sollte, das fehlerfrei, nachhaltig und von den Endbenutzern akzeptiert ist.
Teststrategien werden Sie nicht jeden zweiten Tag ändern. In einigen Fällen müssen Sie Ihre Teststrategien auch mit den Kunden besprechen. Daher sollte dieser Teil mit hoher Bedeutung behandelt werden.
Empfohlene Vorgehensweise
- Hier sind einige der Best Practices, deren Befolgung Ihnen große Erleichterung verschaffen und zu reibungslosen Tests führen kann.
- Gehen Sie das Anforderungsdokument noch einmal durch. Markieren Sie die Importpunkte in Bezug auf die Umgebung der Zielsoftware.
- Erstellen Sie eine Liste der Umgebungen, in denen die Software tatsächlich bereitgestellt wird.
- Umgebungen können als eine Art von Betriebssystemen oder mobilen Geräten verstanden werden.
- Wenn Windows das Betriebssystem ist, listen Sie alle Versionen des Fensters auf, in dem Sie Ihre Software testen möchten. Wenn die Versionen nämlich. Windows 7, Windows 10 oder Windows Server sind im Anforderungsdokument noch nicht definiert. Dann ist es höchste Zeit, diese zu besprechen.
- In ähnlicher Weise erhalten Sie die Zielbrowser mit den besprochenen und dokumentierten Versionen, wenn das AUT ein webbasiertes System ist.
- Erstellen Sie eine Liste aller Software von Drittanbietern, die die Anwendung benötigt (falls erforderlich / unterstützt). Dies können Adobe Acrobat, Microsoft Office, Add-Ons usw. sein.
Hier geht es darum, alle erforderlichen und erforderlichen Plattformen, Geräte und Software, die unsere Anwendung benötigt, vor uns zu haben, damit eine umfassende Strategie formuliert werden kann.
Die folgende Abbildung hilft Ihnen, die Gliederung der Teststrategie zu verstehen, wenn Sie an einem agilen Projekt arbeiten:
# 3) Testplanung
Nachdem die Tester mit allen Informationen zu AUT ausgestattet sind, wird in der Planungsphase die Strategie umgesetzt.
Wie eine Teststrategie ist auch die Testplanung eine entscheidende Phase.
Herausforderungen
Da der Erfolg (oder Misserfolg) des AUT weitgehend davon abhängt, wie die Tests durchgeführt wurden, wird diese Phase zu einem wichtigen Aspekt des gesamten Testlebenszyklus. Warum? Weil in dieser Phase ein Teil des Testens definiert ist.
Um einige Herausforderungen zu bewältigen, können diese Best Practices wirklich hilfreich sein.
Empfohlene Vorgehensweise
- Denken Sie immer daran, beim Testen Ihrer Anwendung keinen Stein auf dem anderen zu lassen.
- Es ist Zeit, eine Teststrategie zu formulieren.
- Erstellen Sie eine Matrix der Umgebung, damit die Software auf allen Plattformen getestet wird.
- Wie Windows 10 + Internet Explorer 11+ Windows Office 2010+.
- Wie Android 4.2.2+ Chrome Browser.
- Wenn Ihre Anwendung mit mehreren Datenbanken arbeitet (falls dokumentiert), behalten Sie die Datenbanken (MySQL, Oracle, SQLServer) in der Testmatrix so bei, dass sie in einige Tests zu stark integriert sind.
- Konfigurieren Sie Testmaschinen entsprechend und benennen Sie sie als SetUp1, SetUp2 usw.
- SetUp1 wird Windows 7+ IE 10+ Office 2007+ haben.
- SetUp2 verfügt möglicherweise über Windows 10+ IE Edge + Office 2013+.
- In SetUp3 ist möglicherweise ein Android-Telefon mit Ihrer APK-Datei installiert.
- Herzliche Glückwünsche! Ihr Testaufbau ist fertig und Sie haben auch jede mögliche Kombination von Plattformen aufgenommen, auf denen Ihre Anwendung arbeiten wird.
# 4) Testen
Endlich ist Ihre Anwendungserstellung fertig und Sie sind bereit, Fehler zu finden! Jetzt ist es an der Zeit, an der Testplanung zu arbeiten und so viele Fehler wie möglich zu finden. Dazwischen gibt es einige Phasen, wenn Sie in einer agilen Umgebung arbeiten. Befolgen Sie dann einfach diese Scrum-Methoden.
Das folgende Diagramm zeigt die Kategorisierung verschiedener Testtypen:
Herausforderungen
Testen ist ein umständlicher Prozess, der selbst fehleranfällig ist! Beim Testen einer Anwendung gibt es viele Herausforderungen. Im Folgenden finden Sie einige bewährte Methoden zur Rettung.
Empfohlene Vorgehensweise
Kopf hoch! Sie versuchen, Fehler im Code zu finden. Sie müssen auf die allgemeine Funktionsweise der Software achten.
- Es ist immer ratsam, die Anwendung mit einem frischen Blick zu betrachten, ohne die Testfälle zu durchlaufen.
- Folgen Sie dem Navigationspfad Ihrer Software (AUT).
- Machen Sie sich mit dem AUT vertraut.
- Lesen Sie nun die Testfälle (Alle) eines bestimmten Moduls (möglicherweise Ihrer Wahl).
- Gehen Sie nun zum AUT und stimmen Sie die Ergebnisse mit den im erwarteten Abschnitt der Testfälle genannten überein.
- Die Idee dahinter ist, jede erwähnte Funktion auf jeder unterstützten Plattform zu testen.
- Notieren Sie sich jede Abweichung, wie trivial sie auch sein mag.
- Schreiben Sie die Schritte auf, wie Sie Abweichungen erreichen, machen Sie Screenshots, erfassen Sie Fehlerprotokolle, Serverprotokolle und andere unterstützende Dokumentationen, die das Vorhandensein von Fehlern belegen können.
- Zögern Sie nicht zu fragen. Obwohl Sie das Anforderungsdokument haben, wird es Zeiten geben, in denen Sie Zweifel haben.
- Wenden Sie sich im Zweifelsfall an die Entwickler (wenn sie neben Ihnen sitzen oder erreichbar sind), bevor Sie sich an den Product Owner wenden. Verstehen Sie die Perspektive des Entwicklers auf die Funktionsweise der Software. Verstehe sie. Wenn Sie der Meinung sind, dass diese Implementierung nicht den Anforderungen entspricht, informieren Sie den Testmanager.
# 5) Vor der Veröffentlichung
Bevor wir ein Produkt auf den Markt bringen, muss die Qualität des Produkts sichergestellt werden. Software wird einmal entwickelt, aber tatsächlich getestet, bis sie ersetzt oder entfernt wird.
Herausforderungen
Die Software muss für viele ihrer Parameter streng getestet werden.
Die Parameter sind möglicherweise nicht beschränkt auf:
- Funktionalität / Verhalten.
- Performance.
- Skalierbarkeit.
- Kompatibel mit den genannten Plattformen.
Die Herausforderung besteht auch darin, die Erfolgsrate einer Anwendung vorherzusagen, die von vielen Iterationen der durchgeführten Tests abhängt.
Empfohlene Vorgehensweise
- Stellen Sie sicher, dass alle Funktionen auf allen Plattformen getestet wurden.
- Markieren Sie die Bereiche, die nicht getestet wurden oder die mehr Testaufwand erfordern.
- Bewahren Sie vor der Veröffentlichung eine Matrix aller Testergebnisse auf. Die Testmatrix gibt ein Gesamtbild der Stabilität des Produkts. Es wird dem Management auch helfen, einen Anruf zu den Veröffentlichungsterminen entgegenzunehmen.
- Geben Sie dem Team Ihre Beiträge / Vorschläge zu Ihren Erfahrungen beim Testen des Produkts.
- Ihre Eingabe, die Sie als Endbenutzer betrachtet, kommt der Software im Großen und Ganzen zugute.
- Aufgrund der Zeitkrise oder einer anderen solchen Situation verpassen wir entweder einige Tests oder gehen nicht weiter darauf ein. Zögern Sie nicht, Ihrem Manager den Teststatus mitzuteilen.
- Präsentieren Sie die Anwendungsgesundheitskarte den Stakeholdern. Gesundheitskarten sollten eine Reihe aller protokollierten, offenen, geschlossenen, zeitweise auftretenden Mängel mit ihrer Schwere und Priorität aufweisen.
- Erstellen Sie ein Release-Dokument und teilen Sie dieses im gesamten Team.
- Arbeiten Sie an dem vorbereiteten Release-Dokument.
- Verbessern Sie die Bereiche, die vom Management / Team vorgeschlagen wurden.
Das folgende Bild zeigt die Lebenszykluskarte der Softwareversion:
# 6) Freigeben
Schließlich kommt die Zeit, in der wir das Produkt an die vorgesehenen Benutzer liefern müssen. Wir alle als Team haben hart gearbeitet, um das Produkt abzumelden und die Software den Benutzern helfen zu lassen.
Herausforderungen
Software-Testingenieure sind in erster Linie für die Veröffentlichung von Software verantwortlich. Diese Aktivität erfordert einen prozessorientierten Workflow. Hier sind einige der Best Practices, die in dieser Phase enthalten sind.
Empfohlene Vorgehensweise
- Denken Sie immer daran, dass Sie zum Zeitpunkt der IST-VERÖFFENTLICHUNG nicht am Release-Dokument arbeiten.
- Planen Sie die Release-Aktivität immer vor dem tatsächlichen Release-Datum.
- Standardisieren Sie das Dokument gemäß den Unternehmensrichtlinien.
- Ihr Release-Dokument sollte versuchen, positive Erwartungen an die Software zu stellen.
- Erwähnen Sie alle für ihre Versionen spezifischen Software- und Hardwareanforderungen im Dokument deutlich.
- Schließen Sie alle offenen Mängel und deren Schweregrad ein.
- Verstecken Sie keine größeren betroffenen Bereiche aufgrund offener Defekte. Geben Sie ihnen einen Platz im Release-Dokument.
- Lassen Sie das Dokument überprüfen und digital signieren (kann je nach Unternehmensrichtlinie abweichen).
- Seien Sie zuversichtlich und senden Sie das Release-Dokument zusammen mit der Software.
QS-Testprozess an einem realen Projekt - Wasserfallmethode
Ich habe eine interessante Frage von einem Leser bekommen, Wie werden Tests in einem Unternehmen durchgeführt, d. H. In einer praktischen Umgebung?
Diejenigen, die gerade das College verlassen und nach Jobs suchen, haben diese Neugier - wie wäre das tatsächliche Arbeitsumfeld in einem Unternehmen?
Hier habe ich mich auf den eigentlichen Arbeitsprozess von konzentriert Softwaretests in den Unternehmen .
Wann immer wir ein neues Projekt erhalten, gibt es ein erstes Treffen zur Vertrautheit mit dem Projekt. In diesem Meeting diskutieren wir grundsätzlich, wer der Kunde ist. Wie lange dauert das Projekt und wann wird es geliefert? Wer ist an dem Projekt beteiligt, z. B. Manager, technische Leiter, Qualitätssicherungsleiter, Entwickler, Tester usw.?
Aus dem SRS-Projektplan (Software Requirement Specification) wird ein Projektplan entwickelt. Die Verantwortung der Tester besteht darin, aus diesem SRS- und Projektplan einen Software-Testplan zu erstellen. Entwickler beginnen mit dem Codieren aus dem Design. Die Projektarbeit ist in verschiedene Module unterteilt und diese Projektmodule werden unter den Entwicklern verteilt.
In der Zwischenzeit ist ein Tester dafür verantwortlich, ein Testszenario zu erstellen und Testfälle gemäß den zugewiesenen Modulen zu schreiben. Wir versuchen, fast alle Funktionstestfälle von SRS abzudecken. Die Daten können manuell in einigen Excel-Testfallvorlagen oder Bug-Tracking-Tools verwaltet werden.
Wenn Entwickler die einzelnen Module fertig stellen, werden diese Module den Testern zugewiesen. Für diese Module werden Rauchtests durchgeführt. Wenn diese Tests nicht bestanden werden, werden die Module den jeweiligen Entwicklern zur Behebung neu zugewiesen.
Für bestandene Module werden manuelle Tests anhand der schriftlichen Testfälle durchgeführt. Wenn ein Fehler gefunden wird, der dem Modulentwickler zugewiesen und im angemeldet wird Bug-Tracking-Tool . Bei der Fehlerbehebung führt ein Tester eine Fehlerüberprüfung und Regressionstests aller zugehörigen Module durch. Wenn der Fehler die Überprüfung besteht, wird er als überprüft und als geschlossen markiert. Andernfalls wird der oben erwähnte Fehlerzyklus wiederholt. (Ich werde den Bug-Lebenszyklus in einem anderen Beitrag behandeln)
An einzelnen Modulen werden verschiedene Tests und an der Modulintegration Integrationstests durchgeführt. Diese Tests umfassen Kompatibilitätstests, d. H. Das Testen von Anwendungen auf unterschiedlicher Hardware, Betriebssystemversionen, Softwareplattformen, verschiedenen Browsern usw.
Last- und Stresstests werden ebenfalls gemäß SRS durchgeführt. Schließlich werden Systemtests durchgeführt, indem eine virtuelle Clientumgebung erstellt wird. Sobald alle Testfälle ausgeführt wurden, wird ein Testbericht erstellt und die Entscheidung getroffen, das Produkt freizugeben!
Schritte in den Anforderungen zum Freigeben
Nachstehend sind die Details der einzelnen Testschritte aufgeführt, die in den einzelnen Softwarequalitäts- und Testlebenszyklen von ausgeführt werden IEEE- und ISO-Standards.
# 1) SRS-Überprüfung :: Überprüfung der Softwareanforderungsspezifikationen.
# 2) Ziele sind für Hauptversionen eingestellt.
# 3) Zieldatum für die Releases geplant.
# 4) Detaillierter Projektplan ist gebaut. Dies schließt die Entscheidung über Designspezifikationen ein.
# 5) Testplan entwickeln basiert auf Designspezifikationen.
# 6) Testplan: Dies umfasst Ziele, die beim Testen angewandte Methodik, zu testende und nicht zu testende Funktionen, Risikokriterien, Testplan, Unterstützung für mehrere Plattformen und die Ressourcenzuweisung für Tests.
# 7) Testspezifikationen: Dieses Dokument enthält technische Details (Softwareanforderungen), die vor dem Testen erforderlich sind.
# 8) Schreiben von Testfällen
- Rauch ( BVT ) Testfälle
- Sanity Test Fälle
- Regressionstestfälle
- Negative Testfälle
- Erweiterte Testfälle
# 9) Entwicklung: Module werden einzeln entwickelt.
# 10) Installer Bindung: Installateure basieren auf dem einzelnen Produkt.
wie man junit Testfälle schreibt
#elf) Erstellungsverfahren :: Ein Build enthält Installer der verfügbaren Produkte - mehrere Plattformen.
# 12) Testen: Rauchtest (BVT): Grundlegender Anwendungstest, um eine Entscheidung über weitere Tests zu treffen.
- Testen neuer Funktionen
- Browserübergreifend und plattformübergreifende Tests
- Stresstests und Speicherverlusttests.
# 13) Testzusammenfassungsbericht
- Fehlerbericht und andere Berichte werden erstellt
# 14) Code einfrieren
- Zu diesem Zeitpunkt werden keine neuen Funktionen hinzugefügt.
# 15) Testen: Build- und Regressionstests.
# 16) Entscheidung zur Freigabe des Produkts.
# 17) Szenario nach der Veröffentlichung für weitere Ziele.
Dies war eine Zusammenfassung eines tatsächlichen Testprozesses in einer Unternehmensumgebung.
Fazit
Die Arbeit eines Software-Testers ist voller Herausforderungen, macht aber Spaß. Dies ist für jemanden, der ebenso leidenschaftlich, motiviert und voller Begeisterung ist. Fehler in jemandem zu finden ist nicht immer einfach! Dies erfordert viel Geschick und ein Volltreffer für die Mängel.
Neben allen Qualitäten sollte ein Tester auch prozessorientiert sein. Wie in allen anderen Branchen werden auch IT-Projekte in Phasen bearbeitet, in denen jede Phase klar definierte Ziele hat. Und jedes Ziel hat ein genau definiertes Akzeptanzkriterium. Ein Testingenieur muss eine Menge Softwarequalität auf seinen Schultern tragen.
Während der Arbeit in einer beliebigen Phase der Software sollten die Tester die Best Practices befolgen und sich an den Prozessen in den jeweiligen Phasen ausrichten. Das Befolgen der Best Practices und des gut formulierten Prozesses erleichtert nicht nur die Arbeit der Tester, sondern auch die Qualität der Software.
Warst du Teil einer der oben genannten Phasen? Fühlen Sie sich frei, Ihre Erfahrungen unten zu teilen.
Literatur-Empfehlungen
- Beste Software-Test-Tools 2021 (QA Test Automation Tools)
- Softwaretestkurs: An welchem Softwaretestinstitut soll ich teilnehmen?
- Software Testing QA Assistant Job
- Wählen Sie Software-Tests als Ihre Karriere
- Software Testing Technical Content Writer Freiberufler Job
- Einige interessante Fragen zu Softwaretests
- Feedback und Bewertungen zum Softwaretestkurs
- So verbessern Sie den Testfreigabeprozess für erfolgreiche fehlerfreie Software für die Produktion