Kursinhalt
Einführung in die QA-Automatisierungstests
Einführung in die QA-Automatisierungstests
Einführung in das Unit Testing
Unit-Test ist eine Art von Testfall, der entwickelt wurde, um die Funktionalität einer bestimmten Einheit innerhalb des Codes zu überprüfen. Eine Einheit bezieht sich typischerweise auf den kleinsten testbaren Teil einer Anwendung, wie eine Funktion, Methode, Klasse oder ein Modul. Das Ziel eines Unit-Tests ist es sicherzustellen, dass diese Komponente sich wie erwartet verhält, isoliert vom Rest des Programms.
In diesem Kapitel werden wir lernen, wie man einige sehr grundlegende Unit-Tests für unsere Anwendung schreibt. Obwohl eine formelle Einführung in das Unit-Testing im nächsten Abschnitt erfolgt, zielt dieses Kapitel darauf ab, das Wesen des Unit-Testings durch JavaScript zu erklären, indem wir unsere eigene benutzerdefinierte Testfunktion verwenden, anstatt ein Test-Framework zu nutzen.
Es ist wichtig zu beachten, dass wir im Unit-Testing die Einheit für so viele Fälle oder Eingaben wie möglich testen wollen. Es ist wichtig, alle möglichen Randfälle einzubeziehen, wenn man Unit-Tests schreibt. Das Wissen über den Code einer Einheit erleichtert es, potenzielle Randfälle zu finden.
Randfall: Ein Randfall bezieht sich auf Szenarien oder Eingaben, die an den extremen Enden des Eingaberaums liegen. Diese Bedingungen oder Eingaben sind nicht unbedingt ungewöhnlich, aber sie befinden sich an den Grenzen dessen, was die Funktion zu handhaben erwartet wird.
Eingaberaum: Der Eingaberaum bezieht sich auf die Gesamtheit aller möglichen Eingaben, die eine Funktion akzeptieren kann.
Um Randfallszenarien zu verstehen, betrachten wir eine Funktion namens calculateAverage
:
function calculateAverage(numbers) { if (numbers.length === 0) { return null; } let sum = 0; for (let i = 0; i < numbers.length; i++) { sum += numbers[i]; } return sum / numbers.length; } console.log(calculateAverage([])); // Output: null console.log(calculateAverage([42])); // Output: 42 console.log(calculateAverage([1e10, 2e10, 3e10])); // Output: 20000000000 console.log(calculateAverage([-1, -2, -3, -4, -5])); // Output: -3
Im Folgenden sind Beispiele für einige Randfälle, die einige einzigartige Situationen für die obige Funktion untersuchen:
Übergeben eines leeren Arrays
- Eingabe:
[]
; - Erwartete Ausgabe:
null
;
Übergeben eines Arrays mit einem einzigen Element
- Eingabe:
[42]
; - Erwartete Ausgabe:
42
;
Übergeben eines Arrays mit großen Zahlen
- Eingabe:
[1e10, 2e10, 3e10]
; - Erwartete Ausgabe:
2e10
;
Übergeben eines Arrays mit negativen Zahlen
- Eingabe:
[-1, -2, -3, -4, -5]
; - Erwartete Ausgabe:
-3
;
Das Übergeben eines leeren oder eines einzelnen Element-Arrays ist eine unwahrscheinliche Verwendung der calculateAverage
-Funktion, jedoch ist es immer noch eine mögliche Eingabe. Daher ist es nützlich, die Funktion für diese Szenarien zu testen - dasselbe gilt für die anderen Randfälle. Das Testen aller möglichen Randfälle gewährleistet die Robustheit der getesteten Einheit.
1. Frage 1: Was ist das Hauptziel von Unit-Tests in der Softwareentwicklung?
2. Worauf bezieht sich ein Randfall im Kontext von Unit-Tests?
Danke für Ihr Feedback!