Hinweis: Dieser Blogbeitrag stammt aus der Zeit vor dem Zusammenschluss und wurde von ARS realisiert – heute Teil von ATVANTAGE. Unsere Erfahrung bleibt – nur unser Name hat sich geändert. Hier finden Sie weitere Informationen rund um die Fusion.

Demokratisierung von Softwaretests

Lesezeit: 4 Minuten

Herkömmliche Tests von Software-Systemen sind häufig sehr technisch und detailliert, was die Beteiligung von nichttechnischen Stakeholdern und Product Managern ausschließt. Dies führt dazu, dass die Tests auf die QA oder die Entwicklungsabteilung konzentriert bleiben. Das Ergebnis ist eine eingeschränkte Perspektive auf Probleme und Lösungen. Im Folgenden wollen wir die Schwierigkeiten und Konsequenzen dieses herkömmlichen Ansatzes genauer beleuchten.

Schwierigkeiten des traditionellen Testens

Das Begrenzen der Testaktivitäten auf Entwickler oder spezialisierte Tester kann zu einer Reihe von Problemen führen:

  • Eingeschränkte Perspektive: Entwickler und Tester haben oft eine technisch orientierte Sichtweise. Dies kann dazu führen, dass wichtige Aspekte der Benutzererfahrung oder Geschäftsziele übersehen werden, die von anderen Stakeholdern wie Marketing, Vertrieb oder sogar Endkunden besser verstanden würden. Diese eingeschränkte Perspektive kann die Zufriedenheit der Nutzer beeinträchtigen und den wirtschaftlichen Erfolg des Produkts mindern.
  • Verzögerte Fehlererkennung: Wenn Tests nur von einer kleinen Gruppe durchgeführt werden, bleiben Fehler oft unentdeckt, bis sie in späteren Phasen teurer und zeitaufwendiger zu beheben sind. Das kann zum Beispiel den Produktstart verzögern und die Entwicklungskosten in die Höhe treiben.
  • Kommunikationsschwierigkeiten: Das Fehlen einer gemeinsamen Sprache zwischen technischen und nichttechnischen Teammitgliedern kann zu Missverständnissen führen. Diese Kommunikationslücken können die Zusammenarbeit erschweren und die Effizienz des Projekts beeinträchtigen.
  • Isolierung und fehlende Zusammenarbeit: Durch das isolierte Arbeiten der Entwickler und Tester kann sich eine Kluft zwischen den verschiedenen Abteilungen des Teams bilden. Diese Trennung erschwert die Zusammenarbeit und kann verhindern, dass das Team eine ganzheitliche Betrachtung des Produkts erreicht. Der Mangel an Interaktion zwischen den verschiedenen Rollen führt oft zu Reibungen und Missverständnissen, die den gesamten Entwicklungsprozess behindern können.
  • Qualitätsverlust: Die Beschränkung des Testens auf eine kleine Gruppe von Spezialisten kann zu einer niedrigeren Gesamtqualität des Endprodukts führen. Nicht alle Aspekte wie Benutzerfreundlichkeit, Kompatibilität oder Performance können gleichermaßen berücksichtigt werden. Dies kann zu einem Produkt führen, das zwar technisch funktioniert, aber in anderen wichtigen Bereichen Mängel aufweist.

Diese Probleme zeigen deutlich, dass eine Änderung der traditionellen Testmethoden notwendig ist, um eine qualitativ hochwertige und zeit- und kosteneffiziente Softwareentwicklung zu ermöglichen.

Hier können Testtools wie Cypress und Cucumber eine entscheidende Rolle spielen. Indem sie eine Brücke zwischen technischen und nichttechnischen Teammitgliedern bauen und das Schreiben von Tests in einer Sprache ermöglichen, die von allen verstanden werden kann, fördern sie die Zusammenarbeit im Testprozess. Die damit einhergehende größere Perspektiven- und Kompetenzenvielfalt ermöglicht schlussendlich ein Produkt, das besser, billiger und inklusiver ist.

Cypress

Cypress ist ein Testing Tool, welches die Automatisierung von Unit-, Integrations- und E2E-Tests im Frontend ermöglicht. Die Lernkurve, um Cypress Tests zu schreiben, ist flach und durch die BDD-Syntax (Behavior Driven Development) leicht verständlich.

Cypress Tests werden in Spec Files hinterlegt und folgen einer ähnlichen Struktur und Syntax anderer Testframeworks. Mit 'describe' können Tests gruppiert werden. Der einzelne Testfall wird in 'it' Blöcken festgehalten. 'beforeEach' und 'afterEach' werden verwendet, um die Konfiguration für die Testfälle vorzubereiten und nach Ausführung dieser aufzuräumen.

