Antwort Wie erstelle ich einen Unit Test? Weitere Antworten – Wie macht man Unit-Tests
Ein Unit-Test besteht typischerweise aus drei Stufen: Planung, Testfälle und Skripting sowie dem Unit-Test selbst. Im ersten Schritt wird der Unit-Test vorbereitet und überprüft. Im nächsten Schritt werden die Testfälle und Skripte erstellt, dann wird der Code getestet.Best Practices für Unit-Tests
- Komponententests sollten vertrauenswürdig sein.
- Komponententests sollten wartbar und lesbar sein.
- Unit-Tests sollten einen einzelnen Anwendungsfall bestätigen.
- Komponententests sollten isoliert werden.
- Unit-Tests sollten automatisiert werden.
Entwickler und Softwaretester können Unit-Tests manuell durchführen, indem sie Unit-Testfälle schreiben, die den Code in der Entwicklung testen, um sicherzustellen, dass das Verhalten auf niedrigerer Ebene wie erwartet ist.
Welche Eigenschaften sollte ein Unit-Test erfüllen : Was zeichnet einen guten Unit-Test aus
- sind isoliert: Sie sind voneinander unabhängig, so dass die Reihenfolge ihrer Ausführung das Testergebnis nicht beeinflusst.
- sichern jeweils genau eine Eigenschaft ab.
- sind vollständig automatisiert, damit sie auch bei erhöhtem Projektdruck noch häufig ausgeführt werden.
Wann sind Unit-Tests sinnvoll
In den Situationen, in denen man komplexe Businesslogik ohne Abhängigkeiten hat, sind Unit-Tests sicherlich sinnvoll. Diese Situation gibt es aber verhältnismäßig selten. In allen anderen Fällen eignen sich Integrationstests häufig besser.
Was ist ein Test Set : Ein Test-Set ist eine Kombination einzelner Tests oder Test-Dimensionen, die gemeinsam in einer Testsitzung vorgegeben werden, ähnlich einer Testbatterie.
In den Situationen, in denen man komplexe Businesslogik ohne Abhängigkeiten hat, sind Unit-Tests sicherlich sinnvoll. Diese Situation gibt es aber verhältnismäßig selten. In allen anderen Fällen eignen sich Integrationstests häufig besser.
Die drei Hauptgütekriterien eines Testes sind Objektivität, Reliabilität und Validität. Zudem gibt es eine Vielzahl an Nebengütekriterien, zu den wichtigsten gehört die Normierung, die Testfairness, Nützlichkeit, Ökonomie, Unverfälschbarkeit und Zumutbarkeit.
Was gehört in ein testkonzept
Das Testkonzept beschreibt die Testziele, Testobjekte, Testarten, Testinfrastruktur sowie die Testorganisation. Es umfasst ebenfalls die Testplanung und die Testfallbeschreibungen. Für jeden Testfall wird eine detaillierte Testfallbeschreibung erstellt. Diese stellt die Spezifikation des Tests dar.Unter einem Regressionstest (von lateinisch regredior, regressus sum ‚zurückschreiten') versteht man in der Softwaretechnik die Wiederholung von Testfällen, um sicherzustellen, dass Modifikationen in bereits getesteten Teilen der Software keine neuen Fehler („Regressionen“) verursachen.Integrationstests sollen, wie alle Software-Tests, die Qualität der Software verbessern, indem sie Fehler finden. Dazu prüfen sie, ob die Schnittstellen von zwei und mehr Software-Komponenten (auch Module oder Units genannt) zueinander passen. Eine Raumsonde stürzte ab, obwohl alle Module vollständig getestet waren.
Testmethoden
- Funktionaler Test.
- Nichtfunktionaler Test. Last- und Performanztest. Internationalisierungstest (I18N) Lokalisierungstest (L10N) Kompatibilitätstest. Security Test. Usability Test. Test der Dokumentation.
- Reviews.
- Inspektionen.
- Code Analyse.
- Modul- und Komponententest.
- Integrationstest.
- Systemtest.
Was sind die Gütekriterien von Tests : Die drei Hauptgütekriterien sind: Objektivität, Reliabilität und Validität. Sie wurden im Rahmen der statistischen Testtheorie entwickelt.
Wann wird das testkonzept erstellt : Es wird im Rahmen der Planung eines Testprojekts erstellt und dokumentiert die Ergebnisse der Testplanung. Es dient außerdem der Kommunikation und Abstimmung der Testaktivitäten sowohl mit dem Auftraggeber des Testprojekts als auch mit dem Testteam selbst.
Wann Regressionstest
Regressionstests werden immer dann notwendig, wenn der Code einer Software geändert wird, um neue Funktionen hinzuzufügen. Dadurch wird überprüft, ob der neue Code mit dem bestehenden kompatibel ist oder ob durch die neuen Funktionen Probleme und Fehler in der Anwendung auftreten.
Regression ist ein Prozess, in dem das Ich aus Angst vor den Triebwünschen des Es oder den Forderungen des Über-Ich bereits erworbene Positionen der Reife und der damit verbundenen Fähigkeiten aufgibt und sich auf frühere Positionen zurückzieht, die „Fixierungsstellen“ genannt werden.Integrationstests werden dann eingesetzt, wenn das reibungslose Zusammenspiel zwischen den einzelnen Bestandteilen des Systems garantiert werden soll. Fehler bei der Integration können aufgrund mehrerer Faktoren auftreten, wie z.B. die Verwendung eines externen Systems, die abweichende Kommunikationsformate verwendet.
Welche Arten von Softwaretests gibt es : Die unterschiedlichen Arten von Tests
- Unit-Tests. Unit-Tests sind sehr einfach und erfolgen nah an der Quelle der Anwendung.
- Integrationstests.
- Funktionstests.
- End-to-End-Tests.
- Akzeptanztests.
- Leistungstests.
- Smoke-Tests.