Parasoft C/C++test 2022.2 unterstützt das neue MISRA C:2012 Amendment 3 und eine Entwurfsversion von MISRA C++ 202x. Erfahren Sie mehr >>

Folgen Sie dem Pfad der Testpyramide, um kontinuierliche Tests zu erreichen

Von Markus Lambert

11. September 2019

4  min lesen

Da die Softwareentwicklung mit Dingen wie Microservices, Containern und APIs immer komplexer wird und die Nachfrage nach schnelleren Releases steigt, kann das Testen wie gewohnt als umständlicher, fehl am Platz befindlicher Schritt im Bereitstellungsprozess angesehen werden. In diesem Beitrag erfahren Sie, wie Sie es umdrehen.

Kontinuierliche Tests zu erreichen ist nicht so, als würde man der gelben Backsteinstraße folgen… oder doch? Obwohl es einfach klingt, gibt es verschiedene Tests und Fallen und Tricks, um dorthin zu gelangen, wo Sie hin müssen. Unternehmen, die agile Entwicklungs- und DevOps-Methoden angewendet haben, wissen, dass es schwierig ist, mit diesen modernen Entwicklungspraktiken Schritt zu halten. Tools, die Dinge wie Testautomatisierung und kontinuierliches Testen nicht ermöglichen, behindern ihre Bemühungen.

Aber wie Agil und DevOps, mit kontinuierlichem Testen Es gibt nicht die eine richtige Antwort, um Dinge zu tun, und das kann es für Unternehmen schwierig machen, klar zu verstehen, wo sie anfangen sollen. Ein gewisses Maß an Testautomatisierung aus funktionaler Sicht ist die Grundlage für kontinuierliches Testen. Service-Virtualisierung ist eine Schlüsseltechnologie für kontinuierliches Testen; Damit Sie jedoch überhaupt die Vorteile der Service-Virtualisierung nutzen und wirklich ein echter Continuous-Testing-Praktiker werden können, müssen Sie zunächst ein gewisses Maß an Testautomatisierung haben.

Viele Unternehmen beginnen mit der einfachen Automatisierung von UI-Tests. Um jedoch kontinuierliche Tests zu ermöglichen, müssen sich Unternehmen darauf konzentrieren, eine skalierbare Testautomatisierungspraxis zu erstellen, die der von Mike Cohn (in seinem Buch) definierten Testpyramide folgt. Erfolg mit Agile) und agiler Vordenker Martin Fowler. An der Basis der Pyramide befindet sich eine Grundlage für Komponententests, die isoliert sind und schneller ausgeführt werden können. Wenn Sie die Pyramide nach oben bewegen, werden die zu testenden Assets stärker integriert und die Ausführung dauert länger. In der Mitte der Pyramide führen Sie Service-Integration oder API-Tests durch, die den Sweet Spot für die Automatisierung von Funktionstests darstellen. End-to-End-UI-Tests sind das kleinste Teil, das die Pyramide abrundet.

Optimieren Sie für API-Tests, um die erste Phase des kontinuierlichen Testens zu erreichen

Wenn Sie kontinuierliche Tests durchführen möchten, ist eine Grundlage für Komponententests gegeben, und API-Tests werden zur kritischen Ebene für die Validierung Ihrer Anwendungsfälle. Sie möchten auch die Verwendung von End-to-End-UI-Tests oben in der Pyramide optimieren. Sie sollten UI-Tests nicht eliminieren, aber Sie möchten sie so effizient und fokussiert wie möglich gestalten, da Sie sich um die Wartung dieser Tests kümmern müssen, was sehr zeitintensiv sein kann.

Nachdem dies geschehen ist, erreichen Unternehmen die erste Wertphase durch kontinuierliche Tests - frühere Identifizierung von Regressionen - und der beste Weg, diese Regressionen zu finden, ist auf API-Ebene, da sie schneller ausgeführt werden können, einfacher zu diagnostizieren sind und einfacher zu reproduzieren als ihre Cousins ​​auf UI-Ebene.

Entsperren der zweiten Wertphase aus dem kontinuierlichen Testen

