Wissenskompetenzmodell für Softwaretestarchitekten

Was der Testarchitekt ausübt, ist keine reine Testtechnologieaufgabe, sondern eine umfassende Kunst, die eine Kombination aus Produkten, Kommunikation und Koordination, schriftlichem Ausdruck usw. erfordert, wie in Abbildung 1 dargestellt.

Abbildung 1 Von Softwaretestarchitekten geforderte Kompetenzen

Was die Testtechnologie betrifft, müssen Softwaretestarchitekten über die folgenden Testtechnologiefähigkeiten verfügen:

Software-Produktqualitätsmodell

Testtyp

Testmethoden

Versuchsforschung

automatisierter Test

1 Sechs Attribute der Softwareproduktqualität

Abbildung 2 Sechs Attribute der Softwareproduktqualität

1.1 Funktionalität

Tabelle 1 Funktionale Unterattribute

Eignung: Für Windows-Rechner sind alle „Rechnungs“-bezogenen Funktionen geeignet, die das Softwareprodukt den Benutzern bietet.

Genauigkeit: Bei Windows-Rechnern ist die Richtigkeit der Rechenergebnisse des Rechners selbst ein Ausdruck der Genauigkeit der Rechnersoftware.

Interoperabilität: Bei Windows-Rechnern ist die Frage, ob verschiedene Funktionen und Features im Rechner korrekt miteinander zusammenarbeiten können, ein Ausdruck der Interoperabilität des Rechners; darüber hinaus ist die Unterstützung verschiedener Betriebssysteme, wie z. B. die Unterstützung verschiedener Versionen von Windows 7 (einschließlich unterschiedlicher Patches). Versionen) und die Unterstützung verschiedener Arbeitsmodi (z. B. abgesicherter Modus, abgesicherter Modus mit Netzwerkverbindung) sind ebenfalls Ausdruck der Interoperabilität.

Sicherheit: Bei Windows-Rechnern sollte der Rechner keine ausnutzbaren Sicherheitslücken und Inhalte im Zusammenhang mit „Benutzerberechtigungen“ enthalten, wie z. B. „Sowohl Administratoren als auch Gäste sollten die gleichen Nutzungsberechtigungen haben“ usw.

Funktionale Compliance: Bei Windows-Rechnern kann unter funktionaler Compliance verstanden werden, dass Rechenregeln (z. B. Quadratoperationen, statistische Operationen usw.) als Taschenrechner mit relevanten Regeln in der Mathematik übereinstimmen müssen.

1.2 Zuverlässigkeit

Die folgenden drei progressiven Sätze können uns helfen, die Anforderungen an die Benutzerzuverlässigkeit zu verstehen:

Stufe 1: Es ist am besten, die Geräte nicht zu versagen;

Schicht 2: Wenn die Ausrüstung ausfällt, sollten die Hauptfunktionen und Dienste nicht beeinträchtigt werden;

Stufe 3: Wenn Hauptfunktionen und Dienste beeinträchtigt sind, kann das System schnellstmöglich lokalisiert und wiederhergestellt werden.

Tabelle 2: Unterattribute für die Zuverlässigkeit

Reife: Bei Windows-Rechnern kann Reife als die Wahrscheinlichkeit eines Produktfunktionsausfalls verstanden werden. Läuft der Rechner beispielsweise längere Zeit weiter, kommt es zu Rechenfehlern. Im Allgemeinen kann diese Art von Fehler durch einen Neustart der Software, einen Neustart des Geräts usw. behoben werden.

Fehlertoleranz: Bei Windows-Rechnern kann Fehlertoleranz als die Fähigkeit des Produkts verstanden werden, mit „Fehlereingaben“ des Benutzers umzugehen.

Wiederherstellbarkeit: Bei Windows-Rechnern kann unter Wiederherstellbarkeit die Fähigkeit des Rechners verstanden werden, sich zu erholen, sobald eine Anomalie auftritt, die vom Produkt selbst nicht vorhergesehen werden kann (z. B. keine Reaktion, Neustart).

Zuverlässigkeitskonformität: Für Windows-Rechner gibt es keine strengen und klaren Standards für die Zuverlässigkeitskonformität, es gibt jedoch einige mögliche Konventionen. Beispielsweise muss der Rechner in der Lage sein, abnormale Eingaben für alle mathematischen Operationen zu erkennen und einen Hinweis darauf zu geben Ursache des Fehlers. Für Kommunikationsprodukte gelten relativ strenge Standards in Bezug auf Zuverlässigkeit und Konformität, z. B. darf die Systemausfallrate nicht höher als ein bestimmter Wert sein und die Fehlerwiederherstellungszeit darf nicht länger als ein bestimmter Wert sein usw.

1.3 Portabilität

Anpassungsfähigkeit: Unter Anpassungsfähigkeit versteht man bei Windows-Rechnern, ob Layout, Größe, Übersichtlichkeit, Tastenanordnung etc. des Rechners auf unterschiedlich großen Displays normal dargestellt werden können.

