how perform software product testing detailed process
Softwareprodukte benötigen einen eigenen Ansatz, um angemessen und korrekt zu testen. Oft behandeln Teams sie wie jede andere Software (d. H. Interne Anwendungen, die für einen bestimmten Kunden oder ein bestimmtes Team erstellt wurden; für die breite Öffentlichkeit nicht zugänglich; keine Einnahmen generierend), und dies ist der Ausgangspunkt für Probleme.
Das Testen von Softwareprodukten erfordert einen benutzerdefinierten Teststil und eine Strategie, um einen Mehrwert zu erzielen. Software Produktentwicklung und -wartung ist an sich ein komplexes Ökosystem, und um erfolgreich zu sein, müssen sich Tester anpassen.
Lassen Sie mich einen Moment erklären, warum dies wichtig ist und warum ich denke, dass die Produktentwicklung selbst in den besten Zeiten komplex, kompliziert und zusammengesetzt ist.
Was du lernen wirst:
- Herausforderungen bei der Entwicklung von Softwareprodukten:
- Stufe 1) Produkteinführung
- Stufe 2) Produktwachstum
- Stufe 3) Produktreife
- Stufe 4) Produktrückgang / Zurück zum Produktwachstum
- Was macht Sie zu einem erfolgreichen Produkttester?
- Literatur-Empfehlungen
Herausforderungen bei der Entwicklung von Softwareprodukten:
Hier sind einige der Herausforderungen, denen sich Software-Produktentwicklungsteams gegenübersehen:
# 1)Mangelnde Kontrolle über Benutzerdemografien, Geräte, Umgebungen, Plattformen usw. : Softwareprodukte werden im Gegensatz zu Software, die für bestimmte Stakeholder entwickelt wurde, nicht in kontrollierten und vorhersehbaren Situationen verwendet. Es gibt viele einfach zu viele Faktoren, um sie zu berücksichtigen.
#zwei)Nebelige Produktvision : Das Produktverhalten und die Produktfunktionen ändern sich ständig und der Weg zur Reife ist nicht klar erkennbar. Oder das Produkt wächst zu schnell, als dass es außer Kontrolle gerät und die Teams nicht wissen, was passiert.
#3)Aggressive Zeitpläne : Aufgrund des starken Wettbewerbs auf dem Markt für Softwareprodukte müssen sich die Dinge rasant entwickeln und die Teams müssen ihren Mitbewerbern immer einen Schritt voraus sein. Andernfalls verlieren sie mit Sicherheit gegen die Konkurrenz.
# 4)Angst vor dem Scheitern : Softwareprodukte sind normalerweise innovativ. Ihr Erfolg ist also nicht immer selbstverständlich. Dies ist der Grund, warum Unternehmen in Bezug auf Budget, Technologien, Infrastruktur usw. nicht alles geben können. Sie müssen sich oft zurückhalten, um ein gewisses Maß an Immunität gegen Misserfolge oder sogar die Gewinnschwelle zu erreichen.
# 5)Mangel an umsetzbarem Feedback: Da es sozusagen keine Stakeholder, Geschäftsbenutzer oder Kunden gibt, ist es schwierig zu verstehen, was dem Endbenutzer gefallen kann oder nicht. Unternehmen spielen ständig ein Ratespiel und haben oft Schwierigkeiten, die Lücke zwischen dem, was sie für die Software wollen, und dem, was der Kunde will, zu schließen.
Diese Herausforderungen betreffen alle Bereiche der Produktentwicklung, des Marketings und der Wartung. Sie wirken sich von Natur aus auch auf Produkttests aus.
Um im Spiel voranzukommen, müssen bei dieser Art von Tests fünf wichtige Punkte berücksichtigt werden:
- Geschwindigkeit der Entwicklung und Veröffentlichung
- Kurzfristige und langfristige Produktziele des Produkts
- Umfang und Art des Wettbewerbs
- Zielgruppen und ihre Umgebungen
- Bedarf - Funktion, Leistung, Sicherheit, Benutzerfreundlichkeit, Konfiguration usw.
Bevor wir näher darauf eingehen, wollen wir den Produktlebenszyklus verstehen (Dies ist ein allgemeiner Produktlebenszyklus und nicht spezifisch für Softwareprodukte, aber Software folgt einem ähnlichen Muster):
Eine gute Produktteststrategie / -ansatz sollte die aktuelle Phase des Produkts in seinem Lebenszyklus berücksichtigen.
Lesen Sie auch => Wie schreibe ich ein gutes Teststrategiedokument?
Beispiel: Das Produkt eines Unternehmens XYZ ist eine Fehlerverfolgungssoftware namens 'TrackFast'. Es ist ein neues Produkt und die erste Version soll als Cloud- und On-Premise-Lösung eingeführt werden. TrackFast funktioniert wie jedes andere Fehlermanagementsystem und ist sowohl für den mobilen als auch für den Webzugriff konzipiert. Derzeit gibt es Sprints von 2 bis 4 Wochen, bei denen das Produkt in Teilen erstellt wird. Sie sind im Testteam und testen 'TrackFast', bevor es seine Kunden trifft. Das Testen umfasst das Überprüfen von Funktionalität, Leistung und Sicherheit.
find Befehl unter Unix mit Beispielen
Zusammenfassend sind dies die Parameter, mit denen Sie arbeiten. Oder wenn Sie es vorziehen, ist dies Ihr Kontext
Mal sehen, wie man in jeder Phase testet. Das ist Produkttest Prozess, Methode oder Lebenszyklus in jeder Phase.
Stufe 1) Produkteinführung
Da dies das erste Mal ist, dass TrackFast auf den Markt kommt, ist die Idee, einen guten ersten Eindruck zu hinterlassen. Lassen Sie also keinen Stein auf dem anderen. Testen Sie alles und aus jedem Blickwinkel. Legen Sie darüber hinaus den Grundstein für zukünftige Tests.
Eine gute Teststrategie sollte zu diesem Zeitpunkt Folgendes umfassen:
- Tests, die die kurzfristigen Ziele von TrackFast bestätigen. 'Was muss es sein, um korrekt versendet zu werden?' Sollte im Vordergrund der Testbemühungen stehen. Erstellen End-to-End-Tests (Frontend, Middleware und Backend) zum gründlichen Testen aller Funktionen
- Tests, die TrackFast mit der Konkurrenz vergleichen (Idealerweise ist dies die Aufgabe der Produktbesitzer, aber als Tester können wir unsere zwei Cent hinzufügen. Außerdem ist dieser Schritt einfacher, wenn die Software bereits einige Kollegen hat. Zum Beispiel: Es ist einfach, TrackFast mit Bugzilla oder JIRA oder zu vergleichen andere Legacy-Systeme . Angenommen, ich erstelle eine App, die etwas Ungewöhnliches bewirkt, z. B. vorhersagen kann, wann ein Baby hungrig oder mürrisch ist :) Es ist möglicherweise schwierig, eine Anwendung zu finden, die Sie als Basis verwenden können.
- Plattform, Browser und Gerät Kompatibilitätstests
- Tests zur einfachen Installation , einrichten und auf den neuesten Stand bringen
- Tests auf Leistung, Sicherheit und Benutzerfreundlichkeit
- Integrationstests wenn es mit anderen Systemen verbunden ist. Ein einfaches Integrationsbeispiel ist, dass Fehlerverfolgungssysteme häufig mit E-Mail-Clients interagieren, um Benachrichtigungen zu senden
- Planen Sie eine Regression - Es ist eine gute Idee, kritische Tests zu kennzeichnen oder zu markieren, von denen Sie glauben, dass sie Teil zukünftiger Regressionszyklen sind, und sie für zukünftige Versionen zu automatisieren
- Planen Sie bekannte Probleme (Werden Sie sie dem Backlog hinzufügen oder als CRs usw. behandeln?)
- Flexibilität zum Ändern, wenn das Produkt in die nächste Lebenszyklusphase übergeht.
Es kann manchmal lange dauern, bis das Produkt ausfällt. Verwenden Sie also die Zeit, die Sie für eine möglichst gründliche Arbeit benötigen.
In dieser Phase ist zwar am Ende der Sprints von 2 bis 4 Wochen ein Teil des Produkts fertig, aber meistens führt nicht jeder Sprint zu einem Versandcode. Betrachten Sie daher niemals die letzten Sprinttests als 'erledigt'. Wiederholen Sie kritische Tests mit jedem Sprint bis zur Freigabe. Testen Sie bei jedem Sprint das gesamte Produkt, das Sie bis zu diesem Zeitpunkt haben.
Stufe 2) Produktwachstum
Erwarten Sie nach der ersten Projekteinführung, wenn alles gut geht, einen Zustrom von Aktivitäten, da das Produktwachstum eine schnelllebige Spur ist. Sie schwimmen jetzt zusammen mit den großen Haien und wenn Sie nicht mithalten, werden Sie verschlungen.
Hier werden die Releases kürzer, die Verbesserungen an der Software werden zahlreicher und das Ausmaß der Regression wird fast unüberschaubar.
zirkuläre verknüpfte Liste c ++
Die Produktteststrategie sollte mit dem Tempo der Softwareentwicklung funktionieren und nicht zu einem Engpass werden.
Diese können helfen:
- Denken Sie an die langfristigen Ziele des Projekts. Es geht nicht darum, jetzt darüber hinwegzukommen. Es geht darum, mit den Merkmalen zu leben und mit ihnen zu gedeihen.
- Früh testen Betrachten Sie TDD oder BDD anstatt das Testen mit neuen Anforderungen auf das Ende zu verschieben
- Regression automatisieren und stärken - - Erstellen Sie eine automatisierte Regressionssuite, damit Sie keine ungetesteten Landminen in Ihrem System haben
- Wenn Ihre Geschäfts- / Produktbesitzer sich mit dem Testen befassen möchten, sollten Sie ein auf Geschäftssprachen basierendes Automatisierungstool wie Cucumber in Betracht ziehen.
- Behalten Sie die Benutzerfreundlichkeit und Site-Design im Mittelpunkt Ihrer Tests. Denn je mehr Funktionen wir hinzufügen, desto sauberer sollte die Website aussehen
- Führen Sie Leistungs- und Sicherheitstests durch, wenn eine Hauptversion aufgetreten ist oder eine wesentliche Änderung an der Architektur vorgenommen wurde. (Neuer Server usw.) Die meisten Softwaresysteme benötigen dies nicht bei jeder Version.
- Bleiben Sie mit der Konkurrenz in Kontakt und kennen Sie die Produktvision
- Paartests anpassen , für sofortiges Feedback und Korrektur. Geben Sie nach Möglichkeit den Product Owner an
- Planen Sie Änderungen und bekannte Probleme
- Versuchen Sie, das Kundenfeedback in die Hände zu bekommen, und prüfen Sie, ob es als Verbesserungsvorschlag verfolgt werden kann, um das Wachstum konstant zu halten. (Auch dies ist nicht die Hauptverantwortung des QS-Teams, aber jeder zählt)
Stufe 3) Produktreife
Herzlichen Glückwunsch, dass Ihr Produkt so weit gekommen ist. Zu diesem Zeitpunkt ändern sich die Funktionen nicht so oft. Das Produktteam wird sich mehr darauf konzentrieren, mehr Geschäft oder Marketinganstrengungen zu bringen. Die Produktentwicklung und das Testen müssen jedoch nicht aufhören und hören oft nicht auf.
Daher kann das Testteam:
- Arbeiten Sie an der Reifung Ihrer Teststrategie. Zu diesem Zeitpunkt müssen Ihre Regressionssuiten, Testdesignmethoden und Testmanagementpraktiken wie gut geölte Maschinen funktionieren.
- Konzentrieren Sie sich auf die feineren Details. Weil das Produkt insgesamt funktioniert und gut läuft, aber wie sie sagen: Gott steckt im Detail “ - Finden Sie selbst die kleinsten Probleme, die die Qualität des Systems verbessern können
- Kundenfeedback berücksichtigen
- Testen Sie Leistung und Sicherheit regelmäßig
- Berücksichtigen Sie die neuen Geräte, Plattformen und Browser, die möglicherweise seit dem letzten Test auf den Markt gekommen sind
- Testen Sie das Benutzerhandbuch und die FAQ-Seiten, denn jetzt haben Sie die Zeit und können es sich leisten.
- Experimentieren Sie mit neuen Produkttest-Tools, Services oder einem Prozess, denn jetzt können Sie.
- Testen Sie den Installationsprozess mit jeder noch so kleinen Version und erhalten Sie Statistiken darüber, wie einfach oder schwierig es für den Endbenutzer ist.
Was auch immer Sie tun, werden Sie nicht selbstgefällig.
Stufe 4) Produktrückgang / Zurück zum Produktwachstum
Die Produktbesitzer und Unternehmen sind heutzutage schlau und wissen sehr gut, dass sie ihr Produkt nicht gleich halten können und erwarten, dass die Benutzer loyal bleiben. Dinge bewegen sich zu schnell und Produkte auch.
TrackFast kann sich also nicht zurücklehnen und entspannen. Wenn es weiterhin auf dem Markt präsent sein und führend bleiben soll, muss es sich weiterentwickeln. Facebook hat es als einfaches soziales Netzwerk begonnen, um Menschen zu verbinden, und es ist eine große Softwareplattform, die sich in eine Million anderer Dinge integriert und auf dem neuesten Stand bleibt.
Auch TrackFast muss sich weiterentwickeln. Nach dem Nachweis, dass es sich um ein zuverlässiges und effektives Fehlerverfolgungssystem handelt, muss es sich weiterentwickeln, sonst wird es sinken. Daher beschließt das Unternehmen XYZ, TrackFast zu verbessern, indem es zu einem allgemeinen Ticketingsystem gemacht wird, mit dem alle Vorfälle oder Fälle des Unternehmens außer IT- / Testteams (so etwas wie JIRA) und nicht nur Fehler im Softwareentwicklungsprozess nachverfolgt werden können .
Das Rad hat eine volle Umdrehung gemacht und Sie behandeln das System als brandneu und folgen der Strategie, die wir im Abschnitt Produkteinführung besprochen haben. Erst jetzt sind Sie mit dem Bohrer erfahrener und vertrauter. Aber denken Sie daran, mit jeder neuen Runde kommt eine neue Herausforderung. Also bleib scharf :)
Was macht Sie zu einem erfolgreichen Produkttester?
- Produkttester muss einen ausgeprägten Geschäftssinn haben, Verständnis für Entwicklungsmodelle mit schneller Lieferung haben und sollte ein Ass-Tester sein die keine Angst haben, mit Werkzeugen zu experimentieren und bei Bedarf selbst ein bisschen Programmierer zu werden. Diese Dinge können sich positiv auf jede Art von Test auswirken, sind jedoch bei dieser Art von Test unbedingt erforderlich.
- Eine weitere wichtige Eigenschaft ist, dass a Produkttester muss an das Produkt glauben und wirklich wollen, dass es gelingt. Wenn ich als Tester denke, dass die Software totaler Müll ist, gibt es wenig Hoffnung, dass ich irgendetwas tun werde, um sie besser zu machen.
- Teilen Sie die Vision des Produkt- / Geschäftsinhabers . Sofern Sie nicht wissen, wohin das Produkt geht und wie es sich entwickeln wird, sind die Tests sehr begrenzt.
- Funktionsübergreifende Fähigkeiten sind von Vorteil - Wissen, wie man die Datenbank testet, wie man Leistungsbenchmarks erstellt, wie man Sicherheitszertifikate aktiviert, wie man sie bereitstellt usw. Sei neugierig und erkunde .
- Setzen Sie keine Grenzen - Denken Sie nicht, dass das Auswerten des Benutzerhandbuchs oder das Überprüfen der FAQs nicht Ihre Aufgabe ist und ein technischer Redakteur sich darum kümmern sollte. Nun, sie sollten und werden. Aber wenn Sie es als Insider betrachten, als jemanden, der das Produkt genau kennt, ist Ihr Feedback sehr nützlich.
- Suchen Sie nach Feedback von Endbenutzern. Die nächste große Gruppe von Leuten, die nach Ihnen testen, sind die Echtzeitbenutzer. Wissen und verstehen, mit welchen Problemen sie konfrontiert sind. Auf diese Weise können Sie Ihr Testdesign verbessern, sodass Sie beim nächsten Mal wissen, was zu tun ist, um diese Probleme zu vermeiden.
- Arbeite schnell und sei ein Entscheider
- Vermeiden Sie technische Schulden . In einer schnellen Entwicklungs- und Testsituation ist es einfach, ausschließlich explorativ zu testen und den Bezugsrahmen für zukünftige Versionen zu verlieren. Lass das nicht zu. Pflegen Sie die Skelettdokumentation, damit Sie verfolgen, verfolgen und messen können
Der größte Unterschied zwischen als Software erstellter Testsoftware und als Produkt erstellter Software besteht darin, dass erstere, sobald die Teststrategie festgelegt ist, für alle nachfolgenden Tests angewendet wird.
Für ein Produkt muss sich die Teststrategie jedoch in Abhängigkeit von der aktuellen Lebenszyklusphase des Produkts und den Änderungen der Marktdynamik (neue Geräte, neue Browser usw.) ändern. Die Produktteststrategie muss viel flexibler zu ändern sein.
Über den Autor: Dieser Artikel wurde vom STH-Teammitglied Swati S. veröffentlicht.
Wir hoffen, dass dieser Artikel hilfreich war. Bitte zögern Sie nicht, Ihre Kommentare, Fragen und Rückmeldungen unten zu posten.
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
- Was ist Ausdauertest beim Testen von Software (Beispiele)
- Einige interessante Fragen zu Softwaretests
- Feedback und Bewertungen zum Softwaretestkurs