functional testing vs performance testing
Funktionstests vs. Leistungstests:
Unterschiede zwischen Leistungstests, Lasttests und Stresstests wurden in unserem letzten Tutorial anhand von Beispielen erklärt.
Das Testen von Software deckt eine breite Palette von Bereichen ab, in denen eine Überprüfung oder Validierung der Softwarefunktionalität erfolgen kann. Gelegentlich werden nichtfunktionale Aspekte in Bezug auf die funktionalen Aspekte weniger wichtig. Sie werden praktisch nicht durchgeführt; gleichzeitig während des Softwaretests.
=> Klicken Sie hier, um eine vollständige Reihe von Leistungstest-Tutorials zu erhalten
In diesem Artikel werden die zusätzlichen Vorteile der Qualität des Softwareprodukts in verschiedenen Szenarien des Lebenszyklus von Softwaretests erläutert wenn sowohl funktionale als auch nicht funktionale gleichzeitig genommen werden.
Was du lernen wirst:
- Schneller Unterschied zwischen Leistungstests und Funktionstests
- Warum sollten Funktionstests und Leistungstests gleichzeitig durchgeführt werden?
- Fallstudie
- Fazit
- Literatur-Empfehlungen
Schneller Unterschied zwischen Leistungstests und Funktionstests
Sl. Nein | Funktionsprüfung | Leistungstest |
---|---|---|
ein | Überprüfung der Genauigkeit der Software mit bestimmten Eingaben gegenüber der erwarteten Ausgabe | Überprüfung des Verhaltens des Systems bei verschiedenen Lastbedingungen |
zwei | Es kann manuell oder automatisiert sein | Es kann effektiv durchgeführt werden, wenn es automatisiert wird |
3 | Ein Benutzer führt alle Vorgänge aus | Mehrere Benutzer führen die gewünschten Vorgänge aus |
4 | Beteiligung von Kunde, Tester und Entwickler erforderlich | Beteiligung des Kunden-, Tester-, Entwickler-, DBA- und N / W-Managementteams erforderlich |
5 | Eine Testumgebung in Produktionsgröße ist nicht obligatorisch und die H / W-Anforderungen sind minimal | Erfordert in der Nähe der Produktionstestumgebung und mehrerer H / W-Einrichtungen, um die Last zu füllen |
Warum sollten Funktionstests und Leistungstests gleichzeitig durchgeführt werden?
Funktionstests werden für jede Software-Vorabversion viel wichtiger. Tatsächliche ergebnisbasierte Verifizierung und Validierung In der replizierten Produktions- oder Testumgebung finden die Tests normalerweise statt.
Fehlerleckage kann eines der größten Probleme werden:
Tester haben mehr Verantwortung als Entwickler in Bezug auf die Qualität des Produkts. Grundsätzlich möchten sie nicht, dass das getestete Produkt defekt ist. Tester neigen im Allgemeinen dazu, nur Funktionstests durchzuführen, um dies zu erreichen.
Das Folgende ist ein Gespräch zwischen aTest Manager und ein Tester ::
(Test Manager wird als 'TM' und Tester als 'TR' bezeichnet.)
TM : Hey Kumpel… Wie geht es uns beim Produkt-A-Test?
TR : Ja… Wir machen größere Fortschritte.
TM : Das ist fantastisch ... Und was ist unser Umfang in Bezug auf Leistungstests, während Funktionstests ausgeführt werden?
TR : Wir decken sie nicht ab, unsere Leistungen sollen sich nur im Funktionsbereich und nicht im nicht-Funktionsbereich befinden. Außerdem ist die von uns verwendete Testumgebung keine exakte Nachbildung der Produktion.
Es gibt einige Fragen aus dem obigen Gespräch, die berücksichtigt werden müssen:
- Haben Funktionstests einen abhängigen Faktor von der Leistung?
- Was passiert, wenn die Leistung der Software beeinträchtigt wird, die Lieferung des Produkts jedoch ohne Überprüfung der Leistung erfolgt?
- Leistungstests - Besteht sie gleichzeitig im Funktionstestprozess?
Es ist eine allgemeine Praxis für Tester geworden, nicht an den nicht funktionalen Aspekten zu arbeiten, es sei denn, sie werden dazu aufgefordert. Es ist üblich, dies zu vermeiden nicht funktionale Prüfung bis der Client Probleme mit der Leistung der zu testenden Software gemeldet hat.
Sie müssen also zwei Fragen berücksichtigen:
- Leistung - wirkt sich dies auf Funktionstests aus?
- Führen wir Leistungstests als separates Ergebnis durch, auch wenn dies den Kunden beunruhigt?
Leistungstests sind wichtig !
wie man c ++ makefile
Die Software basiert auf verschiedenen Architekturen und folgenden Modellen, darunter:
- Erforderliche Antwortantwortmodelle
- Transaktionsbasierte Systeme
- Lastbasierte Systeme
- Datenreplikationsbasierte Systeme
Das Funktionstestverhalten des oben genannten systematischen Modells hängt von der Leistung des Systems ab.
Der Standpunkt der Automatisierung erfordert viel Aufmerksamkeit für Leistungstests.
Das Folgende ist ein Gespräch zwischen aClient und der Test Manager.
(Der Client wird als 'CL' und der Testmanager als 'TM' bezeichnet.)
CL : Um zu der von uns angeforderten Lösung zu gelangen, hoffe ich, dass es mehrere Iterationen der Tests gibt, die derzeit stattfinden.
TM : Ja, das kann man machen. Wie Sie gesagt haben, wird die Wahrscheinlichkeit des iterativen Testens höher sein. Wir möchten eine Automatisierung vorschlagen, um den Funktionstest (Regressionstest) zu behandeln.
CL : OK, großartig, bitte senden Sie uns Ihren Ansatz, damit wir dies genehmigen können. Die Automatisierung wird mit minimalem Aufwand eine viel höhere Leistung erzielen.
TM : Genau. Wir werden an dem Ansatz arbeiten und uns mit einem Proof of Concept bei Ihnen melden.
Aus dem obigen Gespräch geht hervor, dass die Kunden die Effizienz optimieren müssen.
Fallstudie
Firma ABC arbeitet an einem Projekt zur Entwicklung von Software A. Das Testen der Software A wird von der Firma XYZ durchgeführt.
Der Vertrag für die Unternehmen ABC und XYZ unterliegt einigen Einschränkungen für deren Zusammenarbeit. Jede Diskussion zwischen den beiden Unternehmen sollte einmal pro Woche oder dreimal im Monat stattfinden. Das System arbeitet mit einem Modell des Anforderungs-Antwort-Modus. Die Entwicklungsphase wurde von der Firma ABC abgeschlossen.
Jetzt ist es an der Zeit, dass Unternehmen XYZ die formalen Funktionstests für Software A durchführt. XYZ beginnt mit dem Testen von Software A. Sie haben die Software sauber überprüft und nach zwei Testzyklen das 'Go' für die Live-Implementierung gegeben.
Trotz des Qualitätszertifikats des Testteams lief die Live-Implementierung nicht gut. Es gab viele Fehler in der Postproduktion. Es gab eine große Anzahl von Problemen, mit denen die Kunden konfrontiert waren, einschließlich einer Unterbrechung der Funktionalität für die End-to-End-Geschäftsprozesse.
Also was ist das jetzt?Problem?
- Ist es ein Problem mit einer Einschränkung der Zusammenarbeit zwischen dem Entwicklungs- und Testteam?
- Wurden die Anforderungen nicht zu 100% erfasst?
- Wurde das Produkt nicht in einer geeigneten Testumgebung getestet?
- Oder andere Ursachen?
Nach sorgfältiger Recherche und Analyse wird dieFolgendes wurde abgeleitet::
- Es gab nur wenige abhängige und voneinander abhängige Anwendungen, bei denen beim Abrufen der Antworten Leistungsprobleme auftraten.
- Die verwendeten Testeingaben waren nicht absolut.
- Die Robustheit der Software wurde nicht berücksichtigt.
- Viele Synchronisierungsprobleme zwischen den mehreren unabhängigen Anwendungen.
- Die Softwaretests hatten mehrere Überarbeitungen durchgeführt, die nicht berücksichtigt wurden.
Daher nach demAbhilfemaßnahmenPlanungsteam trat ein, die folgenden wurden vorgeschlagen:
- Die Interaktion zwischen dem Entwicklungsteam und dem Testteam muss verstärkt werden.
- Alle abhängigen Anwendungen müssen verbunden und in die Funktionsprüfung des Systems einbezogen werden
- Der Wert für das Anforderungs- und Antwortzeitlimit muss erhöht werden, um Platz für Nichtproduktionsumgebungen zu schaffen
- Bei Funktionstests müssen verschiedene Eingaben zwischen einfach und komplex verwendet werden
- Nichtfunktionale Tests, insbesondere die Leistungs- und Lasttests, müssen gemäß den Anweisungen des Abhilfeteams durchgeführt werden.
- Zusätzlich zu den Systemtests müssen Systemintegrationstests durchgeführt werden.
- Es muss eine minimale Zeitspanne zwischen zwei Testiterationen bereitgestellt werden. Dies dient zum erneuten Testen der zuvor identifizierten Fehler.
- Alle in früheren Iterationen identifizierten Fehler sollten in der aktuellen Iteration behoben werden.
Das Testteam hat alle vorgeschlagenen Maßnahmen umgesetzt, und in kurzer Zeit wurden zahlreiche Mängel festgestellt.
Beobachtungen:
- Der Live-Implementierungsplan der Software wurde durch die Optimierung der Testzykluszeiten erheblich verbessert.
- Bei der Optimierung der Softwarequalität wurden gute Fortschritte erzielt. Daher gab es einen enormen Rückgang der Support-Tickets nach der Implementierung.
- Nacharbeiten wurden verringert und Iterationen statt Nacharbeiten getestet. Zwischen den verschiedenen Iterationen wurden bessere Qualitätsverbesserungen beobachtet.
Fazit
Das Durchführen von nicht funktionalen Tests während der Ausführung von Funktionstests ist vorteilhafter und erhöht die Gesamtqualität der Software. Dadurch werden Leistungsfehler identifiziert (beschränkt auf die Testumgebung und die Abhängigkeit) und somit Situationen mit Annahmen zu Funktionsproblemen reduziert.
Es muss eine ausreichende Planung für die Durchführung von funktionalen und nicht funktionalen Tests (auf ein Mindestmaß) durchgeführt werden, um eine enge Beziehung zwischen den anderen Projektbeteiligten aufrechtzuerhalten.
Über den Autor: Dies ist ein Artikel von Nagarajan. Er arbeitet als Testleiter mit über 6 Jahren Testerfahrung in verschiedenen Funktionsbereichen wie Banking, Airlines, Telecom, sowohl manuell als auch automatisiert.
In unserem nächsten Tutorial erfahren Sie mehr über den Leistungstestplan und die Teststrategie.
=> Besuchen Sie hier für eine vollständige Reihe von Tutorials zu Leistungstests
PREV Tutorial | NÄCHSTES Tutorial
Literatur-Empfehlungen
- Funktionstests gegen nichtfunktionale Tests
- Beste Software-Test-Tools 2021 (QA Test Automation Tools)
- Leistungstests vs Lasttests vs Stresstests (Unterschied)
- Georgia Tech standardisiert seine Leistungstests auf RadView WebLOAD
- Unterschied zwischen Desktop-, Client Server-Tests und Web-Tests
- Testen von Primer eBook Download
- Die Unterschiede zwischen Unit Testing, Integration Testing und Functional Testing
- Cloud-Leistungstests: Cloud-basierte Lasttest-Dienstanbieter