Installierbarkeit: Bei Windows-Rechnern kann unter Installierbarkeit verstanden werden, ob der Rechner erfolgreich auf verschiedenen Windows-Betriebssystemen installiert werden und normal laufen kann.

Koexistenz: Bei Windows-Rechnern kann Koexistenz so verstanden werden, dass der Taschenrechner und andere Software gleichzeitig in Windows koexistieren können und es keinen Wettbewerb um Ressourcen (wie CPU, Speicher usw.) gibt.

Einfache Austauschbarkeit: Bei Windows-Rechnern kann unter der einfachen Austauschbarkeit davon ausgegangen werden, dass ein neuer Rechner entwickelt wird und der neue Rechner den alten Rechner erfolgreich ersetzen kann. (Beachten Sie, dass sich dies nicht auf ein „Produkt-Upgrade“ bezieht, sondern dass es Situationen geben kann, in denen „neue“ und „alte“ Rechner gleichzeitig vorhanden sind.)

Portabilitätskonformität: Bei Windows-Rechnern kann die Portabilitätskonformität als einige Konventionen zur Portabilität von Windows-Produkten verstanden werden. Ein Taschenrechner ist beispielsweise nicht für ein bestimmtes Betriebssystem entwickelt und muss alle Windows-Betriebssysteme unterstützen.

2 Testtypen

Testtypen beziehen sich auf die unterschiedlichen Perspektiven, die beim Testen berücksichtigt werden müssen. Mithilfe des Softwareproduktqualitätsmodells (im Folgenden „Qualitätsmodell“ genannt) können wir Testtypen schnell definieren und verstehen.

Abbildung 3 Zusammenhang zwischen Qualitätsattributen und Testtypen

Tabelle 5 Gängige Testtypen und ihre Beziehung zu Qualitätsmerkmalen

3 Testmethoden

3.1 Produkttest-Raddiagramm

Der Testtyp, also der Blickwinkel, aus dem der Test das Produkt testen soll, bestimmt die Idee des Tests. Was wir als nächstes besprechen wollen, ist die Vorgehensweise, also die konkrete Testmethode.

Abbildung 4 Produkttestraddiagramm

Die Beziehung zwischen den sechs Kategorien von Qualitätsattributen und Testtypen, die in Abbildung 4 dargestellt sind, geht nicht auf jedes Qualitätsunterattribut und den Testtyp ein, der jedem Unterattribut entspricht (vielleicht möchten Sie das Rad „Qualitätsunterattribut“ zeichnen). von dir selbst Bild).

Anhand des „Raddiagramms“ lassen sich zwei Kernthemen bei Produkttests analysieren:

Erstens geht es um die Frage, wie die „Vollständigkeit“ der Testverifizierung sichergestellt werden kann. Solange die von uns verwendete Testmethode die sechs Qualitätsmerkmale abdecken kann, wird es bei unseren Tests natürlich keine allgemeinen Richtungsauslassungen geben.

Zweitens geht es um die Frage, wie die „Tiefe“ des Testens bestimmt werden kann. Im Allgemeinen gilt: Je mehr Testmethoden ein Testteam verwendet, desto gründlicher wird das Produkt getestet.

Diese wirken sich auf die Wirkung des Tests und die Bewertung der Produktqualität durch den Test aus. Darüber hinaus kann uns das „Raddiagramm“ auch dabei helfen, die Fähigkeiten des Testteams zu bewerten. Je mehr Testmethoden ein Softwaretester beherrscht, desto stärker sind seine Testfähigkeiten.

3.2 Funktionstestmethode

Zu den Funktionstestmethoden gehören:

Einzellauf-Normalwert-Eingabemethode.

Einzellauf-Randwerteingabemethode.

Ausführungsmethode mit mehreren Laufsequenzen.

Interaktionsmethode mit mehreren Durchläufen.

Definition:

Ausführen: Beim Softwaretest der vom Tester simulierte „Vorgang“ oder „Verhalten“ des Benutzers.

Einzeldurchlauf: Beim Softwaretest simuliert der Tester „eine Bedienung“ oder „ein Verhalten“ des Benutzers.

Mehrfachdurchlauf: Beim Softwaretest simuliert der Tester „mehrere Operationen“ oder „mehrere Verhaltensweisen“ des Benutzers.

Das heißt, „Ausführen“ bezieht sich auf einen Vorgang oder ein Verhalten, das aus der Sicht des Benutzers sinnvoll ist. Auf funktionaler Ebene bestimmt ein „Lauf“ eine mögliche Situation von „Eingabe“ und „Ausgabe“, wie in Abbildung 5 dargestellt.

Abbildung 5 Schematische Darstellung der Funktionsweise auf Funktionsebene