Kommandos wie cy.visit und cy.click ermöglichen die Steuerung des Browser wie das Aufrufen einer Seite oder Klicken eines Buttons. Diese sind besonders bei End-to-End Tests von hoher Relevanz.

Am Ende der Tests stehen die Assertions, die in Cypress so aussehen 'expect(Ergebnis).to.equal(Erwartung)' oder '.should(‚equal‘. Erwartung)'. Die Assertions können mit weiteren Schlüsselwörtern detailliert geschrieben und angepasst werden, um die fachliche Richtigkeit der Umsetzung zu beschreiben.

Neben der intuitiven Möglichkeit der Verwendung des Tools und Stabilität der Tests, bietet Cypress unter anderem Features wie Time Travel oder automatisiertes Warten, weshalb es momentan ein beliebtes und weit verbreitetes Testwerkzeug für JavaScript ist.

 

Wie bereits erwähnt, ist Cypress ein Testframework, mit welchem man jegliche Art von Tests in JavaScript schreiben kann, jedoch sind meistens die E2E-Tests im Kontext mit Cucumber gemeint.

Cucumber

Cucumber ist ein Tool, welches BDD unterstützt und die Kommunikation zwischen dem technischen und nicht-technischen Team verbessert. Die Tests werden in Gherkin geschrieben und haben eine durch Schlüsselwörter (Given-When-Then) vorgegebene Struktur und stellen das fachliche Verhalten eines Software-Features dar. Die Bedeutung der Wörter ist wie folgt:

  • Feature: sollte eine grobe Beschreibung des Features beinhalten
  • Example/Scenario: ist ein konkretes Beispiel, welches den Geschäftsfall definiert
  • Given: hier wird die Vorbedingung des Tests beschrieben
  • When: beschreibt die Aktion, die ausgeführt wird
  • Then: definiert das erwartete Resultat
  • And, But: um besser lesbare Tests zu erhalten, können die Vorbedingungen und Resultate aufgelistet werden

Darüber hinaus gibt es weitere primäre Schlüsselwörter wie Background, Rule, Scenario Outline, mit denen die Tests weiter vereinheitlicht und spezifiziert werden können.
Sekundäre Schlüsselwörter wie '#', '@', '"""' oder '|' werden für Kommentare, Tags, Dokumentation und tabellarische Darstellung verwendet.

 

Diese Beschreibungen werden in sogenannten Gherkin Feature Files abgelegt, welche zugleich auch eine Gruppierung der Tests darstellen. Die Tests werden in der Sprache der Anwender geschrieben, da Übersetzungen vermieden werden sollen. Aus diesem Grund sind die Gherkin Schlüsselwörter in bis zu 70 Sprachen vorhanden.

 

Natürlich ist es möglich, für jede Eingabe einen Test zu schreiben. Dies führt jedoch dazu, dass viele redundante Testbeschreibungen existieren. Um dies zu vermeiden, werden Datentabellen für das Testen von verschiedenen Datensätzen verwendet. Im vorherigen Beispiel sollen für den Titel des Tasks verschiedene Eingaben gemacht und deren Resultate überprüft werden. Dafür wird das Feature File folgendermaßen umgeschrieben:

 

Wir haben nun gesehen, dass beide Werkzeuge intuitiv zu verwenden sind. Jedoch bleibt die Frage offen, wie man aus einem Gherkin Feature File einen lauffähigen Cypress Test erhält?

Für eine Umwandlung werden sowohl ein Preprocessor, welcher die Feature Files in Cypress Tests umwandelt, als auch die Step Definitions benötigt. Zum Preprocessor ist noch anzumerken, dass verschiedene Implementierungen existieren, diese sich jedoch nur im Detail unterscheiden.

Zu den einzelnen Schritten in den Feature Files müssen noch Step Definitions in Cypress definiert/geschrieben werden. Dabei werden nur die Schritte definiert, die für einen erfolgreichen Testlauf von Bedeutung sind, d.h. Schritte wie Funktionalität, ein Kommentar oder Szenario werden nicht in die Step Definitions aufgenommen, da sie nur von informativer Natur sind.

Abgeleitet aus dem Feature Files Beispiel mit der Datentabelle werden also folgende Schritte in eine Step Definition Datei übernommen:

 