Sobald Sie Ihre Einheiten- und Funktionstests ausgeführt haben und die Service-Virtualisierung verwenden, um Ihre Regressionstests kontinuierlicher auszuführen, können Sie Ihre nicht funktionalen Geschäftsanforderungen überprüfen - z. B. Leistung und Sicherheit.

Im Fall der Leistung ist es beispielsweise für Entwicklungsteams sehr einfach, inkrementelle Leistungsprobleme in die Anwendung einzuführen, ohne es überhaupt zu bemerken, und es ist wichtig, diese Probleme frühzeitig im Entwicklungsprozess zu erkennen, um sicherzustellen, dass die allgemeinen Leistungsmerkmale der Anwendung nicht vorhanden sind außerhalb Ihres definierten Service Level of Agreement (SLA).

Hier können Sie Ihre kontinuierliche Testpraxis nutzen, um Leistungstests nach links zu verschieben. Wenden Sie zunächst die Service-Virtualisierung an, um Ihren Teil des Systems zu isolieren und die Leistungsengpässe in der Testinfrastruktur zu beseitigen. Nehmen Sie dann Ihre robusten API-Tests und verwenden Sie sie erneut, um eine Belastung Ihres Teils des Gesamtsystems zu generieren. Integrieren Sie abschließend die Ausführung der Leistungstests in Ihre CI-Pipeline und führen Sie diese Tests kontinuierlich aus. Dies ist der Zeitpunkt, an dem Sie wirklich beginnen, Ihre zweite Wertphase durch kontinuierliche Tests zu erreichen.

Parasoft-Technologien, die kontinuierliches Testen Wirklichkeit werden lassen

Bei Parasoft umfassen unsere Tools Einheit, Funktion, Benutzeroberfläche und Regressionstests, um unseren Kunden zu helfen, qualitativ hochwertige Software zu liefern, die auch die Wünsche und Bedürfnisse der Endbenutzer erfüllt. Wir arbeiten an allem, von Unit- und Funktionstests der API und der Benutzeroberfläche über Testdatenmanagement, Einhaltung von Sicherheitsbestimmungen bis hin zu Änderungsmanagement und vielem mehr.

Nach der Testpyramide können Sie an der Basis beginnen und erhalten Parasoft C / C ++ testParasoft dotTESTund Parasoft Jtest Entwicklungstest-Tools, die beispielsweise statische Analysen zur Aufdeckung einer hohen Zuverlässigkeit und Sicherheit (mit Unterstützung der Standards OWASP, CWE und CERT), Unit-Tests, Abdeckung und Rückverfolgbarkeit abdecken.

Wenn Sie die Pyramide hinauffahren, können Sie sie nutzen Parasoft SOAtest, unsere funktionale Testlösung, die sich auf die Validierung von Anwendungen auf API-Ebene konzentriert. Um Organisationen beim Umzug zu helfen manuelle Tests bis hin zu automatisierten API-Tests, können Sie den Smart API Test Generator von SOAtest verwenden, der wirksam ist KI und maschinelles Lernen zum Erstellen von Testszenarien aus Datenbeziehungen, die aus dem aufgezeichneten Anwendungsverkehr extrahiert wurden.

Um das Versprechen kontinuierlicher Tests wirklich zu erfüllen, können Sie die Service-Virtualisierung mit nutzen Parasoft VirtualisierenDadurch können Unternehmen die Testautomatisierung von Einschränkungen in der Testumgebung entkoppeln. Dies ermöglicht echte kontinuierliche Tests und ermöglicht die kontinuierliche Ausführung automatisierter Tests in der gesamten CI-Pipeline.

Automatisieren Sie zeitaufwändige Testaufgaben für Entwickler und Tester

Von Markus Lambert

Mark, Vice President of Products bei Parasoft, ist dafür verantwortlich, dass Parasoft-Lösungen den Unternehmen, die sie einsetzen, einen echten Mehrwert bieten. Mark ist seit 2004 bei Parasoft und arbeitet mit einem breiten Querschnitt von Global 2000-Kunden zusammen, von spezifischen Technologieimplementierungen bis hin zu umfassenderen Initiativen zur Verbesserung von SDLC-Prozessen.

Erhalten Sie die neuesten Nachrichten und Ressourcen zum Testen von Software sofort.