Manchmal teilen wir Funktionen aus gestalterischer Sicht auf und bieten Benutzern kein vollständiges und sinnvolles Verhalten, z. B. „Der Benutzer hat eine neue Verbindung mit dem Mailserver hergestellt“ und „Der Mailserver hat die Verbindung mit dem Benutzer gelöscht“. Art einer feinkörnigen Funktion zählt nicht als „Lauf“, selbst wenn die Eingabe und Ausgabe bestimmt sind. Zu diesem Zeitpunkt können mehrere Funktionen kombiniert werden, bis diese Funktion den Benutzern ein vollständiges und sinnvolles Verhalten bieten kann, wie in Abbildung 6 dargestellt.

Abbildung 6 Zusammenhang zwischen Funktion und Betrieb

3.2.1 Einzellauf-Normalwert-Eingabemethode 

Es handelt sich um eine Testmethode, bei der die während des Tests eingegebenen „A1“ und „A2“ die vom System zugelassenen „Normalwerte“ sind.

3.2.2 Einmalige Grenzwerteingabemethode

Dies ist die Testmethode, bei der die während des Tests eingegebenen „A1“ und „A2“ die „Randwerte“ des Systems sind.

3.2.3 Ausführungsmethode für mehrere Ausführungssequenzen

Betrachten Sie mehrere „Einzellauf“-Vorgänge zusammen, und das Ergebnis ist ein „Mehrfachlauf“-Vorgang. Wenn Sie die sequenzielle Ausführungsmethode mit mehreren Durchläufen zum Testen verwenden, ist die Analyse der Reihenfolge zwischen den einzelnen Durchläufen der Schlüssel zur Verwendung dieser Methode.

Die Ausführungsmethode mit mehreren Durchläufen ist an Stellen, die mit den Bediengewohnheiten des Benutzers zusammenhängen, sehr effektiv.

Darüber hinaus eignet sich die sequenzielle Ausführungsmethode mit mehreren Durchläufen auch besser für den Einsatz beim Funktionskonfigurationstest.

Tabelle 6 Szenarien mit mehreren Laufsequenzen

Mehrere Laufszenarien mit Seriennummern sind mehreren Laufsequenzen zugeordnet.

1 Der Benutzer sendet zunächst eine E-Mail und erhält dann eine E-Mail Nr. Nein

2 Nachdem der Benutzer eine E-Mail erhalten und die empfangene E-Mail dann gesendet hat, ist es soweit

3 Nachdem der Benutzer eine E-Mail erhalten hat, senden Sie eine weitere beliebige E-Mail. Nein Nein

3.2.4 Multi-Run-Interaktionsmethode

Die Multi-Run-Interaktionsmethode bezieht sich auf eine Methode zum Kombinieren mehrerer miteinander verbundener Läufe zum Testen während des Funktionstests, wie in Abbildung 7 dargestellt

Abbildung 7 Multi-Run-Interaktionsmethode

Im Gegensatz zur sequentiellen Ausführungsmethode mit mehreren Ausführungen, bei der die Reihenfolge zwischen mehreren Ausführungen im Vordergrund steht, betont die Interaktionsmethode mit mehreren Ausführungen die Beziehung zwischen mehreren Ausführungen. Bei dieser Beziehung kann es sich um eine externe Beziehung handeln, z. B. um den reibungslosen Ablauf eines bestimmten Geschäfts. Mehrere Ausführungen zusammenarbeiten; es kann sich auch um eine intrinsische Beziehung handeln, beispielsweise wenn diese unter Verwendung derselben Ressourcen (z. B. Speicher oder andere Hardwareressourcen) ausgeführt werden.

Besonders hervorzuheben ist, dass es sich dabei alles um Betriebsszenarien „für einen Benutzer“ handelt und nicht um „zwei verschiedene Benutzer senden gleichzeitig E-Mails“ oder „ein Benutzer sendet E-Mails und ein Benutzer empfängt E-Mails“. Tatsächlich gehört Ersteres zur Kategorie der Funktionstests, während Letzteres zur Kategorie der Zuverlässigkeitstests gehört.

3.3 Zuverlässigkeitstestmethode

3.3.1 Ausreißer-Eingabemethode

Die Ausreißer-Eingabemethode ist eine Zuverlässigkeitstestmethode, die Werte verwendet, deren Eingabe das System dem Benutzer nicht erlaubt (d. h. Ausreißer), als Testeingabe.

3.3.2 Fehlerimplantationsmethode

Die Fehlerimplantationsmethode ist eine Zuverlässigkeitstestmethode, die das System zum Testen in eine problematische Umgebung versetzt. Die wichtigsten Qualitätsmerkmale, die getestet werden können, sind Fehlertoleranz und Reife.

Im Gegensatz zur Ausreißer-Eingabemethode gibt die Ausreißer-Eingabemethode direkt einen Wert ein, den das System als falsch und nicht unterstützt erachtet. Die Fehlerimplantationsmethode versetzt das System in eine problematische Umgebung, die Eingabe ist jedoch immer noch ein normaler Wert.