Im Feature File wird eine Datentabelle für die Beschreibung Wenn und Dann benutzt. Entsprechend sind die Schritte in den Step Definitions zu parametrisieren.

Fazit

Cypress und Cucumber bilden ein starkes Team, das die Teststrategie verbessern und vielleicht sogar revolutionieren kann. Die Tests können jedoch nicht von Beginn eines Projektes alleine von nicht-technischen Stakeholdern umgesetzt werden. Es bedarf noch Entwickler bzw. technische Mitglieder eines Teams, die sowohl das Projekt entsprechend vorbereiten als auch die Step Definitions implementieren.

Die Umsetzung der Step Definitions wird am Anfang des Projektes noch aufwendig sein, aber nach und nach können bestimmte Schritte, wie beispielsweise die Navigation zu einer Seite, wiederverwendet werden. Somit kann ein nicht-technischer Stakeholder im Laufe des Entwicklungsprozesses immer selbstständiger Tests implementieren und dadurch die technischen Stakeholder beim Testen unterstützen. Kein Testing-Tool ersetzt jedoch klare Testgrenzen, eine gute Organisation und eine saubere Implementierung. Bei der anfänglichen Einbindung in eine Test-Infrastruktur können auch andere Hürden auftreten, die jedoch mit guter Planung überwunden werden können.

Mögliche Widerstände und Schwierigkeiten, die berücksichtigt werden sollten, sind unter anderem:

Fehlender Wille: Ein Mangel an Engagement oder Verständnis für die Vorteile dieser Tools kann die Einführung behindern.

Konservative Einschätzungen: In einigen Organisationen könnte es eine Neigung geben, an bewährten Methoden festzuhalten, was die Einführung neuer Tools verlangsamen würde.

Verschiebungen des Aufwands: Obwohl die Einführung dieser Tools langfristig Vorteile hat, könnte sie zunächst zusätzliche Ressourcen in Form von Schulung, Anpassung und Integration erfordern. Ebenso sollten die Konsequenzen bedacht werden, die der Mehraufwand zum Beispiel auf Seiten des Product Owners mit sich bringt und ob dieser überhaupt die Zeit dafür aufbringen kann.

Technische Hürden: Die Integration in bestehende Systeme könnte technisch anspruchsvoll sein und spezialisiertes Wissen erfordern.

Darüber hinaus sollte man sich immer schon vor dem eigentlichen Testen im Klaren darüber sein, welchen Umfang die Tests haben sollen, was genau abgetestet werden soll und wann und wo die Tests laufen. Alle diese Faktoren sollten sorgfältig geplant und abgewogen werden, um sicherzustellen, dass die Einführung von Cypress und Cucumber reibungslos verläuft. Wenn man das alles bedenkt, ist der Weg für eine neue und grandiose Testerfahrung geebnet und kann mit Freude begangen werden, trotz der möglichen Herausforderungen, die überwunden werden müssen.

Blogautoren

Gerhard Knapp
Softwareentwickler ATVANTAGE GmbH
David Nguyen
Softwareentwickler ATVANTAGE GmbH

Mit uns arbeiten

Sie suchen einen Partner, der nicht nur berät, sondern mit Ihnen gemeinsam gestaltet? Ob Strategie, Technologie oder Umsetzung – wir unterstützen Sie entlang der gesamten digitalen Wertschöpfungskette. Lernen Sie unsere Leistungen kennen und finden Sie genau den Einstieg, der zu Ihren Zielen passt.

Bei uns arbeiten

Du willst nicht nur abwarten, was als nächstes passiert, sondern es mitgestalten? Dann bist du bei uns genau richtig. Wir suchen Menschen mit Haltung, Leidenschaft und Lust auf Wirkung – Entwickler:innen, Strateg:innen, Consultants und Kreative, die mit uns digitale Lösungen vorantreiben möchten.

novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog 30.10.19

Testen von Angular Anwendungen mit Cypress

Cypress ist ein End-to-End Testing Framework, mit dem man einfache Tests erstellen kann, die in Echtzeit ausgeführt werden. Mit Cypress kann man auch Snapshots von den einzelnen Schritten während der Testausführung sehen. Tests können schnell erstellt werden, ohne dass bestimmte Server oder Driver benötigt werden.

Google Logo
Technologie 29.06.20

Google

Wenn wir an Google denken, denken wir an die Google Suche und Google Ads.

IT Modernization
Service

IT Modernization

Wir helfen Ihnen dabei, Ihre IT ins digitale Zeitalter und in Einklang mit Ihrer Business-Strategie zu bringen.

