Unterschied zwischen konventionellem Testen und objektorientiertem Testen
Konventionelle Tests vs. objektorientierte Tests
Software Testing ist einer der wichtigsten Schritte im Softwareentwicklungsprozess. Software-Tests stellen sicher, dass die entwickelte Software alle Kundenanforderungen erfüllt und fehlerfrei ausgeführt wird. Da sich die Softwareentwicklungsparadigmen und -techniken von der anfänglichen Entwicklung der Wasserfall-Software zu OOD / Agile und anderen neueren Konzepten verschoben haben, hat sich auch das Testen von konventionellen (traditionellen) Tests hin zu objektorientiertem Testen (OOT) verlagert. Da die Entwicklung des Wasserfalls jedoch immer noch im Einsatz ist, werden herkömmliche Tests immer noch von den Testern verwendet.
Was ist konventionelles Testen?
Konventioneller Testprozess findet meistens statt, wenn der Lebenszyklus von Wasserfällen für die Entwicklung von Software in Organisationen verwendet wird. Konventionelle Tests finden immer während der Testphase des Lebenszyklus statt, der üblicherweise der Entwicklungsphase folgt und die Implementierungsphase durchläuft. Während dieser Testphase werden hauptsächlich drei Arten von Tests durchgeführt. Systemtests stellen sicher, dass die Systemfunktionen den Kundenanforderungen entsprechen, die in der SRS (Software Requirements Specification) dokumentiert sind, in der Regel unter Verwendung eines Black-Box-Ansatzes. Der Integrationstest testet das vorläufige Design anhand eines Funktions- und Dekompositionsansatzes. Integrationstests basieren auf der Struktur des Designs, wobei entweder ein Top-Down- oder ein Bottom-up-Ansatz verwendet wird. Schließlich stellen Einheitentests sicher, dass das detaillierte Design korrekt ist.
Was ist objektorientiertes Testen?
Die objektorientierte (OO) Analyse und das Design zusammen mit Agile und anderen aktuellen Softwareentwicklungsmethoden führen zu objektorientiertem Testen. OO Entwicklung ist in der Regel auf das Verhalten konzentriert. Die Prüfung wird mit Schwerpunkt auf die Zusammensetzung durchgeführt. Das heißt, das Design wird Stück für Stück geschaffen und zusammen komponiert, um das vollständige System zu vervollständigen. Da für die OO-Entwicklung heutzutage Rapid Prototyping und irgendeine Form von inkrementellem Ansatz verwendet werden, sind die drei herkömmlichen Testebenen (System-, Integrations- und Unit-Tests) im OO-Design nicht eindeutig sichtbar (aber sie existieren meistens). Systemtests (unter OO-Tests) werden ähnlich wie bei herkömmlichen Tests durchgeführt (Blackbox) und die Anforderungsspezifikation überprüfen (weil die Anforderungen unabhängig vom Entwicklungsprozess überprüft werden müssen). Der Unit-Test unter objektorientierten Tests ist ähnlich wie bei herkömmlichen Unit-Tests, aber der grundlegende Unterschied ist die Definition der verwendeten Einheit. Momentan akzeptierte Einheiten, die für Einheitentests verwendet werden, sind Klassen und Methoden.
Was ist der Unterschied zwischen konventionellem Testen und objektorientiertem Testen?
Herkömmliches Testen ist der traditionelle Testansatz, der meistens durchgeführt wird, wenn der Lebenszyklus des Wasserfalls für die Entwicklung verwendet wird, während objektorientiertes Testen verwendet wird, wenn objektorientierte Analyse und Design zur Entwicklung von Unternehmenssoftware verwendet werden. Herkömmliche Tests konzentrieren sich eher auf Zersetzung und funktionelle Ansätze im Gegensatz zu objektorientierten Tests, bei denen die Zusammensetzung verwendet wird. Die drei Teststufen (System, Integration, Einheit), die bei herkömmlichen Tests verwendet werden, sind beim objektorientierten Testen nicht klar definiert. Der Hauptgrund dafür ist, dass die OO-Entwicklung einen inkrementellen Ansatz verwendet, während die traditionelle Entwicklung einem sequentiellen Ansatz folgt. Im Hinblick auf Unit-Tests sieht das objektorientierte Testen im Vergleich zu herkömmlichen Tests viel kleinere Einheiten vor.