Welche Störungen, Fehler oder Probleme gibt es im Geschäftsumfeld des Benutzers? Listen Sie diese Szenarien auf, versetzen Sie das System in diese Szenarien, führen Sie den normalen Betrieb aus und analysieren Sie, ob die Reaktion des Systems zu diesem Zeitpunkt angemessen ist.

Wenn das System in der Hardwareumgebung des Benutzers bereitgestellt wird, berücksichtigen Sie die vom System benötigten Hardwareressourcen wie CPU, Arbeitsspeicher, Speicherplatz usw. und prüfen Sie, ob die Reaktion des Systems angemessen ist, wenn sie nicht ausreicht. Nehmen wir das Beispiel „Benutzer sendet E-Mail“. Netzwerkausfälle sind ein häufiger Fehler für Benutzer, z. B. Verbindungsabbrüche, intermittierende Netzwerkausfälle und Paketverluste.

Wenn das System auf dem System des Benutzers installiert ist, prüfen Sie, ob die Reaktion des Systems bei Softwarekonflikten, falschen Treibern usw. angemessen ist.

Wenn es sich bei dem System um ein unabhängiges Gerät handelt, überlegen Sie, ob die Reaktion des Systems angemessen ist, wenn Probleme mit seinen Schlüsselkomponenten (wie Gehäuse, Einzelplatinen, Steckkarten, Festplatten, Chips usw.) auftreten.

3.3.3 Stabilitätstestmethode

Die Stabilitätstestmethode ist eine Zuverlässigkeitstestmethode, mit der ein bestimmtes Unternehmen über einen längeren Zeitraum hinweg mit großer Kapazität betrieben wird. Sie kann die „Reife“ des Systems sehr effektiv testen und ist eine sehr wichtige Zuverlässigkeitstestmethode. .

Es ist insbesondere darauf hinzuweisen, dass zwischen der Stabilitätstestmethode, der Stresstestmethode und der Leistungstestmethode eine gewisse Beziehung besteht und diese Beziehung die Produktspezifikation ist.

Produktspezifikationen: Die maximale Kapazität oder Leistungsfähigkeit, die ein Produkt zu bewältigen verspricht. Beispielsweise unterstützt das System die gleichzeitige Anmeldung von bis zu 100 Benutzern und das System unterstützt die Einrichtung von bis zu 100 Sicherheitsrichtlinien, bei denen es sich um Produktspezifikationen handelt.

Der Zweck der Leistungsprüfung besteht darin, zu testen, ob die tatsächlichen Spezifikationen des Produkts mit den im Handbuch versprochenen erforderlichen Spezifikationen übereinstimmen. Offensichtlich ist der endgültige Leistungswert, den wir gemessen haben, die maximale Kapazität oder Leistungsfähigkeit, die das System tatsächlich bewältigen kann.

Stabilitätstests werden unterhalb der Leistungswerte durchgeführt. Wenn Benutzer das System verwenden, lassen sie es tatsächlich nicht immer im Extremzustand laufen. Während des Tests können wir die Last im Test steuern, um sie so nah wie möglich an die tatsächliche Nutzung des Benutzers anzupassen, sodass der Test durchgeführt werden kann kann genauer und wertvoller sein.

Stresstests werden bei höheren Leistungswerten durchgeführt. Obwohl die Belastung während des Tests die maximale Kapazität des Systems überstieg, bedeutet dies nicht, dass die Systemfunktionen in diesem Fall ausfallen. Wir müssen analysieren, ob die Leistung des Systems basierend auf der tatsächlichen Situation angemessen ist. Beispielsweise unterstützt das System die gleichzeitige Anmeldung von bis zu 100 Benutzern. Zu diesem Zeitpunkt initiieren jedoch 110 Benutzer gleichzeitig Anmeldevorgänge. Dann sollte das System sicherstellen, dass sich 100 dieser 110 Benutzer normal anmelden können, und dies ist angemessen 10 Benutzer können sich nicht anmelden, anstatt dass sich alle Benutzer nicht anmelden können.

Kehren wir nun zum Thema dieses Abschnitts zurück – Stabilitätstests (Leistungstestmethoden und Stresstestmethoden werden Ihnen in den folgenden Artikeln vorgestellt). Aus methodischer Sicht ist die Stabilitätstestmethode die interessanteste aller Testmethoden und kann als „vierstellige Formel“ zusammengefasst werden: Vielfach, Vereinigung, Komplex und Differenz.

Der Kern von „mehreren Wörtern“ besteht darin, die Stabilität des Systems zu testen, indem die Anzahl der Benutzeroperationen an Funktionen während des Tests erhöht wird.

Der Kern von „Ming Zi Jue“ besteht darin, mehreren Benutzern die gleichzeitige Bedienung dieser Funktion während des Tests zu ermöglichen, um zu testen, ob das System noch stabil ist. Manchmal nennen wir diesen Test auch Parallelitätstests.