Digitale Hand mit schützendem Regenschirm – Symbol für Sicherheit in Finanz- und Versicherungsdienstleistungen.
Branche 24.09.20

Insurance

IT‑Lösungen für moderne Versicherungsunternehmen

News

ARS Event: KI meets Finance & Insurance

Am 20.11.2019 versammeln sich CxOs, Innovation Manager und Risk Manager zum ARS Event: KI meets Finance & Insurance 2019 in Nürnberg, um über die Zukunft der Finanzbranche zu diskutieren.

Digitale Aktenordner auf dunklem Hintergrund – Verwaltungsdigitalisierung im öffentlichen Sektor.
Branche

Öffentliche Verwaltung

Wie gelingt die Digitalisierung der öffentlichen Verwaltung in der Praxis? Die TIMETOACT GROUP zeigt, wie Cloud, IT-Sicherheit und KI Prozesse spürbar beschleunigen.

Technologie Übersicht

HCL

Als „HCL Platinum Business Partner“ haben wir seit Jahren Erfahrung mit diesen Tools und werden diese auch in Zukunft für Sie betreuen.

Logo Armacell
Referenz

Gebündelte Kompetenz für schnelle Mailmigration nach M365

TIMETOACT unterstützt gemeinsam mit novaCapta als Managed Service Partner Armacell für eine erfolgreiche Mailmigration ► Jetzt Success Story lesen

Event 07.09.21

IT Jobtag 2021

TIMETOACT GROUP als attraktiver Arbeitsplatz für IT Berufe

Oct 06
Social 24.11.22

TIME TO RUN - unser 3. eigener Firmenlauf!

Bei unserem 3. eigenen Firmenlauf zeigten sich unsere Kolleg:innen von ihrer sportlichen Seite.

Sep 24
Social 12.10.21

Hackathon – Kreativzeit für unsere Entwickler

Vom 30.09. bis 02.10. hat unser TIMETOACT Hackathon erneut stattgefunden. Wie so ein Event bei TIMETOACT aussieht, erfährst Du hier!

Event 19.10.21

Enterprise Identity Roadshow

"The Future of Identity is Here" lautet der Leitsatz der ersten Enterprise Identity Roadshow am 18. November in München. Treffen Sie die IAM-Experten der TIMETOACT GROUP und tauschen Sie sich zu Innovationen und Fallstudien rund um Cybersicherheit aus.

Nov 18
Standort 17.11.20

Unsere Standorte

Wir sind Ihr Partner für die Digitalisierung vor Ort: Unsere Standorte in Deutschland, Österreich, der Schweiz, Lettland und Malaysia.

Unternehmen

catworkx - Partner für die gesamte Atlassian-Produktpalette

catworkx ist einer der größten Atlassian Platinum und Enterprise Solution Partner in der DACH-Region, der sich zu 100 Prozent auf Atlassian-Lösungen spezialisiert hat.

Unternehmen

Anfahrt zur TIMETOACT GROUP in Köln

Egal ob mit dem Auto, mit dem Zug oder mit dem Flugzeug: Wir zeigen Ihnen, wie Sie am besten zu ins in den Mediaparkt nach Köln kommen.

Teamarbeit mit Tasse und Tastatur
Referenz

HCL Connections und ICEC vereinen sich zu einem globalen, cl

SikaWorld 2.0 in der Schweiz – Connections und das Connections Engagement Center vereinen sich zu einem globalen, cloud-basierten Social Intranet für 15.000 User.

Referenz

Beratung zur ivv Kollaborationsstrategie

Die zukünftige Kollaboration der ivv ist geprägt durch moderne Kommunikations- und Kollaboration-Werkzeuge und für das organisationsübergreifende Arbeiten im Verbund und mit Externen definiert.

Articifial Intelligence & Data Science
Service

Artificial Intelligence & Data Science

Aus strukturierten und unstrukturierten Daten wertvolle Informationen extrahieren — das verbirgt sich hinter Data Science.

Analytics und Business Intelligence
Service

Analytics & Business Intelligence

Analytics & Business Intelligence hat in den vergangenen Jahren zunehmend an Bedeutung gewonnen.

Standort

Stuttgart

Finden Sie u.a. catworkx GmbH und novaCapta GmbH in Stuttgart; Friedrichstr. 9; 70174 Stuttgart; Tel: +49 711 77940 0; Fax: +49 711 77940 19: Mail: info.stuttgart@novacapta.de

Bleiben Sie mit dem TIMETOACT GROUP Newsletter auf dem Laufenden!