Mindmap-Galerie Zusammenfassung der Wissenspunkte zum Testen von Softwaresystemen
Zusammenfassung der grundlegenden Wissenspunkte zum Testen von Softwaresystemen. Unter Softwaretests versteht man den Prozess des Ausführens oder Messens eines Softwaresystems mit manuellen oder automatischen Mitteln. Der Zweck besteht darin, zu überprüfen, ob es bestimmte Anforderungen erfüllt, oder den Unterschied zwischen erwarteten und tatsächlichen Ergebnissen zu klären. .
Bearbeitet um 2024-01-12 16:00:06Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Projektmanagement ist der Prozess der Anwendung von Fachwissen, Fähigkeiten, Werkzeugen und Methoden auf die Projektaktivitäten, so dass das Projekt die festgelegten Anforderungen und Erwartungen im Rahmen der begrenzten Ressourcen erreichen oder übertreffen kann. Dieses Diagramm bietet einen umfassenden Überblick über die 8 Komponenten des Projektmanagementprozesses und kann als generische Vorlage verwendet werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Einhundert Jahre Einsamkeit ist das Meisterwerk von Gabriel Garcia Marquez. Die Lektüre dieses Buches beginnt mit der Klärung der Beziehungen zwischen den Figuren. Im Mittelpunkt steht die Familie Buendía, deren Wohlstand und Niedergang, interne Beziehungen und politische Kämpfe, Selbstvermischung und Wiedergeburt im Laufe von hundert Jahren erzählt werden.
Projektmanagement ist der Prozess der Anwendung von Fachwissen, Fähigkeiten, Werkzeugen und Methoden auf die Projektaktivitäten, so dass das Projekt die festgelegten Anforderungen und Erwartungen im Rahmen der begrenzten Ressourcen erreichen oder übertreffen kann. Dieses Diagramm bietet einen umfassenden Überblick über die 8 Komponenten des Projektmanagementprozesses und kann als generische Vorlage verwendet werden.
Systemtest
Konzept
Unter Softwaretests versteht man den Prozess, bei dem ein Softwaresystem mit manuellen oder automatisierten Mitteln ausgeführt oder gemessen wird, um zu überprüfen, ob es bestimmte Anforderungen erfüllt, oder um den Unterschied zwischen erwarteten und tatsächlichen Ergebnissen zu klären.
Inhalt
MCP
Minimales Konzeptprinzip
Software-Lebenszyklus
planen
Bestimmen Sie das Entwicklungsziel: eine kleine Software entwickeln
Vollständige Machbarkeitsstudie des Projekts: ob es machbar ist und ob es Sinn macht
Schätzen und vereinbaren Sie den Projektfortschritt: Personen, Zeitbudget
Umsetzungsplan entwickeln
Bedarfsanalyse
Projektanforderungen analysieren und sortieren: zu entwickelnde Funktionen, detaillierte Features
Erstellen Sie basierend auf den sortierten Anforderungen eine Anforderungsspezifikation (SRS: Software Requirement Specification).
Erstellen Sie Produktprototypen
Design
Vollständiger Projektentwurf
Vollständiger detaillierter Entwurf
Codierung
Vollständiges Schreiben des Codes gemäß der Entwurfsentwurfsspezifikation und der detaillierten Entwurfsspezifikation
prüfen
Unit-Test: die kleinste Einheit des Programms (Funktion oder Code einer Klasse)
Integration: Testen der Schnittstelle zwischen Modulen
System: Der Prozess des Testens des gesamten kompilierten Systems
Abnahme: Vollständige Prüfung mit dem Kunden
Betrieb und Instandhaltung
Produktbereitstellung
Betrieb und Instandhaltung
Funktionserweiterung
Leistungsverbesserungen
Gängige Testmodelle
traditionelles Wasserfallmodell
Nachteile: Nach dem Testen nach Abschluss der Entwicklung sind die Änderungskosten enorm
V-Modell
Merkmale: Der Testprozess wird verfeinert und in vier verschiedene Phasen unterteilt: Unit-Test, Integrationstest, Systemtest und Abnahmetest.
Nachteile: Nach dem Testen wird das Risikoproblem nicht gelöst
W-Modell
Vorteil
①Testaktivitäten und Entwicklung werden gleichzeitig durchgeführt
②Das Testobjekt ist nicht nur das Programm, sondern auch die Anforderungen und das Design
③Das frühestmögliche Erkennen von Softwarefehlern kann die Entwicklungskosten senken
Mangel
Die flexible Versionsiteration kann nicht unterstützt werden
Agiles Entwicklungsmodell
Merkmale
Das agile Entwicklungs- und Testmodell ist hauptsächlich ein Entwicklungs- und Testmodell, das sich an den „kurzen, flachen und schnellen“ Entwicklungsrhythmus moderner Internetunternehmen anpassen soll.
Inhalt
①Iteration: Jede Iteration wird als Sprint bezeichnet. Die zur Umsetzung in jedem Sprint ausgewählten Anforderungen werden im Sprint-Backlog angeordnet. Jeder Sprint dauert im Allgemeinen einen Monat.
② Product Owner: Entspricht dem Produktmanager. Sortieren Sie alle Anforderungen für das gesamte Projekt und ordnen Sie die Anforderungen entsprechend ihrer Priorität im Produce Backlog ein
③ Tägliches Treffen: Tägliches Treffen, normalerweise in Form eines Stand-up-Meetings. Die Rede jeder Person dauert im Allgemeinen nicht länger als 1 Minute und der Hauptinhalt umfasst drei Punkte: die gestern abgeschlossene Arbeit, die heute auszuführende Arbeit sowie die Risiken und Probleme, mit denen man konfrontiert ist.
④ Sprint-Burndown: Iteratives Burndown-Diagramm zur Aufzeichnung der verbleibenden Arbeitsbelastung
⑤ Sprint-Review-Meeting: Iterations-Review-Meeting, hauptsächlich um zu überprüfen, welche Probleme in dieser Iteration aufgetreten sind und wie sie verbessert werden kann usw.
⑥ Scrum Master: Entspricht dem Teamleiter, der die Teammitglieder einheitlich leitet
Software-Qualitätsmodell
Definition
Das Software-Qualitätsmodell bietet eine Grundlage für die Betrachtung von Produktqualitätsmerkmalen aus verschiedenen Dimensionen.
Inhalt
Funktionalität, Zuverlässigkeit, Benutzerfreundlichkeit, Leistungseffizienz, Kompatibilität, Sicherheit, Wartbarkeit, Portabilität
Der Unterschied zwischen Portabilität und Kompatibilität:
Portabilität ist eine interne Qualität des Produkts und konzentriert sich mehr darauf, ob der Code auf verschiedenen Plattformen korrekt installiert und konfiguriert werden kann.
Kompatibilität ist die äußere Qualität eines Produkts und befasst sich eher mit der korrekten Verwendung und Anzeige verschiedener Browser, verschiedener Auflösungen und verschiedener Geräte, die der Endbenutzer wahrnehmen kann.
Testmethoden
Black-Box-Tests
Unter Black-Box-Test versteht man den Prozess des Testens der Ein- und Ausgabe der Software aus der Sicht des Endbenutzers auf der Grundlage von Produktanforderungen und -spezifikationen, ohne die Codestruktur der getesteten Software zu kennen. Dies wird als Black-Box-Test bezeichnet.
White-Box-Tests
Bezieht sich auf den Prozess des Testens des Codes und der Struktur der zu testenden Software, der auf dem Code und der Struktur der zu testenden Software selbst basiert und als White-Box-Test bezeichnet wird
Gray-Box-Test
Zwischen der White Box und der Black Box testet die Grey Box im Allgemeinen die Schnittstelle. Sie kennt beispielsweise nur den Funktionsnamen, die Parameter und den Rückgabewert der Funktion, kennt jedoch nicht die interne Implementierungsstruktur der Funktion.
Integrationstests
Nachdem die Einheiten getestet und die zugrunde liegenden Softwarefehler gefunden und behoben wurden, werden sie zusammen integriert und die Kombination von Modulen wird auf Integration getestet, was hauptsächlich Schnittstellentests umfasst.
Bestätigungstest
Es wird auch als Rauchtest bezeichnet und bestätigt, ob grundlegende Funktionen implementiert sind. Es wird im Allgemeinen nicht als formaler Testprozess verwendet.
Systemtest
Testen Sie alle Funktionen des Systems und simulieren Sie die Abläufe aller Softwarebenutzer
Regressionstests
Wiederholen Sie vorherige Testfälle, wenn Sie eine neue Version der Software testen
Zweck
①Stellen Sie sicher, dass der vorherige Fehler behoben wurde
② Stellen Sie sicher, dass die Reparatur von Mängeln keine neuen Mängel verursacht
Akzeptanztest: Tests sowohl von Angebots- und Nachfrageparteien als auch von Dritten, die je nach den verschiedenen laufenden Themen in ɑ-Test (innen), Beta-Test (öffentliche Beta) und γ-Test unterteilt werden können.
Projektbezogene Dokumente
Hauptdokumente während der Entwicklungsphase
Anforderungsspezifikation
Umrissentwurf
detailliertes Design
Hauptdokumente während der Testphase
Testpläne und -szenarien
Testfall
Mängelbericht
Prüfbericht
Methode
Testprozess
analysieren
Anforderungsüberprüfung (Checkliste für die Anforderungsüberprüfung)
Woher kommt die Nachfrage und was ist, wenn keine Nachfrage besteht?
Wie evaluiert man die Bedarfsermittlung?
Analyse der Testanforderungen
Warum müssen wir eine Testanforderungsanalyse durchführen?
Prozess zur Analyse der Testanforderungen
Testpunkte erhalten
Planung: Testplan und Lösungsdokument erstellen
Designkonzepte testen
Schreiben von Anwendungsfällen
Testnummer: TC TestCase
Testtitel: Beschreiben Sie in einem Satz, welchen Testpunkt dieser Anwendungsfall testet.
Priorität: Hoch, Hoch, Niedrig. Die Funktion besteht darin, dass wir das Testen der wichtigsten Testfälle priorisieren können, wenn die Projektzeit oder das Personal nicht ausreicht.
Voreingestellte Bedingung: Ein Zustand oder eine Bedingung, die das System bei der Ausführung dieses Anwendungsfalls im Voraus erreichen muss. Optional: Schreiben Sie es, wenn es existiert, schreiben Sie es nicht, wenn es nicht existiert
Testschritte: Beschreiben Sie detailliert, welche Vorgänge beim Testen dieses Anwendungsfalls ausgeführt werden müssen.
Erwartete Ergebnisse: Ein Ergebnis, das sich aus Bedürfnissen ergibt und dessen Erreichung von uns verlangt wird.
Tatsächliche Ergebnisse: Ergebnisse, die nach dem tatsächlichen Betriebssystem erzielt wurden.
Testergebnisse: bestanden/nicht bestanden/nicht bestanden. Die erwarteten Ergebnisse stimmen mit den tatsächlichen Ergebnissen überein. fail Das erwartete Ergebnis und das tatsächliche Ergebnis weichen voneinander ab. N/A bedeutet, dass der aktuelle Anwendungsfall nicht anwendbar oder nicht funktionsfähig ist
Design: Testfalldesign
Testfallentwurfsmethode
Äquivalenzklassenmethode
Eingabefeld: ein Bereich, in dem alle Benutzer Inhalte eingeben können
Entwurfsschritte für Äquivalenzklassen
Schreiben Sie eine Äquivalenzklassentabelle, teilen Sie die Äquivalenzklassen für jede Eingabe auf, erhalten Sie eine Äquivalenzklassentabelle und geben Sie für jede Äquivalenzklasse eine eindeutige Nummer an.
Entwerfen Sie einen Testfall, der möglichst viele gültige Äquivalenzklassen abdeckt, die noch nicht abgedeckt sind. Wiederholen Sie diesen Schritt, bis alle gültigen Äquivalenzklassen durch die Testfälle abgedeckt sind
Entwerfen Sie einen Testfall so, dass er nur eine ungültige Äquivalenzklasse abdeckt. Wiederholen Sie diesen Schritt, bis alle ungültigen Äquivalenzklassen abgedeckt sind
Prinzip der Äquivalenzklasseneinteilung
Wenn die Eingabebedingung einen Wertebereich oder die Anzahl der Werte angibt, können eine gültige Äquivalenzklasse und zwei ungültige Äquivalenzklassen ermittelt werden
Wenn das Eingabealter zwischen 18 und 25 Jahren liegen muss, ist 18–25 eine gültige Äquivalenzklasse, und diejenigen unter 18 und über 25 sind zwei ungültige Äquivalenzklassen.
Eine Funktion muss 3 Parameter haben, dann sind 3 Parameter eine gültige Äquivalenzklasse und mehr als 3 Parameter und weniger als 3 Parameter sind ungültige Äquivalenzklassen.
Die Eingabebedingung gibt den Satz von Eingabewerten an oder gibt die Bedingungen an, die erfüllt sein müssen. Anschließend können Sie eine gültige Äquivalenzklasse und eine ungültige Äquivalenzklasse bestimmen.
Wenn Sie beispielsweise Werte für akademische Qualifikationen eingeben müssen und zu den akademischen Qualifikationen Hochschulabschluss, Bachelor-Abschluss, Master-Abschluss, Doktortitel und Postdoc gehören, dann sind diese Werte in den akademischen Qualifikationen eine gültige Äquivalenzklasse und jeder Wert, der dies tut nicht zu diesem akademischen Qualifikationssatz gehören, ist eine ungültige Äquivalenzklasse.
Wenn die Eingabebedingung ein boolescher Wert ist, können eine gültige Äquivalenzklasse und eine ungültige Äquivalenzklasse ermittelt werden
Wenn das Eingabegeschlecht beispielsweise weiblich ist, ist „weiblich“ eine gültige Äquivalenzklasse und „männlich“ eine ungültige Äquivalenzklasse.
Wenn wir sicher wissen, dass jedes Element in der bereits unterteilten Äquivalenzklasse im Programm unterschiedlich verarbeitet wird, sollten wir die Äquivalenzklasse weiter unterteilen.
Wenn Regeln angegeben werden, denen Eingabedaten entsprechen müssen, können eine gültige Äquivalenzklasse (die den Regeln entspricht) und mehrere ungültige Äquivalenzklassen (die aus verschiedenen Perspektiven gegen die Regeln verstoßen) erstellt werden
Die erforderlichen Eingabedaten müssen eine positive Ganzzahl sein, dann ist die positive Ganzzahl eine gültige Äquivalenzklasse und die ungültige Äquivalenzklasse kann 0, negative Zahlen und Dezimalzahlen sein.
Grenzwertmethode
Definition
1. Eine Black-Box-Anwendungsfall-Entwurfsmethode, die die Eingabe- und Ausgabegrenzen eines Programms testet. Sie wird häufig in Verbindung mit der Äquivalenzklassen-Entwurfsmethode verwendet. Zu diesem Zeitpunkt stammen ihre Anwendungsfälle aus den Grenzen der Äquivalenzklasse.
2. Die theoretische Grundlage der Grenzwertanalysemethode besteht darin, anzunehmen, dass die meisten Fehler an den Grenzen verschiedener Eingabebedingungen auftreten, wenn die Werte in der Nähe der Grenzen keine Programmfehler verursachen. Dann ist auch die Möglichkeit, dass andere Werte zu Programmfehlern führen, sehr gering.
3. Bedingungen für die Verwendung von Grenzwerten (Schwerpunkt: messbar)
Die Eingabebedingung verdeutlicht den Bereich eines Werts oder gibt die Anzahl der Werte an.
Die Eingabebedingung gibt eine geordnete Menge an
Verwandte konzepte
Oberer Punkt: Punkt auf der Grenze
Off-Punkt: der Punkt, der der Grenze am nächsten liegt
Innerer Punkt: jeder Punkt innerhalb des Wertebereichs
Jeder Punkt muss eine andere Zahl haben. Es ist unmöglich, dass ein Punkt sowohl ein oberer Punkt als auch ein Auswärtspunkt ist.
Oberer Punkt: Die beiden Punkte, die Sie im Bereich sehen, müssen der obere Punkt sein
Anwendungsfallschritte
Analysieren Sie die Art der Eingabeparameter: Analysieren Sie die Eingabeparametertypen aus den Testspezifikationen
Äquivalenzklassenteilung (optional): Teilen Sie für die Eingabeäquivalenzklassenteilungsmethode die Äquivalenzklassen, um die Grenzen zu bestimmen: Verwenden Sie die Domänentestanalysemethode, um die Grenzen des Domänenbereichs (oberer Punkt, entfernter Punkt und innerer Punkt) zu bestimmen.
Bilden Sie einen Testgegenstand: Wählen Sie diese oberen Punkte, Off-Punkte und inneren Punkte oder eine Kombination dieser Punkte aus, um einen Testgegenstand zu bilden
Analyseprinzipien
Wenn die Eingabe-(Ausgabe-)Bedingung einen Wertebereich angibt, sollten die Werte innerhalb und in der Nähe der Grenzen des Bereichs als Testfälle verwendet werden
Wenn die Eingabe- (Ausgabe-) Bedingung die Anzahl der Werte angibt, verwenden Sie als Testfall die maximale Anzahl, die minimale Anzahl, die Zahl 1 kleiner als die minimale Zahl und die Zahl 1 größer als die maximale Zahl
Handelt es sich bei der in der Programmspezifikation genannten Ein- oder Ausgabe um eine geordnete Menge, sollte darauf geachtet werden, das erste und das letzte Element der geordneten Menge als Testfälle auszuwählen
Wenn im Programm eine interne Datenstruktur verwendet wird, sollte der Wert an der Grenze der internen Datenstruktur als Testfall ausgewählt werden
Verwendungsszenario: Teilen Sie die Eingabebedingungen in mehrere verschiedene Unterbedingungen auf. Die Bedingungen sind relativ unabhängig und haben keine einschränkende Beziehung.
Entscheidungstabellenmethode
Definition (ob)
Die Entscheidungstabelle ist ein Werkzeug zum Analysieren und Ausdrücken verschiedener Aktionen, die das System unter mehreren Eingabebedingungen ausführt. Sie kann komplexe logische Beziehungen und Kombinationen mehrerer Bedingungen auf spezifische und klare Weise ausdrücken.
Zustandsstapel
Listen Sie alle Eingaben in das System auf. Die Reihenfolge der aufgelisteten Eingaben hat keine Auswirkung
bedingter Artikel
Listen Sie die Werte der Eingabebedingung in der linken Spalte auf, wahre und falsche Werte in allen möglichen Situationen
Aktionsstapel
Listen Sie mögliche Aktionen auf, die das System in beliebiger Reihenfolge ausführen kann
Aktionselement
Listen Sie die Aktionen auf, die für verschiedene Werte der Eingabe ausgeführt werden sollen
Gestaltungsschritte
Bestimmen Sie die Anzahl der Regeln. Hier gibt es beispielsweise drei Bedingungen, und jede Bedingung hat zwei Werte, sodass es 2*2*2=8 Regeln geben sollte.
Listen Sie alle Bedingungsstapel und Aktionsstapel auf
Füllen Sie die bedingten Elemente aus
Füllen Sie Aktionsstapel und Aktionsgegenstände aus
Vereinfachen Sie ähnliche Regeln und führen Sie sie zusammen
Konvertieren Sie jede Regel in einen Anwendungsfall
Prozessanalyse
Definition
Die Prozessanalysemethode (auch Szenarioentwurfsmethode genannt) betrachtet einen bestimmten Prozess des Softwaresystems als Pfad und verwendet die Pfadanalysemethode zum Entwerfen von Testfällen. Kombinieren Sie sie der Reihe nach entsprechend der Reihenfolge des Prozesses, sodass alle Zweige des Prozesses erreicht werden können. Hierbei handelt es sich um eine Testanalysemethode, die von der Pfadabdeckungsanalysemethode beim White-Box-Test zum Black-Box-Test erweitert wurde.
Konzept
Grundablauf: Bezieht sich auf den Hauptprozess, bei dem alle Vorgänge korrekt sind
Alternativer Ablauf: Bezieht sich auf den Prozesszweig, in dem einige Vorgänge fehlerhaft sind
Gestaltungsschritte
Zeichnen Sie ein Geschäftsprozessdiagramm
Funktionspfadpriorität festlegen
Testpfad festlegen
Testdaten auswählen
Konstruieren Sie Testfälle
Beispiel: In einem eingebetteten System können die zu sendenden Daten, nachdem sie in ein Rahmenformat gepackt wurden, das dem CA-Protokoll entspricht, in den Sendepuffer geschrieben und automatisch gesendet werden.
1. Rufen Sie das Sendeunterprogramm auf
2. Das System stellt fest, ob ein freier Sendepuffer vorhanden ist. Wenn nicht, kehrt es zurück und zeigt die Sendefehlermeldung an.
3. Wenn ein freier Puffer vorhanden ist, schreiben Sie das Datenpaket in den freien Sendepuffer
4. Das System stellt fest, ob der Schreibvorgang erfolgreich war. Wenn nicht, kehrt es zurück und zeigt die Fehlermeldung beim Senden an.
5. Wenn das Schreiben erfolgreich ist, starten Sie den Sendebefehl
6. Geben Sie eine erfolgreiche Nachricht zurück
Falsche Schätzmethode
Definition
Die Fehlerschätzmethode besteht darin, anhand der Erfahrung zu erraten, wo das Problem liegen könnte, und Testfälle entsprechend zu entwerfen.
Fehlertestmethoden können nur als Ergänzung zum Testdesign verwendet werden und können nicht allein zum Entwerfen von Testfällen verwendet werden. Andernfalls kann es zu unzureichenden Tests kommen.
Falsche Vermutungen sind keine blinden Vermutungen und auch keine Vermutungen ohne Grundlage und Zweck. Sie müssen auf einem Verständnis der Schwächen des Systems und einem Verständnis für die blinden Flecken der Entwickler basieren.
Beispiel
a = [3,5,8,9,2,4]
wiederholen
[1,1,1,1,1,1,1]
Keine Zahl
[1,2,3,a,7,6,5]
Liste ist leer
: [] [67]
Reihenfolgeproblem
[1,2,3,4,5,6] [6,5,4,3,2,1]
Geschäftskenntnisse und umfangreiche Programmiererfahrung
Zusammenfassung des Testfalldesigns
Es gibt viele Methoden zum Entwerfen von Testfällen. Wir müssen nicht nur wissen, wie jede Methode verwendet wird, sondern auch die Szenarien, in denen jede Methode verwendet wird.
Äquivalenzklassen und Grenzwerte sind die Eckpfeiler jedes anderen Testdesignansatzes, und das Anwendungsfalldesign unter Verwendung von Äquivalenzklassen und Grenzwerten muss zunächst berücksichtigt werden.
Wenn zwischen der Eingabedomäne und der Eingabedomäne eine Einschränkungsbeziehung besteht, muss zur Kombination eine Entscheidungstabelle verwendet werden.
Nachdem alle Testfallentwurfsmethoden berücksichtigt wurden, ist es auch notwendig, sie durch Methoden zur Fehlerschätzung zu ergänzen, um nichts zu verpassen.
Wenn Sie ein bestimmtes Feld testen, sollten Sie sicherstellen, dass der Wert anderer Felder ein normaler Wert ist.
Implementierung: Schreiben von Testfällen, Testskripten usw.
Analyse und Extraktion von Testpunkten
Fragen, über die Sie vor der Prüfung nachdenken sollten
Wissen Sie, was das System macht, das Sie testen möchten?
Verstehen Sie die Eigenschaften des Systems?
Wissen Sie, welche Funktionen das System hat?
Kennen Sie den Geschäftsprozess des Systems?
Was muss in dieser Version des Systems getestet werden und was nicht?
Gibt es irgendwelche Leistungs- und Sicherheitsanforderungen an das System?
Prozess zur Analyse der Testanforderungen
1. Systemtestpunkte entsprechend den Produktanforderungen extrahieren
1. Prüfen Sie zunächst, ob die Oberflächenelemente korrekt angezeigt werden
2. Testen Sie die Grundfunktionen der Seite. Wenn die Seite sowohl ein Formular als auch eine Liste enthält, sollten Sie vorrangig testen, ob die Formularfunktion normal ist.
3. Beim Testen des Formulars müssen Sie jedes Feld im Formular nacheinander testen. Alle Eingabefelder, die Benutzer eingeben können, müssen gemäß den Einschränkungen des Felds mithilfe von Äquivalenzklassen und Grenzwerten berücksichtigt werden.
4. Wenn zwischen mehreren Feldern Korrelationen und Einschränkungen bestehen, sollten Sie nach dem Testen der Äquivalenzklasse und des Grenzwerts eines einzelnen Feldes weiterhin Testmethoden wie Entscheidungstabellen für kombinierte Tests verwenden.
5. Testen Sie nach dem Testen des Formulars die Funktionen in der Liste
6. Nachdem der Inhalt einer einzelnen Seite getestet wurde, testen Sie den prozessbezogenen Inhalt mithilfe der Prozessanalysemethode (Szenariomethode).
7. Nachdem die Prozessanalyse und das Testen abgeschlossen sind, verwenden Sie abschließend die Fehlerschätzmethode, um sicherzustellen, dass keine Testpunkte verpasst werden.
8.Beispiele
2. Schreiben Sie eine Anforderungsverfolgungsmatrix
Die Anforderungsverfolgungsmatrix bezieht sich auf die Erstellung einer Liste von drei Zuordnungen basierend auf Produktanforderungen, Testpunkten und Testfällen. Diese Tabelle wird als Anforderungsverfolgungsmatrix bezeichnet.
Die Rolle der Anforderungsverfolgungsmatrix
Stellen Sie die Zuordnungsbeziehung zwischen Produktanforderungen, Testanforderungen und Testfällen her, um Statistiken zur Abdeckung der Anwendungsfallanforderungen zu erstellen
Wenn sich Anforderungen ändern, können Sie anhand der Anforderungsverfolgungsmatrix schnell ermitteln, welche Testfälle aktualisiert werden müssen.
3. Entwerfen Sie Testfälle basierend auf Testpunkten unter Verwendung geeigneter Testfall-Entwurfsmethoden
Ausführung: Testumgebung einrichten, Testskripte ausführen und Fehlerberichte erstellen
Richten Sie eine Testumgebung ein
Einrichtung der Serverumgebung
JDK-Installation
Die Installation von JDK dient hauptsächlich dazu, eine laufende Umgebung für JAVA bereitzustellen. (Der TOMCAT-Server ist in Java geschrieben. Um Tomcat auszuführen, müssen Sie daher zunächst die JAVA-Betriebsumgebung einrichten.)
JAVA_HOME: Der Pfad, in dem Sie JDK installiert haben
CLASS_PATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
Fügen Sie in der Umgebungsvariablen Path die beiden Pfade %JAVA_HOME%\jre\bin und %JAVA_HOME%\bin hinzu
Installation von TOMCAT
Tomcat fungiert als Hauptwebserver und ist für die Bearbeitung aller von Clients gesendeten Anfragen verantwortlich.
Entpacken Sie das komprimierte Tomcat-Paket in einen Pfad, der keine chinesischen Zeichen oder Sonderzeichen enthält
CATALINA_HOME: Der Pfad dorthin, wo Sie das Tomcat-Paket dekomprimiert haben
Fügen Sie in der Umgebungsvariablen Path den Pfad %CATALINA_HOME%\bin hinzu
Starten Sie Tomcat, indem Sie im Bin-Verzeichnis auf die Datei „startup.bat“ doppelklicken
Installation der MySQL-Datenbank
Die MySQL-Datenbank wird hauptsächlich zur Verwaltung von Systemdaten verwendet
Installieren Sie die MySQL-Anwendung über das Wampserver-Toolkit und starten Sie die MySQL- und Apache-Server über Wampserver
Einstellungen, die sich auf das zu testende System beziehen
Platzieren Sie das Kriegspaket des zu testenden Systems in dem von Tomcat angegebenen Pfad
Importieren Sie die der Datenbank entsprechende SQL-Datei in die Datenbank und ändern Sie das Standardkennwort der MySQL-Daten
Starten Sie den Server und greifen Sie auf das zu testende System zu. Die Adresse lautet: http://localhost:8080/mms/login.html
Umgebungsvariablen
Umgebungsvariablen sind eigentlich Systemeinstellungen. Durch diese Einstellungen können wir dem Computer mitteilen, wo sich die Zieldatei befindet, die wir ausführen möchten.
Mängelbericht
Definition eines Mangels
Die Software implementiert nicht die im Produkthandbuch beschriebenen Funktionen.
Die Software implementiert Funktionen, die nicht im Produkthandbuch beschrieben werden sollten.
Die Software hat einen Vorgang ausgeführt, der nicht im Produkthandbuch erwähnt wird.
Die Software implementiert keine Funktionen, die nicht im Produkthandbuch erwähnt sind, aber implementiert werden sollten
Aus der Sicht eines Softwaretesters ist die Software schwer zu verstehen, schwierig zu verwenden, langsam oder wird vom Endbenutzer aus anderen Gründen nicht als richtig angesehen
Fehlermanagement
Beherrschen Sie den Lebenszyklus von Softwarefehlern
Beherrschen Sie das Ausfüllen hochwertiger Mängelberichte
Ein vollständiger Testbericht
Fehlernummer
Voraussetzungen
Defekttitel
Testschritte
Schwere
Priorität
Reproduzierbarkeit
Fehlerstatus
Beherrschen Sie die relevanten Merkmale von Softwarefehlern
Schweregrad des Fehlers
Schwere
Wie der Name schon sagt, bezieht es sich auf das Ausmaß, in dem ein Softwarefehler die Softwarequalität beeinträchtigt, d. h. welche Auswirkungen das Vorhandensein dieses Softwarefehlers auf die Funktion und Leistung der Software hat.
tödlich
Beispielsweise wird die Software unerwartet beendet oder sogar das Betriebssystem stürzt ab, was zu Datenverlust führt.
ernst
Beispielsweise schlagen mehrere zusammengehörige Funktionen aufgrund des Ausfalls einer einzelnen Funktion fehl
allgemein
Beispielsweise wenn eine einzelne Funktion der Software ausfällt
Hinweis
Kleinere Mängel in der Softwareschnittstelle, zum Beispiel ist ein bestimmtes Steuerelement nicht ausgerichtet, ein bestimmtes Satzzeichen fehlt usw.
Klassifizierung des Fehlerstatus
Erfahren Sie mehr über gängige Tools für das Softwarefehlermanagement
Verstehen Sie einige häufige Probleme bei Fehlerkonflikten
Wie gehe ich mit Mängeln um, die nicht reproduziert werden können? Stellen Sie sicher, dass Sie es an die Fehlerverwaltungsbibliothek senden!
1. Beschreiben Sie unbedingt detailliert den Prozess, bei dem der Fehler aufgetreten ist, und die entsprechende Umgebungskonfiguration. Wenn Protokolle vorhanden sind, fügen Sie unbedingt relevante Betriebsprotokolle oder Systembetriebsprotokolle bei.
2. Achten Sie bei nicht reproduzierbaren Mängeln darauf, die Wiederholungsrate so klar wie möglich zu beschreiben.
3. Wenn der Entwickler den Fehler bei der Überprüfung auf „Behoben“ setzt, kann er nicht auf nur einer Version überprüft werden. Um den Fehler zu schließen, muss er auf mindestens drei oder mehr Versionen überprüft werden.
Der gesamte Prozess der Durchführung von Tests
Der Zweck des Regressionstests: 1. Überprüfen, ob der Fehler tatsächlich behoben wurde. 2. Hat der Programmierer im Prozess der Fehlerbehebung neue Fehler eingeführt?
Regressionstests und Akzeptanztests
Regressionstests
Definition
Führen Sie nach der Änderung des Codes einen erneuten Test durch
Zweck
Prüfen Sie, ob der Defekt tatsächlich behoben ist
Ob Programmierer beim Beheben von Fehlern neue Fehler einführen
Verfahren
1. Formulieren Sie in der Phase der Teststrategieformulierung eine Regressionsteststrategie
2. Bestimmen Sie die Version, für die ein Regressionstest erforderlich ist. Die Version, in der der Fehler geändert wurde, wird zurückgegeben.
3. Geben Sie die Regressionstestversion frei und führen Sie Regressionstests gemäß der Regressionsteststrategie durch
4. Der Regressionstest ist bestanden und der Fehlerbericht wird geschlossen.
5. Wenn der Regressionstest fehlschlägt, wird der Fehlerbericht an den Entwickler zurückgesendet, der Entwickler ändert das Problem erneut und sendet es erneut zum Regressionstest an den Tester.
Strategie
volle Rendite
Führen Sie alle in der frühen Testphase erstellten Testfälle erneut aus, um die Richtigkeit der Problemänderung und die lokalen Auswirkungen der Änderung zu bestätigen.
selektive Regression
Das heißt, einige der in der frühen Testphase erstellten Testfälle werden selektiv erneut ausgeführt, um das geänderte Programm zu testen.
Methode
Änderungen überschreiben
Wählen Sie für den geänderten Teil Testfälle aus oder rekonstruieren Sie sie, um sicherzustellen, dass keine Fehler auftreten. Verwenden Sie die Fallauswahlmethode
umgebenden Einfluss
Es umfasst die durch die Coverage-Modifikationsmethode ermittelten Anwendungsfälle und analysiert auch die Diffusionsauswirkungen der Modifikation, um zu überprüfen, ob andere Teile betroffen sind.
Ziel erreicht
Abnahmeprüfung
Definition
Nach bestandener interner Systemprüfung kann mit dem Abnahmetest begonnen werden
Akzeptanztests sind benutzerzentrierte Tests, und das Akzeptanzteam sollte aus Projektteammitgliedern, Benutzervertretern usw. bestehen.
Der Abnahmetest wird grundsätzlich vor Ort beim Nutzer durchgeführt, kann mit Zustimmung des Nutzers aber auch im Unternehmen durchgeführt werden, um die Nutzerumgebung zu simulieren.
Abnahmetests: Abnahmetests fertiger Produkte gemäß Vertrag, „Lastenheft“ oder „Abnahmetestplan“
Bei produktbezogenen Projekten werden Abnahmetests im Allgemeinen in Alpha-Tests (interne Tests: durchgeführt in der Entwicklungsumgebung) und Beta-Tests (öffentliche Tests: Tests in der tatsächlichen Nutzungsumgebung) unterteilt.
Vergleich von Lebenszyklustestmethoden
Schreiben Sie einen Testbericht (jedes Unternehmen hat eine Vorlage)
Zweck
Überblick
Geprüftes Objekt
Testfunktionen
Testfazit
Zeit, Ort, Menschen
Umfeld
Netzwerkdiagramm testen
Hardwareumgebung
Softwareumgebung
Zusammenfassende Bewertung
Verwandte Statistiken
Softwaretest
Konzept
Unter Softwaretests versteht man den Prozess, bei dem ein Softwaresystem mit manuellen oder automatisierten Mitteln ausgeführt oder gemessen wird, um zu überprüfen, ob es bestimmte Anforderungen erfüllt, oder um den Unterschied zwischen erwarteten und tatsächlichen Ergebnissen zu klären.
Inhalt
MCP
Minimales Konzeptprinzip
Software-Lebenszyklus
planen
Bedarfsanalyse
Design
Codierung
prüfen
Betrieb und Instandhaltung
Gängige Testmodelle
traditionelles Wasserfallmodell
V-Modell
W-Modell
Agiles Entwicklungsmodell
Software-Qualitätsmodell
Testmethoden
Black-Box-Tests
White-Box-Tests
Gray-Box-Test
Integrationstests
Bestätigungstest
Systemtest
Regressionstests
Abnahmeprüfung
Projektbezogene Dokumente
Hauptdokumente während der Entwicklungsphase
Anforderungsspezifikation
Umrissentwurf
detailliertes Design
Hauptdokumente während der Testphase
Testpläne und -szenarien
Testfall
Mängelbericht
Prüfbericht
Methode
Testprozess
analysieren
Planung: Testplan und Lösungsdokument erstellen
Design: Testfalldesign
Implementierung: Schreiben von Testfällen, Testskripten usw.
Ausführung: Testumgebung einrichten, Testskripte ausführen und Fehlerberichte erstellen
Der gesamte Prozess der Durchführung von Tests
Der Zweck des Regressionstests: 1. Überprüfen, ob der Fehler tatsächlich behoben wurde. 2. Hat der Programmierer im Prozess der Fehlerbehebung neue Fehler eingeführt?
Regressionstests und Akzeptanztests
Regressionstests
Abnahmeprüfung
Vergleich von Lebenszyklustestmethoden
Testbericht schreiben
Software-Lebenszyklus
planen
Bestimmen Sie das Entwicklungsziel: eine kleine Software entwickeln
Vollständige Machbarkeitsstudie des Projekts: ob es machbar ist und ob es Sinn macht
Schätzen und vereinbaren Sie den Projektfortschritt: Personen, Zeitbudget
Umsetzungsplan entwickeln
Bedarfsanalyse
Projektanforderungen analysieren und sortieren: zu entwickelnde Funktionen, detaillierte Features
Erstellen Sie basierend auf den sortierten Anforderungen eine Anforderungsspezifikation (SRS: Software Requirement Specification).
Erstellen Sie Produktprototypen
Design
Vollständiger Projektentwurf
Vollständiger detaillierter Entwurf
Codierung
Vollständiges Schreiben des Codes gemäß der Entwurfsentwurfsspezifikation und der detaillierten Entwurfsspezifikation
prüfen
Unit-Test: die kleinste Einheit des Programms (Funktion oder Code einer Klasse)
Integration: Testen der Schnittstelle zwischen Modulen
System: Der Prozess des Testens des gesamten kompilierten Systems
Abnahme: Vollständige Prüfung mit dem Kunden
Betrieb und Instandhaltung
Produktbereitstellung
Betrieb und Instandhaltung
Funktionserweiterung
Leistungsverbesserungen
Gängige Testmodelle
traditionelles Wasserfallmodell
Nachteile: Nach dem Testen nach Abschluss der Entwicklung sind die Änderungskosten enorm
V-Modell
Merkmale: Der Testprozess wird verfeinert und in vier verschiedene Phasen unterteilt: Unit-Test, Integrationstest, Systemtest und Abnahmetest.
Nachteile: Nach dem Testen wird das Risikoproblem nicht gelöst
W-Modell
Vorteil
①Testaktivitäten und Entwicklung werden gleichzeitig durchgeführt
②Das Testobjekt ist nicht nur das Programm, sondern auch die Anforderungen und das Design
③Das frühestmögliche Erkennen von Softwarefehlern kann die Entwicklungskosten senken
Mangel
Die flexible Versionsiteration kann nicht unterstützt werden
Agiles Entwicklungsmodell
Merkmale
Das agile Entwicklungs- und Testmodell ist hauptsächlich ein Entwicklungs- und Testmodell, das sich an den „kurzen, flachen und schnellen“ Entwicklungsrhythmus moderner Internetunternehmen anpassen soll.
Inhalt
①Iteration: Jede Iteration wird als Sprint bezeichnet. Die zur Umsetzung in jedem Sprint ausgewählten Anforderungen werden im Sprint-Backlog angeordnet. Jeder Sprint dauert im Allgemeinen einen Monat.
② Product Owner: Entspricht dem Produktmanager. Sortieren Sie alle Anforderungen für das gesamte Projekt und ordnen Sie die Anforderungen entsprechend ihrer Priorität im Produce Backlog ein
③ Tägliches Treffen: Tägliches Treffen, normalerweise in Form eines Stand-up-Meetings. Die Rede jeder Person dauert im Allgemeinen nicht länger als 1 Minute und der Hauptinhalt umfasst drei Punkte: die gestern abgeschlossene Arbeit, die heute auszuführende Arbeit sowie die Risiken und Probleme, mit denen man konfrontiert ist.
④ Sprint-Burndown: Iteratives Burndown-Diagramm zur Aufzeichnung der verbleibenden Arbeitsbelastung
⑤ Sprint-Review-Meeting: Iterations-Review-Meeting, hauptsächlich um zu überprüfen, welche Probleme in dieser Iteration aufgetreten sind und wie sie verbessert werden kann usw.
⑥ Scrum Master: Entspricht dem Teamleiter, der die Teammitglieder einheitlich leitet
Software-Qualitätsmodell
Definition
Das Software-Qualitätsmodell bietet eine Grundlage für die Betrachtung von Produktqualitätsmerkmalen aus verschiedenen Dimensionen.
Inhalt
Funktionalität, Zuverlässigkeit, Benutzerfreundlichkeit, Leistungseffizienz, Kompatibilität, Sicherheit, Wartbarkeit, Portabilität
Der Unterschied zwischen Portabilität und Kompatibilität:
Portabilität ist eine interne Qualität des Produkts und konzentriert sich mehr darauf, ob der Code auf verschiedenen Plattformen korrekt installiert und konfiguriert werden kann.
Kompatibilität ist die äußere Qualität eines Produkts und befasst sich eher mit der korrekten Verwendung und Anzeige verschiedener Browser, verschiedener Auflösungen und verschiedener Geräte, die der Endbenutzer wahrnehmen kann.
Testmethoden
Black-Box-Tests
Unter Black-Box-Test versteht man den Prozess des Testens der Ein- und Ausgabe der Software aus der Sicht des Endbenutzers auf der Grundlage von Produktanforderungen und -spezifikationen, ohne die Codestruktur der getesteten Software zu kennen. Dies wird als Black-Box-Test bezeichnet.
White-Box-Tests
Bezieht sich auf den Prozess des Testens des Codes und der Struktur der zu testenden Software, der auf dem Code und der Struktur der zu testenden Software selbst basiert und als White-Box-Test bezeichnet wird
Gray-Box-Test
Zwischen der White Box und der Black Box testet die Grey Box im Allgemeinen die Schnittstelle. Sie kennt beispielsweise nur den Funktionsnamen, die Parameter und den Rückgabewert der Funktion, kennt jedoch nicht die interne Implementierungsstruktur der Funktion.
Integrationstests
Nachdem die Einheiten getestet und die zugrunde liegenden Softwarefehler gefunden und behoben wurden, werden sie zusammen integriert und die Kombination von Modulen wird auf Integration getestet, was hauptsächlich Schnittstellentests umfasst.
Bestätigungstest
Es wird auch als Rauchtest bezeichnet und bestätigt, ob grundlegende Funktionen implementiert sind. Es wird im Allgemeinen nicht als formaler Testprozess verwendet.
Systemtest
Testen Sie alle Funktionen des Systems und simulieren Sie die Abläufe aller Softwarebenutzer
Regressionstests
Wiederholen Sie vorherige Testfälle, wenn Sie eine neue Version der Software testen
Zweck
①Stellen Sie sicher, dass der vorherige Fehler behoben wurde
② Stellen Sie sicher, dass die Reparatur von Mängeln keine neuen Mängel verursacht
Abnahmeprüfung
Tests sowohl auf der Angebots- als auch auf der Nachfrageseite und bei Dritten können nach unterschiedlichen Laufthemen in ɑ-Test (innen), Beta-Test (öffentlicher Test) und γ-Test unterteilt werden.
Testprozess
analysieren
Anforderungsüberprüfung (Checkliste für die Anforderungsüberprüfung)
Woher kommt die Nachfrage und was ist, wenn keine Nachfrage besteht?
Wie evaluiert man die Bedarfsermittlung?
Analyse der Testanforderungen
Warum müssen wir eine Testanforderungsanalyse durchführen?
Prozess zur Analyse der Testanforderungen
Testpunkte erhalten
Planung: Testplan und Lösungsdokument erstellen
Designkonzepte testen
Schreiben von Anwendungsfällen
Testnummer: TC TestCase
Testtitel: Beschreiben Sie in einem Satz, welchen Testpunkt dieser Anwendungsfall testet.
Priorität: Hoch, Hoch, Niedrig. Die Funktion besteht darin, dass wir das Testen der wichtigsten Testfälle priorisieren können, wenn die Projektzeit oder das Personal nicht ausreicht.
Voreingestellte Bedingung: Ein Zustand oder eine Bedingung, die das System bei der Ausführung dieses Anwendungsfalls im Voraus erreichen muss. Optional: Schreiben Sie es, wenn es existiert, schreiben Sie es nicht, wenn es nicht existiert
Testschritte: Beschreiben Sie detailliert, welche Vorgänge beim Testen dieses Anwendungsfalls ausgeführt werden müssen.
Erwartete Ergebnisse: Ein Ergebnis, das sich aus Bedürfnissen ergibt und dessen Erreichung von uns verlangt wird.
Tatsächliche Ergebnisse: Ergebnisse, die nach dem tatsächlichen Betriebssystem erzielt wurden.
Testergebnisse: bestanden/nicht bestanden/nicht bestanden. Die erwarteten Ergebnisse stimmen mit den tatsächlichen Ergebnissen überein. fail Das erwartete Ergebnis und das tatsächliche Ergebnis weichen voneinander ab. N/A bedeutet, dass der aktuelle Anwendungsfall nicht anwendbar oder nicht funktionsfähig ist
Design: Testfalldesign
Testfallentwurfsmethode
Implementierung: Schreiben von Testfällen, Testskripten usw.
Extraktion von Testpunkten und Anforderungsverfolgungsmatrix
Ausführung: Testumgebung einrichten, Testskripte ausführen und Fehlerberichte erstellen
Richten Sie eine Testumgebung ein
Mängelbericht
Testfallentwurfsmethode
Äquivalenzklassenmethode
Eingabefeld: ein Bereich, in dem alle Benutzer Inhalte eingeben können
Entwurfsschritte für Äquivalenzklassen
Schreiben Sie eine Äquivalenzklassentabelle, teilen Sie die Äquivalenzklassen für jede Eingabe auf, erhalten Sie eine Äquivalenzklassentabelle und geben Sie für jede Äquivalenzklasse eine eindeutige Nummer an.
Entwerfen Sie einen Testfall, der möglichst viele gültige Äquivalenzklassen abdeckt, die noch nicht abgedeckt sind. Wiederholen Sie diesen Schritt, bis alle gültigen Äquivalenzklassen durch die Testfälle abgedeckt sind
Entwerfen Sie einen Testfall so, dass er nur eine ungültige Äquivalenzklasse abdeckt. Wiederholen Sie diesen Schritt, bis alle ungültigen Äquivalenzklassen abgedeckt sind
Prinzip der Äquivalenzklasseneinteilung
Wenn die Eingabebedingung einen Wertebereich oder die Anzahl der Werte angibt, können eine gültige Äquivalenzklasse und zwei ungültige Äquivalenzklassen ermittelt werden
Wenn das Eingabealter zwischen 18 und 25 Jahren liegen muss, ist 18–25 eine gültige Äquivalenzklasse, und diejenigen unter 18 und über 25 sind zwei ungültige Äquivalenzklassen.
Eine Funktion muss 3 Parameter haben, dann sind 3 Parameter eine gültige Äquivalenzklasse und mehr als 3 Parameter und weniger als 3 Parameter sind ungültige Äquivalenzklassen.
Die Eingabebedingung gibt den Satz von Eingabewerten an oder gibt die Bedingungen an, die erfüllt sein müssen. Anschließend können Sie eine gültige Äquivalenzklasse und eine ungültige Äquivalenzklasse bestimmen.
Wenn Sie beispielsweise Werte für akademische Qualifikationen eingeben müssen und zu den akademischen Qualifikationen Hochschulabschluss, Bachelor-Abschluss, Master-Abschluss, Doktortitel und Postdoc gehören, dann sind diese Werte in den akademischen Qualifikationen eine gültige Äquivalenzklasse und jeder Wert, der dies tut nicht zu diesem akademischen Qualifikationssatz gehören, ist eine ungültige Äquivalenzklasse.
Wenn die Eingabebedingung ein boolescher Wert ist, können eine gültige Äquivalenzklasse und eine ungültige Äquivalenzklasse ermittelt werden
Wenn das Eingabegeschlecht beispielsweise weiblich ist, ist „weiblich“ eine gültige Äquivalenzklasse und „männlich“ eine ungültige Äquivalenzklasse.
Wenn wir sicher wissen, dass jedes Element in der bereits unterteilten Äquivalenzklasse im Programm unterschiedlich verarbeitet wird, sollten wir die Äquivalenzklasse weiter unterteilen.
Wenn Regeln angegeben werden, denen Eingabedaten entsprechen müssen, können eine gültige Äquivalenzklasse (die den Regeln entspricht) und mehrere ungültige Äquivalenzklassen (die aus verschiedenen Perspektiven gegen die Regeln verstoßen) erstellt werden
Die erforderlichen Eingabedaten müssen eine positive Ganzzahl sein, dann ist die positive Ganzzahl eine gültige Äquivalenzklasse und die ungültige Äquivalenzklasse kann 0, negative Zahlen und Dezimalzahlen sein.
Grenzwertmethode
Definition
1. Eine Black-Box-Anwendungsfall-Entwurfsmethode, die die Eingabe- und Ausgabegrenzen eines Programms testet. Sie wird häufig in Verbindung mit der Äquivalenzklassen-Entwurfsmethode verwendet. Zu diesem Zeitpunkt stammen ihre Anwendungsfälle aus den Grenzen der Äquivalenzklasse.
2. Die theoretische Grundlage der Grenzwertanalysemethode besteht darin, anzunehmen, dass die meisten Fehler an den Grenzen verschiedener Eingabebedingungen auftreten, wenn die Werte in der Nähe der Grenzen keine Programmfehler verursachen. Dann ist auch die Möglichkeit, dass andere Werte zu Programmfehlern führen, sehr gering.
3. Bedingungen für die Verwendung von Grenzwerten (Schwerpunkt: messbar)
Die Eingabebedingung verdeutlicht den Bereich eines Werts oder gibt die Anzahl der Werte an.
Die Eingabebedingung gibt eine geordnete Menge an
Verwandte konzepte
Oberer Punkt: Punkt auf der Grenze
Off-Punkt: der Punkt, der der Grenze am nächsten liegt
Innerer Punkt: jeder Punkt innerhalb des Wertebereichs
Jeder Punkt muss eine andere Zahl haben. Es ist unmöglich, dass ein Punkt sowohl ein oberer Punkt als auch ein Auswärtspunkt ist.
Oberer Punkt: Die beiden Punkte, die Sie im Bereich sehen, müssen der obere Punkt sein
Anwendungsfallschritte
Analysieren Sie die Art der Eingabeparameter: Analysieren Sie die Eingabeparametertypen aus den Testspezifikationen
Äquivalenzklassenteilung (optional): Teilen Sie für die Eingabeäquivalenzklassenteilungsmethode die Äquivalenzklassen, um die Grenzen zu bestimmen: Verwenden Sie die Domänentestanalysemethode, um die Grenzen des Domänenbereichs (oberer Punkt, entfernter Punkt und innerer Punkt) zu bestimmen.
Bilden Sie einen Testgegenstand: Wählen Sie diese oberen Punkte, Off-Punkte und inneren Punkte oder eine Kombination dieser Punkte aus, um einen Testgegenstand zu bilden
Analyseprinzipien
Wenn die Eingabe-(Ausgabe-)Bedingung einen Wertebereich angibt, sollten die Werte innerhalb und in der Nähe der Grenzen des Bereichs als Testfälle verwendet werden
Wenn die Eingabe- (Ausgabe-) Bedingung die Anzahl der Werte angibt, verwenden Sie als Testfall die maximale Anzahl, die minimale Anzahl, die Zahl 1 kleiner als die minimale Zahl und die Zahl 1 größer als die maximale Zahl
Handelt es sich bei der in der Programmspezifikation genannten Ein- oder Ausgabe um eine geordnete Menge, sollte darauf geachtet werden, das erste und das letzte Element der geordneten Menge als Testfälle auszuwählen
Wenn im Programm eine interne Datenstruktur verwendet wird, sollte der Wert an der Grenze der internen Datenstruktur als Testfall ausgewählt werden
Verwendungsszenario: Teilen Sie die Eingabebedingungen in mehrere verschiedene Unterbedingungen auf. Die Bedingungen sind relativ unabhängig und haben keine einschränkende Beziehung.
Entscheidungstabellenmethode
Definition (ob)
Die Entscheidungstabelle ist ein Werkzeug zum Analysieren und Ausdrücken verschiedener Aktionen, die das System unter mehreren Eingabebedingungen ausführt. Sie kann komplexe logische Beziehungen und Kombinationen mehrerer Bedingungen auf spezifische und klare Weise ausdrücken.
Zustandsstapel
Listen Sie alle Eingaben in das System auf. Die Reihenfolge der aufgelisteten Eingaben hat keine Auswirkung
bedingter Artikel
Listen Sie die Werte der Eingabebedingung in der linken Spalte auf, wahre und falsche Werte in allen möglichen Situationen
Aktionsstapel
Listen Sie mögliche Aktionen auf, die das System in beliebiger Reihenfolge ausführen kann
Aktionselement
Listen Sie die Aktionen auf, die für verschiedene Werte der Eingabe ausgeführt werden sollen
Gestaltungsschritte
Bestimmen Sie die Anzahl der Regeln. Hier gibt es beispielsweise drei Bedingungen, und jede Bedingung hat zwei Werte, sodass es 2*2*2=8 Regeln geben sollte.
Listen Sie alle Bedingungsstapel und Aktionsstapel auf
Füllen Sie die bedingten Elemente aus
Füllen Sie Aktionsstapel und Aktionsgegenstände aus
Vereinfachen Sie ähnliche Regeln und führen Sie sie zusammen
Konvertieren Sie jede Regel in einen Anwendungsfall
Prozessanalyse
Definition
Die Prozessanalysemethode (auch Szenarioentwurfsmethode genannt) betrachtet einen bestimmten Prozess des Softwaresystems als Pfad und verwendet die Pfadanalysemethode zum Entwerfen von Testfällen. Kombinieren Sie sie der Reihe nach entsprechend der Reihenfolge des Prozesses, sodass alle Zweige des Prozesses erreicht werden können. Hierbei handelt es sich um eine Testanalysemethode, die von der Pfadabdeckungsanalysemethode beim White-Box-Test zum Black-Box-Test erweitert wurde.
Konzept
Grundablauf: Bezieht sich auf den Hauptprozess, bei dem alle Vorgänge korrekt sind
Alternativer Ablauf: Bezieht sich auf den Prozesszweig, in dem einige Vorgänge fehlerhaft sind
Gestaltungsschritte
Zeichnen Sie ein Geschäftsprozessdiagramm
Funktionspfadpriorität festlegen
Testpfad festlegen
Testdaten auswählen
Konstruieren Sie Testfälle
Beispiel: In einem eingebetteten System können die zu sendenden Daten, nachdem sie in ein Rahmenformat gepackt wurden, das dem CA-Protokoll entspricht, in den Sendepuffer geschrieben und automatisch gesendet werden.
1. Rufen Sie das Sendeunterprogramm auf
2. Das System stellt fest, ob ein freier Sendepuffer vorhanden ist. Wenn nicht, kehrt es zurück und zeigt die Sendefehlermeldung an.
3. Wenn ein freier Puffer vorhanden ist, schreiben Sie das Datenpaket in den freien Sendepuffer
4. Das System stellt fest, ob der Schreibvorgang erfolgreich war. Wenn nicht, kehrt es zurück und zeigt die Fehlermeldung beim Senden an.
5. Wenn das Schreiben erfolgreich ist, starten Sie den Sendebefehl
6. Geben Sie eine erfolgreiche Nachricht zurück
Falsche Schätzmethode
Definition
Die Fehlerschätzmethode besteht darin, anhand der Erfahrung zu erraten, wo das Problem liegen könnte, und Testfälle entsprechend zu entwerfen.
Fehlertestmethoden können nur als Ergänzung zum Testdesign verwendet werden und können nicht allein zum Entwerfen von Testfällen verwendet werden. Andernfalls kann es zu unzureichenden Tests kommen.
Falsche Vermutungen sind keine blinden Vermutungen und auch keine Vermutungen ohne Grundlage und Zweck. Sie müssen auf einem Verständnis der Schwächen des Systems und einem Verständnis für die blinden Flecken der Entwickler basieren.
Beispiel
a = [3,5,8,9,2,4]
wiederholen
[1,1,1,1,1,1,1]
Keine Zahl
[1,2,3,a,7,6,5]
Liste ist leer
: [] [67]
Reihenfolgeproblem
[1,2,3,4,5,6] [6,5,4,3,2,1]
Geschäftskenntnisse und umfangreiche Programmiererfahrung
Zusammenfassung des Testfalldesigns
Es gibt viele Methoden zum Entwerfen von Testfällen. Wir müssen nicht nur wissen, wie jede Methode verwendet wird, sondern auch die Szenarien, in denen jede Methode verwendet wird.
Äquivalenzklassen und Grenzwerte sind die Eckpfeiler jedes anderen Testdesignansatzes, und das Anwendungsfalldesign unter Verwendung von Äquivalenzklassen und Grenzwerten muss zunächst berücksichtigt werden.
Wenn zwischen der Eingabedomäne und der Eingabedomäne eine Einschränkungsbeziehung besteht, muss zur Kombination eine Entscheidungstabelle verwendet werden.
Nachdem alle Testfallentwurfsmethoden berücksichtigt wurden, ist es auch notwendig, sie durch Methoden zur Fehlerschätzung zu ergänzen, um nichts zu verpassen.
Wenn Sie ein bestimmtes Feld testen, sollten Sie sicherstellen, dass der Wert anderer Felder ein normaler Wert ist.
Analyse und Extraktion von Testpunkten
Fragen, über die Sie vor der Prüfung nachdenken sollten
Wissen Sie, was das System macht, das Sie testen möchten?
Verstehen Sie die Eigenschaften des Systems?
Wissen Sie, welche Funktionen das System hat?
Kennen Sie den Geschäftsprozess des Systems?
Was muss in dieser Version des Systems getestet werden und was nicht?
Gibt es irgendwelche Leistungs- und Sicherheitsanforderungen an das System?
Prozess zur Analyse der Testanforderungen
1. Systemtestpunkte entsprechend den Produktanforderungen extrahieren
1. Prüfen Sie zunächst, ob die Oberflächenelemente korrekt angezeigt werden
2. Testen Sie die Grundfunktionen der Seite. Wenn die Seite sowohl ein Formular als auch eine Liste enthält, sollten Sie vorrangig testen, ob die Formularfunktion normal ist.
3. Beim Testen des Formulars müssen Sie jedes Feld im Formular nacheinander testen. Alle Eingabefelder, die Benutzer eingeben können, müssen gemäß den Einschränkungen des Felds mithilfe von Äquivalenzklassen und Grenzwerten berücksichtigt werden.
4. Wenn zwischen mehreren Feldern Korrelationen und Einschränkungen bestehen, sollten Sie nach dem Testen der Äquivalenzklasse und des Grenzwerts eines einzelnen Feldes weiterhin Testmethoden wie Entscheidungstabellen für kombinierte Tests verwenden.
5. Testen Sie nach dem Testen des Formulars die Funktionen in der Liste
6. Nachdem der Inhalt einer einzelnen Seite getestet wurde, testen Sie den prozessbezogenen Inhalt mithilfe der Prozessanalysemethode (Szenariomethode).
7. Nachdem die Prozessanalyse und das Testen abgeschlossen sind, verwenden Sie abschließend die Fehlerschätzmethode, um sicherzustellen, dass keine Testpunkte verpasst werden.
8.Beispiele
2. Schreiben Sie eine Anforderungsverfolgungsmatrix
Die Anforderungsverfolgungsmatrix bezieht sich auf die Erstellung einer Liste von drei Zuordnungen basierend auf Produktanforderungen, Testpunkten und Testfällen. Diese Tabelle wird als Anforderungsverfolgungsmatrix bezeichnet.
Die Rolle der Anforderungsverfolgungsmatrix
Stellen Sie die Zuordnungsbeziehung zwischen Produktanforderungen, Testanforderungen und Testfällen her, um Statistiken zur Abdeckung der Anwendungsfallanforderungen zu erstellen
Wenn sich Anforderungen ändern, können Sie anhand der Anforderungsverfolgungsmatrix schnell ermitteln, welche Testfälle aktualisiert werden müssen.
3. Entwerfen Sie Testfälle basierend auf Testpunkten unter Verwendung geeigneter Testfall-Entwurfsmethoden
Richten Sie eine Testumgebung ein
Einrichtung der Serverumgebung
JDK-Installation
Die Installation von JDK dient hauptsächlich dazu, eine laufende Umgebung für JAVA bereitzustellen. (Der TOMCAT-Server ist in Java geschrieben. Um Tomcat auszuführen, müssen Sie daher zunächst die JAVA-Betriebsumgebung einrichten.)
JAVA_HOME: Der Pfad, in dem Sie JDK installiert haben
CLASS_PATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
Fügen Sie in der Umgebungsvariablen Path die beiden Pfade %JAVA_HOME%\jre\bin und %JAVA_HOME%\bin hinzu
Installation von TOMCAT
Tomcat fungiert als Hauptwebserver und ist für die Bearbeitung aller von Clients gesendeten Anfragen verantwortlich.
Entpacken Sie das komprimierte Tomcat-Paket in einen Pfad, der keine chinesischen Zeichen oder Sonderzeichen enthält
CATALINA_HOME: Der Pfad dorthin, wo Sie das Tomcat-Paket dekomprimiert haben
Fügen Sie in der Umgebungsvariablen Path den Pfad %CATALINA_HOME%\bin hinzu
Starten Sie Tomcat, indem Sie im Bin-Verzeichnis auf die Datei „startup.bat“ doppelklicken
Installation der MySQL-Datenbank
Die MySQL-Datenbank wird hauptsächlich zur Verwaltung von Systemdaten verwendet
Installieren Sie die MySQL-Anwendung über das Wampserver-Toolkit und starten Sie die MySQL- und Apache-Server über Wampserver
Einstellungen, die sich auf das zu testende System beziehen
Platzieren Sie das Kriegspaket des zu testenden Systems in dem von Tomcat angegebenen Pfad
Importieren Sie die der Datenbank entsprechende SQL-Datei in die Datenbank und ändern Sie das Standardkennwort der MySQL-Daten
Starten Sie den Server und greifen Sie auf das zu testende System zu. Die Adresse lautet: http://localhost:8080/mms/login.html
Umgebungsvariablen
Umgebungsvariablen sind eigentlich Systemeinstellungen. Durch diese Einstellungen können wir dem Computer mitteilen, wo sich die Zieldatei befindet, die wir ausführen möchten.
Mängelbericht
Definition eines Mangels
Die Software implementiert nicht die im Produkthandbuch beschriebenen Funktionen.
Die Software implementiert Funktionen, die nicht im Produkthandbuch beschrieben werden sollten.
Die Software hat einen Vorgang ausgeführt, der nicht im Produkthandbuch erwähnt wird.
Die Software implementiert keine Funktionen, die nicht im Produkthandbuch erwähnt sind, aber implementiert werden sollten
Aus der Sicht eines Softwaretesters ist die Software schwer zu verstehen, schwierig zu verwenden, langsam oder wird vom Endbenutzer aus anderen Gründen nicht als richtig angesehen
Fehlermanagement
Beherrschen Sie den Lebenszyklus von Softwarefehlern
Beherrschen Sie das Ausfüllen hochwertiger Mängelberichte
Ein vollständiger Testbericht
Fehlernummer
Voraussetzungen
Defekttitel
Testschritte
Schwere
Priorität
Reproduzierbarkeit
Fehlerstatus
Beherrschen Sie die relevanten Merkmale von Softwarefehlern
Schweregrad des Fehlers
Schwere
Wie der Name schon sagt, bezieht es sich auf das Ausmaß, in dem ein Softwarefehler die Softwarequalität beeinträchtigt, d. h. welche Auswirkungen das Vorhandensein dieses Softwarefehlers auf die Funktion und Leistung der Software hat.
tödlich
Beispielsweise wird die Software unerwartet beendet oder sogar das Betriebssystem stürzt ab, was zu Datenverlust führt.
ernst
Beispielsweise schlagen mehrere zusammengehörige Funktionen aufgrund des Ausfalls einer einzelnen Funktion fehl
allgemein
Beispielsweise wenn eine einzelne Funktion der Software ausfällt
Hinweis
Kleinere Mängel in der Softwareschnittstelle, zum Beispiel ist ein bestimmtes Steuerelement nicht ausgerichtet, ein bestimmtes Satzzeichen fehlt usw.
Klassifizierung des Fehlerstatus
Erfahren Sie mehr über gängige Tools für das Softwarefehlermanagement
Verstehen Sie einige häufige Probleme bei Fehlerkonflikten
Wie gehe ich mit Mängeln um, die nicht reproduziert werden können? Stellen Sie sicher, dass Sie es an die Fehlerverwaltungsbibliothek senden!
1. Beschreiben Sie unbedingt detailliert den Prozess, bei dem der Fehler aufgetreten ist, und die entsprechende Umgebungskonfiguration. Wenn Protokolle vorhanden sind, fügen Sie unbedingt relevante Betriebsprotokolle oder Systembetriebsprotokolle bei.
2. Achten Sie bei nicht reproduzierbaren Mängeln darauf, die Wiederholungsrate so klar wie möglich zu beschreiben.
3. Wenn der Entwickler den Fehler bei der Überprüfung auf „Behoben“ setzt, kann er nicht auf nur einer Version überprüft werden. Um den Fehler zu schließen, muss er auf mindestens drei oder mehr Versionen überprüft werden.
Regressionstests und Akzeptanztests
Regressionstests
Definition
Führen Sie nach der Änderung des Codes einen erneuten Test durch
Zweck
Prüfen Sie, ob der Defekt tatsächlich behoben ist
Ob Programmierer beim Beheben von Fehlern neue Fehler einführen
Verfahren
1. Formulieren Sie in der Phase der Teststrategieformulierung eine Regressionsteststrategie
2. Bestimmen Sie die Version, für die ein Regressionstest erforderlich ist. Die Version, in der der Fehler geändert wurde, wird zurückgegeben.
3. Geben Sie die Regressionstestversion frei und führen Sie Regressionstests gemäß der Regressionsteststrategie durch
4. Der Regressionstest ist bestanden und der Fehlerbericht wird geschlossen.
5. Wenn der Regressionstest fehlschlägt, wird der Fehlerbericht an den Entwickler zurückgesendet, der Entwickler ändert das Problem erneut und sendet es erneut zum Regressionstest an den Tester.
Strategie
volle Rendite
Führen Sie alle in der frühen Testphase erstellten Testfälle erneut aus, um die Richtigkeit der Problemänderung und die lokalen Auswirkungen der Änderung zu bestätigen.
selektive Regression
Das heißt, einige der in der frühen Testphase erstellten Testfälle werden selektiv erneut ausgeführt, um das geänderte Programm zu testen.
Methode
Änderungen überschreiben
Wählen Sie für den geänderten Teil Testfälle aus oder rekonstruieren Sie sie, um sicherzustellen, dass keine Fehler auftreten. Verwenden Sie die Fallauswahlmethode
umgebenden Einfluss
Es umfasst die durch die Coverage-Modifikationsmethode ermittelten Anwendungsfälle und analysiert auch die Diffusionsauswirkungen der Modifikation, um zu überprüfen, ob andere Teile betroffen sind.
Ziel erreicht
Abnahmeprüfung
Definition
Nach bestandener interner Systemprüfung kann mit dem Abnahmetest begonnen werden
Akzeptanztests sind benutzerzentrierte Tests, und das Akzeptanzteam sollte aus Projektteammitgliedern, Benutzervertretern usw. bestehen.
Der Abnahmetest wird grundsätzlich vor Ort beim Nutzer durchgeführt, kann mit Zustimmung des Nutzers aber auch im Unternehmen durchgeführt werden, um die Nutzerumgebung zu simulieren.
Abnahmetests: Abnahmetests fertiger Produkte gemäß Vertrag, „Lastenheft“ oder „Abnahmetestplan“
Bei produktbezogenen Projekten werden Abnahmetests im Allgemeinen in Alpha-Tests (interne Tests: durchgeführt in der Entwicklungsumgebung) und Beta-Tests (öffentliche Tests: Tests in der tatsächlichen Nutzungsumgebung) unterteilt.
Vergleich von Lebenszyklustestmethoden