Der Kern von „Fu Zi Jue“ besteht darin, einem oder mehreren Benutzern die Möglichkeit zu geben, während des Tests wiederholt Vorgänge wie Erstellen, Aktualisieren, Löschen, Synchronisieren und Sichern auszuführen, um zu testen, ob das System stabil ist.

Der Kern von „verschiedenen Wörtern“ besteht darin, einem oder mehreren Benutzern die Möglichkeit zu geben, während des Tests wiederholt abnormale Vorgänge auszuführen, um zu überprüfen, ob das System weiterhin angemessen reagieren kann. Im Vergleich zur abnormalen Eingabemethode und der Fehlerimplantationsmethode betont „Yi Zi Jue“ „Fortsetzung“ und „Akkumulation“. Tatsächlich ist es oft effektiver, zum Testen „verschiedene Wörter“ zu verwenden. Dies liegt daran, dass es bei der Codeentwicklung einfach ist, die Anwendung und Wiederherstellung von Ressourcen unter korrekten Umständen zu berücksichtigen und die Wiederherstellung von Ressourcen unter abnormalen Umständen zu ignorieren.

3.3.4 Stresstestmethode

Stresstests sind eine Zuverlässigkeitstestmethode, bei der über einen bestimmten Zeitraum kontinuierlich Lasten verwendet werden, die die Systemspezifikationen überschreiten.

Obwohl das Produkt deklarierte Spezifikationen hat und nur verspricht, stabile und zuverlässige Funktionen innerhalb des Spezifikationsbereichs bereitzustellen, und nicht verspricht, korrekte Funktionen bereitzustellen, wenn die Systemspezifikationen überschritten werden, sind Stresstests dennoch sinnvoll. Ein wichtiger Grund ist das plötzliche Geschäftsphänomen: Die Geschäftslast des Benutzers ist nicht durchschnittlich. Sie kann die Last in sehr kurzer Zeit überschreiten, überschreitet jedoch im Durchschnitt nicht die Spezifikation, wie in Abbildung 9 dargestellt.

Abbildung 8 Geschäftliche Notfälle

Wir hoffen, dass das System im Notfall nicht so anfällig ist wie ein Kartenhaus, sondern über praktische Gegenmaßnahmen verfügt, z. B. dass keine Lasten gehandhabt werden, die die Systemspezifikationen überschreiten, Protokolle aufgezeichnet werden, damit Benutzer die Ursachen von Notfällen analysieren können usw . Schwerwiegende Probleme wie Abstürze und wiederholte Neustarts werden aufgrund von Notfällen nicht auftreten. Dies ist der eigentliche Zweck unseres Stresstests. Um dieses Testziel zu erreichen, müssen wir bei der Durchführung von Stresstests ein Burst-Lastmodell verwenden, wie in Abbildung 9 dargestellt

Abbildung 9 Burst-Load-Modell

Es wird nicht empfohlen, Testmethoden zu verwenden, die kontinuierlich die Belastung der Systemspezifikationen überschreiten, um Produktprobleme aufzuspüren. Für Tests ist es jedoch nicht völlig sinnlos, Lastmodelltests zu verwenden, die kontinuierlich über die Spezifikationen hinausgehen. Sie sind ein wesentlicher Bestandteil unserer anderen Zuverlässigkeitstestmethode – der Wiederherstellungstestmethode.

3.3.5 Wiederherstellungstestmethode

Die Wiederherstellungstestmethode bezieht sich auf eine Testmethode, die eine Last verwendet, die weiterhin über der Spezifikation zum Testen liegt, und die Last dann auf innerhalb der Spezifikation reduziert, wie in Abbildung 10 dargestellt

Abbildung 10 Wiederherstellungstestmethode

Bei der kontinuierlichen Durchführung von Belastungstests, die über die Spezifikationen hinausgehen, ist das Geschäft innerhalb der zulässigen Spezifikationen nicht zu 100 % korrekt. Wenn die Last unter den Spezifikationswert fällt, muss das Unternehmen in der Lage sein, sich mit einer Genauigkeit von 100 % zu erholen.

Um das Verständnis aller für die Stresstestmethode und die Wiederherstellungstestmethode zu vertiefen, können wir auch die Erwartungen der beiden Modelle an „Geschäftsergebnisse“ unter unterschiedlichen Belastungen vergleichen, wie in Abbildung 11 dargestellt.

Abbildung 11 Erwartungen an die Geschäftsergebnisse im Burst-Load-Modus und im Continuous-Load-Modus

Man erkennt, dass der größte Unterschied zwischen den beiden Testmethoden im „schwarzen“ Teil des Bildes liegt. Bei Verwendung des Burst-Load-Modus für Stresstests lässt der schwarze Teil in der Abbildung keinen Geschäftsausfall zu. Bei Verwendung des Continuous-Load-Modus für Wiederherstellungstests lässt der schwarze Teil einen Geschäftsausfall zu.

