Was ist der Unterschied zwischen Unit-, Funktions-, Akzeptanz- und Integrationstests (und allen anderen Testarten, die ich nicht erwähnt habe)?
Antworten
Zu viele Anzeigen?Einige (relativ) neue Ideen gegen übermäßiges Mocking und reines Unit-Testing:
- https://www.simple-talk.com/dotnet/.net-framework/are-unit-tests-overused/
- http://googletesting.blogspot.com/2013/05/testing-on-toilet-dont-overuse-mocks.html
- http://codebetter.com/iancooper/2011/10/06/avoid-testing-implementation-details-test-behaviours/
- http://cdunn2001.blogspot.com/2014/04/the-evil-unit-test.html
- http://www.jacopretorius.net/2012/01/test-behavior-not-implementation.html
- Warum die meisten Unit-Tests Verschwendung sind
Ich werde Ihnen dies anhand eines praktischen Beispiels und ohne Theorie erklären:
Ein Entwickler schreibt den Code. Es ist noch keine GUI implementiert. Beim Testen auf dieser Ebene wird überprüft, ob die Funktionen richtig funktionieren und die Datentypen korrekt sind. Diese Phase des Testens wird Unit-Testing genannt.
Wenn eine grafische Benutzeroberfläche entwickelt und die Anwendung einem Tester zugewiesen wird, überprüft dieser die Geschäftsanforderungen mit einem Kunden und führt die verschiedenen Szenarien aus. Dies wird als funktionales Testen bezeichnet. Hier bilden wir die Kundenanforderungen mit den Anwendungsabläufen ab.
Integrationstests: Nehmen wir an, unsere Anwendung hat zwei Module: HR und Finanzen. Das HR-Modul wurde bereits geliefert und getestet. Jetzt ist das Finanzmodul entwickelt und steht zum Testen zur Verfügung. Die voneinander abhängigen Funktionen sind jetzt ebenfalls verfügbar. In dieser Phase werden Sie also die Kommunikationspunkte zwischen den beiden Modulen testen und überprüfen, ob sie wie in den Anforderungen gefordert funktionieren.
Regressionstests sind eine weitere wichtige Phase, die nach jeder Neuentwicklung oder Fehlerbehebung durchgeführt wird. Ihr Ziel ist es, zuvor funktionierende Funktionen zu überprüfen.
Unit-Test: Testen von einzelnen Modulen oder unabhängigen Komponenten in einer Anwendung ist bekannt als Unit-Test, der Unit-Test wird vom Entwickler durchgeführt.
Integrationstest: Kombination aller Module und Testen der Anwendung, um zu überprüfen, ob die Kommunikation und der Datenfluss zwischen den Modulen ordnungsgemäß funktionieren oder nicht.
Funktionstest Die Überprüfung der einzelnen Funktionen einer Anwendung wird als Funktionstest bezeichnet.
Abnahmeprüfung Diese Prüfung wird vom Endbenutzer oder Kunden durchgeführt, um festzustellen, ob die erstellte Anwendung den Kundenanforderungen und der Kundenspezifikation entspricht, was als Akzeptanzprüfung bezeichnet wird.
- See previous answers
- Weitere Antworten anzeigen