3.4 Leistungstestmethoden

Der Zweck von Leistungstests besteht darin, zu testen, ob die tatsächlichen Spezifikationen des Produkts mit den im Handbuch versprochenen erforderlichen Spezifikationen übereinstimmen. Der tatsächlich gemessene Leistungswert ist die maximale Kapazität oder Leistungsfähigkeit, die das System tatsächlich bewältigen kann.

Im Allgemeinen geben die erforderlichen Spezifikationen des Produkts Leistungserwartungen vor, und der Tester muss lediglich bestätigen, ob das Produkt die Spezifikationen erfüllen kann. Wenn die Produktleistungsspezifikationen im Lastenheft sehr einfach und grob sind, können wir Leistungstests gemäß Abbildung 12 durchführen

Abbildung 12 Testablauf

Der erste Schritt besteht darin, den besten Leistungswert des Systems zu testen

Bei der Durchführung von Leistungstests können wir zunächst versuchen, den besten Leistungswert des Systems zu testen. Wir können die im Lastenheft geforderten Leistungswerte als Prüfobjekte nutzen, um die Grenzen dieser Indikatoren im System zu testen.

Die Leistungsangaben verschiedener Produkte können stark variieren, lassen sich aber im Allgemeinen in die folgenden zwei Kategorien einteilen.

1) Die maximale Fähigkeit des Systems, neue Geschäfte korrekt abzuwickeln

Die maximale Fähigkeit des Systems, Neugeschäft korrekt abzuwickeln, nennen wir auch „Neu“. Wie viele neue Benutzer kann das System beispielsweise pro Sekunde anmelden, wie viele neue Verbindungen kann das System pro Sekunde aktiv initiieren usw.

Es werden Leistungstests für die neuen Funktionen des Systems durchgeführt. Bei dem Test handelt es sich um die Geschwindigkeit, mit der das System Ressourcen zuweist, um den Verarbeitungsprozess für ein neues Unternehmen abzuschließen. Die Gesamtmenge der Geschäftsverarbeitungsprozesse und -ressourcen wirkt sich auf die neue Leistungsfähigkeit des Systems aus. Es ist zu beachten, dass das System nicht „aufgebaut“ werden kann, ohne es „abzureißen“: Abgeschlossene oder anormale Dienste müssen rechtzeitig abgebaut werden, und die belegten Ressourcen müssen recycelt und für neue Dienste verwendet werden.

2) Die maximale Geschäftskapazität, die das System gleichzeitig korrekt verarbeiten kann

Die maximale Geschäftsfähigkeit, die das System gleichzeitig korrekt bewältigen kann, wird auch „Parallelität“ genannt. Zum Beispiel die maximale Anzahl gleichzeitiger Online-Benutzer, die das System unterstützen kann, die maximale Anzahl von Verbindungen, die das System gleichzeitig initiieren kann usw.

Besonders hervorzuheben ist, dass es einen Zusammenhang zwischen „neu“ und „Parallelität“ gibt, wie in Abbildung 13 dargestellt.

Abbildung 13 Neue Erstellungs- und gleichzeitige Testsituation

Hinweis: Die beiden Indikatoren für neue Erstellung und Parallelität beeinflussen sich gegenseitig. Beispielsweise beträgt die maximale Parallelitätskapazität 4000. Während des Tests wird nur „erstellt“ und nicht „zerlegt“. Wenn 150 neue Elemente pro Sekunde erstellt werden Um 24 Sekunden ist die Anzahl der Parallelen größer als die maximale Parallelitätskapazität. Sie beträgt 4000, was zu einer Verringerung der Anzahl neuer Kreationen führt.

Daher müssen wir beim Testen des besten Leistungswerts des Systems auf die interne Beziehung zwischen den Testindikatoren achten. Beim Testen eines Indikators können andere Indikatoren diesen Indikator nicht beeinflussen.

Der zweite Schritt besteht darin, verschiedene Faktoren zu analysieren, die den Leistungswert beeinflussen, und ihren Einfluss auf die Leistung zu testen.

Sowohl „Konfiguration“ als auch „Geschäft“ wirken sich auf die Leistungsindikatoren aus. Stellen Sie sich vor, die Leistung beim Konfigurieren einer Benutzerrichtlinie und bei der Konfiguration von 1000 Benutzerrichtlinien sollte unterschiedlich sein. Das System empfängt 1-Byte-E-Mails und empfängt 10 Millionen E-Mails. Die Leistungswerte ​Getestet sind auch unterschiedlich. In diesem Schritt müssen wir analysieren, welche Faktoren im System einen Einfluss auf die Leistung haben (Leistungsverschlechterung), und dann Tests durchführen, um zu analysieren, ob die Leistungsverschlechterung den Erwartungen entspricht und ob der schlimmste Fall vorliegt Das Szenario ist immer noch akzeptabel. Vernünftig.

Tabelle 7 Die maximale Anzahl von E-Mails, die am Stichprobenpunkt korrekt verarbeitet werden können

Tabelle 8 Die maximale Anzahl von E-Mails, die unter verschiedenen Filterstrategien korrekt verarbeitet werden können

Durch das Testen dieser Leistungswerte können wir leicht Folgendes erhalten:

Welche Faktoren haben einen größeren Einfluss auf die Systemleistung und welche Faktoren haben weniger Einfluss auf die Systemleistung?

Trends im Einfluss verschiedener Faktoren auf die Leistung. Durch die Auswahl von Testproben und die Verwendung der „Kurvenanpassung“-Technologie in der Mathematik können wir die Einflusskurve der Faktoren erhalten. Mithilfe der Kurve können wir analysieren, ob dieser Abwärtstrend angemessen ist.

Der schlechteste Leistungswert für jeden Faktor. Analysieren Sie, ob dieser schlechteste Wert angemessen ist und ob er zu einem Leistungsengpass des Systems führt.

Oft gibt es keinen einzelnen Faktor, der einen Leistungsindikator beeinflusst, sondern es können mehrere Faktoren sein. In diesem Schritt kann nur der Einfluss eines einzelnen Faktors auf die Leistung getestet werden. Der Einfluss mehrerer Faktoren auf die Leistung kann in typischen Szenarien platziert werden und typische Konfigurationen und Dienste können für Leistungstests ausgewählt werden.

Der dritte Schritt besteht darin, die Leistung anhand von Szenarien zu testen.

Schließlich verwenden wir „Szenario“ als Einheit, um die Leistungswerte typischer Konfigurationen und typischer Dienste in diesem Szenario zu testen.

Nehmen Sie als Beispiel „Benutzer sendet E-Mail“. Angenommen, in diesem Szenario ist die typische Konfiguration „200 Filterrichtlinien“ und die E-Mail-Größe beträgt 1 KB, 10 KB, 2 MB gemischt im Verhältnis 1:2:1, das E-Mail-System kann jede Sekunde die maximale Anzahl an Nachrichten empfangen und korrekt verarbeiten.

3.5 Testmethode für Benutzerfreundlichkeit

3.5.1 Konformitätstestmethode

Die Konformitätstestmethode konzentriert sich während des Tests auf die Benutzeroberfläche des Produkts:

Ob Stil, Layout und Elemente konsistent und einheitlich sind.

Ob die Rationalität des Layouts, die Rationalität der Vorgänge, Eingabeaufforderungen usw. den UI-Designspezifikationen entsprechen.

Die Konformitätstestmethode kann die Fähigkeit des Produkts im Hinblick auf einfache Verständlichkeit und Benutzerfreundlichkeit testen. Es ist ihr jedoch egal, ob die Produktfunktion korrekt ist, sodass der UI-Design-Prototyp des Produkts direkt getestet werden kann

3.5.2 Usability-Testmethode

Das Testobjekt der Usability-Testmethode ist auch die Benutzeroberfläche. Beim Usability-Test konzentrieren wir uns jedoch darauf, ob die vom Produkt bereitgestellten Funktionen für Benutzer leicht zu erlernen, zu verstehen und zu verwenden sind. Daher müssen Usability-Tests mit kombiniert werden Funktionstests, Verwendung von Szenarien als Testgranularität, Tests aus der Sicht des Benutzers.

Tabelle 9 Schwerpunkte und Standards für Usability-Tests

4 Testdesigntechniken

Tabelle 9 Testpunkte für „Benutzer sendet E-Mail“

4.1 Testpunkte sind nicht gleich Testfällen

Wenn wir Testpunkte zum Testen verwenden, werden wir auf viele Probleme stoßen, die uns unglücklich und verwirrt machen:

Problem 1: Diese Testpunkte haben doppelten Inhalt und sind redundant.

Beispiel: Testpunkt 1 und Testpunkt 4 testen beide „E-Mails korrekt versenden“.

Problem 2: Die Testeingabe einiger Testpunkte ist unklar und ich weiß nicht, was ich während des Tests testen soll.

Wenn wir beispielsweise Testpunkt 1 testen, wissen wir nicht, welche „normalen Eingabedaten“ wir testen möchten. Ähnliche Probleme bestehen bei Testpunkt 5.

Problem 3: Immer in ähnlichen Umgebungen arbeiten und ähnliche Vorgänge ausführen.

Zwischen einigen Testpunkten gibt es eine bestimmte Ausführungsreihenfolge, und diese Testpunkte müssen gemeinsam getestet werden. Wenn Sie beispielsweise zuerst Testpunkt 6 und dann Testpunkt 11 ausführen, können Sie die Nutzung der vorherigen Testumgebung und Testergebnisse maximieren.

Frage 4: Die Beschreibung der Testpunkte ist zu grob. Ich weiß nicht, ob der Test korrekt ist.

Einige Testpunkte sind sehr fett geschrieben und wir wissen nicht, was die Testziele sind oder worauf wir uns konzentrieren sollen. Beispiel: Testpunkt 4: Wir wissen nicht, ob wir die beiden Vorgänge „Benutzer sendet E-Mail“ und „Benutzer empfängt E-Mail“ zusammenfassen. Wo sind ihre „Interaktionspunkte“?

4.2 Vierstufige Testdesignmethode

Die Verarbeitung von Testpunkten in Testfällen wird als Testdesign bezeichnet, und die in diesem Prozess verwendete Methode wird als Testdesignmethode bezeichnet. Pfadanalyse, Entscheidungstabellen, orthogonale Analyse, Äquivalenzklassen, Grenzwerte usw. sind allesamt gängige Testentwurfsmethoden.

Bei der Testanalyse können wir Testpunkte erhalten, indem wir über das zu testende Objekt gemäß der Testmethode nachdenken. Daher ist die Testanalyse ein „Erkennungsprozess“, wie in Abbildung 14 dargestellt, aber das Testdesign ist anders.

Abbildung 14: Die Testanalyse ist ein „Entdeckungsprozess“.

Sie können ein solches Experiment durchführen und zwei Tester das gleiche Testobjekt anhand des „Raddiagramms“ analysieren lassen. Die Testpunkte, die sie erhalten, werden nicht sehr unterschiedlich sein, aber die am Ende generierten Testfälle werden sehr unterschiedlich sein. Dies liegt daran, dass wir von den Testpunkten bis zum Testdesign Testpunkte verarbeiten, sie kombinieren und aufteilen, Testdaten auswählen usw. Dies ist ein „kreativer“ Prozess.

Abbildung 15 Die vier Hauptschritte der vierstufigen Testentwurfsmethode

Schritt 1: Modellierung

Tatsächlich bitten wir in diesem Schritt nicht jeden, für jeden Testpunkt einige Originaltestmodelle zu erstellen, sondern wählen entsprechend den Eigenschaften des Testpunkts ein Modell aus, das für den späteren Testentwurf für den Testpunkt geeignet ist. Vielleicht nennen wir diesen Schritt treffender „Modellauswahl“.

Da die „Modellauswahl“ einen Bezug auf die Eigenschaften der Testpunkte erfordert, ist es wichtig, die Testpunkte zu untersuchen, die Eigenschaften zu analysieren und sie zu klassifizieren. Wir unterteilen sie derzeit in vier Kategorien:

Typ 1: „Prozess“;

Typ 2: „Parameter“;

Typ 3: „Daten“;

Typ 4: „Kombiniert“.

Für jeden Testpunkttyp haben wir einige der am besten geeigneten „Modellierungs“-Methoden angegeben:

Für die Klasse „Prozess“ können Sie ein Testmodell erstellen, indem Sie ein „Flussdiagramm“ zeichnen.

Für die Klasse „Parameter“ kann das Testmodell über die „Eingabe- und Ausgabetabelle“ erstellt werden.

Für die Klasse „Daten“ kann das Testmodell über die „Äquivalenzklassenanalysetabelle“ erstellt werden.

Für die Klasse „Kombination“ kann das Testmodell über die „Faktortabelle“ erstellt werden.

Schritt 2: Entwerfen Sie grundlegende Testfälle.

In diesem Schritt entwerfen wir einige grundlegende Testfälle für das bereits etablierte Testmodell, um dieses Testmodell abzudecken.

Der größte Unterschied zwischen Testfällen und Basistestfällen besteht darin, dass der Testfall die Testbedingungen (eine Beschreibung ähnlich wie „Führen Sie unter den Umständen von XX einen XX-Test durch“) und Testdaten (d. h. den eingegebenen „Parameterwert“ oder) bestimmt „numerischer Wert“), während der Basistestfall nur die Testbedingungen bestimmt.

Schritt 3: Testdaten ergänzen.

In diesem Schritt ermitteln wir die Testeingabe für den Basistestfall und ergänzen die Testdaten. Zu diesem Zeitpunkt wird der Basistestfall zu einem echten Testfall aktualisiert.

Schritt 4: Erweitern.

Modelle sind keine Allheilmittel und können nicht alle Probleme beim Testen eines Designs lösen. Wir müssen auch einige Testfälle hinzufügen, die auf Erfahrungen basieren, insbesondere auf dem Verständnis, wo Fehler im System auftreten können, um die Effektivität des Systems zu erhöhen.

Testpunkte klassifizieren

Bevor wir die vierstufige Testmethode verwenden, müssen wir zunächst die Testpunkte klassifizieren. Grundlage für die Klassifizierung ist die Feststellung, ob die Testpunkte Merkmale vom Typ „Prozess“, Merkmale vom Typ „Parameter“, Merkmale vom Typ „Daten“ und Merkmale vom Typ „Kombination“ aufweisen.

Ich denke du magst

Origin blog.csdn.net/MXB_1220/article/details/132834581
Empfohlen
Rangfolge