Qytera News

Digitale Verwaltung: Open Source, Offene Standards und Softwarequalität

Lesedauer: 7 Minuten

Die aktuelle COVID-19 bzw. SARS-CoV-2-Pandemie hat die Themen Digitalisierung und Digitale Bildung in fast allen Bereichen des täglichen Lebens enorm beschleunigt. Beispiele hierfür sind neue Bezahlverhalten (Kontaktlosen Bezahlen mit NFC-Funktion), Nutzung von Video-Konferenzen, Homeoffice, Homeschooling, etc.

Die deutsche Industrie sowie die digitale Verwaltung (E-Government) stellen in einer Rekordzeit kontinuierlich neue Online Dienste zur Verfügung. Das ist eine Chance für den Standort Deutschland und Made in Germany!

Softwarequalität beschränkt sich leider noch sehr häufig auf die Formel: Hauptsache, es läuft! Aber in Zeiten von Spotify, Google, Facebook und Co. sind die Erwartungen von Kund:innen und Bürger:innen in Bezug auf Funktionalität, Verfügbarkeit und Usability (Benutzbarkeit) enorm gestiegen.

Aktuelle Performance-Probleme bei der Erreichbarkeit von Impfzentren für die Terminbuchung, das Ausstellen des digitalen Impfnachweis durch die Apotheken, bei Lernplattformen und Schulportalen sowie bei Video-Konferenzen zeigen die Dringlichkeit des Themas.

Bild: Corona Screenshot (Klicken zum Vergrößern) [Quelle: Qytera]

× Manuell oder automatisiert testen?

Bei vielen Webprojekten hören wir oft folgende Aussagen:

  • Bei den häufigen, oft grundlegenden Änderungen lohnt sich die Testautomatisierung nicht.
  • Kommerzielle Tools sind viel zu teuer in Anschaffung und Softwarepflege bzw. Wartung.
  • Open Source kann nicht viel und ist viel zu kompliziert (“nur für Bastler”).
  • Wir haben nicht genügend Zeit für die Testautomatisierung, lasst uns einfach manuell und explorativ testen.

Bild: Testing Bild. (Klicken zum Vergrößern) [Quelle: Qytera]

×

Testautomatisierung ist kein Ersatz des manuellen Tests! Durch Testautomatisierung wird Ihr Testprozess aber effektiver. Automatisierte Tests bieten die Möglichkeit, Tester:innen von repetitiven Aufgaben zu befreien. So kann Zeit und Geld gespart werden. Testautomatisierung hilft dabei, in immer kürzeren Zeiträumen eine Sicherung der Softwarequalität vorzunehmen. Denn oft reichen die kurzen Entwicklungszyklen nicht mehr aus, die Neuentwicklungen wie auch die bestehenden Bestandteile regressiv zu testen.

Der Test Automation Engineer

In dieser Rolle sind sowohl solides Wissen aus dem Testbereich wie auch Praxiserfahrung aus der Softwareentwicklung vertreten; genau das Wissen und Können, das für die Testautomatisierung benötigt wird!

Die Aufgaben befinden sich zwischen den Bereichen und erfordern Wissen aus beiden: ein Tester weiß, wie getestet wird, Testfälle geschrieben werden, Tests auszuwerten sind und eine Entwicklerin, wie gute Software programmiert wird. Also werden beide Eigenschaften benötigt, die im Test Automation Engineer vereint sind.

Qualität ist kein Zufall!

Viele Unternehmen und Behörden fehlt eine Teststrategie beim Testen der Online Dienste und es wird sehr häufig noch manuell getestet. Unternehmen wie Apple, Spotify und Google setzen auf Open Source Tools wie Selenium WebDriver bei der Automatisierung von Softwaretests. Seit 2018 ist die API ein offizieller W3C-Standard. Viele proprietäre Lösungen basieren wiederum auf Selenium. Innovation kann leider nicht in einem APP Store gekauft werden.

Um eine gute Softwarequalität zu bekommen, benötigen Sie einen strukturieren Testprozess und qualifizierte Software Tester.

Qualität ist kein Zufall!

Bild: Test Automation Pyramide. (Klicken zum Vergrößern) [Quelle: Qytera]

×

Die klassische Testpyramide (nach Mike Cohn) zeigt die sinnvollsten Bereiche der Testautomatisierung: Die Basis bieten wie üblich die Unittests. Diese werden sehr schnell durchgeführt und auch die Entwicklung ist durch die Simplizität der zugrundeliegenden Prozesse meist schnell gemacht. Die Integrationstests – im Bereich der Komponenten- oder Systemintegration – integrieren die neueste Programmierung erstmals automatisiert und dürfen deshalb auf keinen Fall vernachlässigt werden. Eine Amortisierung von automatisierten Systemtests lohnt sich vor allem bei agilen Projekten durch die häufige Durchführung aufgrund von Regressionstests, aber auch in klassisch geführten Projekten kann schon nach 3-4 Ausführungen ein Return on Investment (ROI) eintreten.

Nicht in der Testpyramide enthalten, aber auch sehr wichtig und teils sehr gut automatisiert testbar, sind die nicht- funktionalen Tests. Vor allem Last- und Performancetests können sehr gut automatisiert getestet werden (z.B. mit Apache JMeter).

Warum Open Source so wichtig ist

Open Source ist nicht nur eine Beschreibung für Software, sondern verkörpert auch Zeitgeist, Spirit und Lebensgefühl.

Open Source bezeichnet kostenfreie Software, deren Quellcode nicht nur öffentlich ist, sondern auch von Dritten kopiert, geändert und genutzt werden kann. Open Source kann von unabhängige Stellen auditiert und kontrolliert werden. Somit werden Schwachstellen transparent und es zeigt sich, dass diese auch schnell gelöst werden.

Open Source stärkt somit die digitale Souveränität und Unabhängigkeit von Behörden und Unternehmen. So wird auch eine Abhängigkeit von Softwareherstellern verringert werden. Gerade in einer globalisierten Welt werden durch Übernahmen und Fusionen von heute auf morgen die Entwicklung von Softwareprodukten eingestellt oder in die Cloud verlagert.

Vorteile von Open Source für die digitale Verwaltung und Unternehmen

Flexibilität, Integrationsfähigkeit, Innovationsfähigkeit und Sicherheit sprechen für Open Source Software.

  • Sicherheit: Die Daten verbleiben in den Rechenzentren, in der IT-Infrastruktur der Ämter, in den Behörden und Unternehmen.
  • Skalierbarkeit: Rechenleistung und Speicher können schnell eingerichtet und jederzeit flexibel angepasst werden.
  • Kein Vendor Lock-In: Lösungen in bewährten Cloud Technologien wie Ansible und Terraform bieten digitale Souveränität und Unabhängigkeit.
  • Infrastructure as Code: Somit kann die Cloud-Plattform relativ schnell und sicher gewechselt werden (z.B. von Amazon AWS nach Microsoft Azure nach Open Telekom Cloud).
Anforderungen an IT-Dienstleister - Generalist oder Spezialist?

Was zeichnet einen IT-Dienstleister aus, der sich als Partner für ein Open Source Projekt anbietet? Die technische Expertise im Open Source Bereich ist unerlässlich

In der heutigen schnelllebigen Zeit ist es eine besondere Herausforderung für alle Unternehmen, die Qualität und Effizienz bei der Entwicklung von Softwaresystemen kontinuierlich einzuhalten und zu steigern. Hier spielt der Einsatz von Testautomatisierung eine immer größere Rolle, da durch die Automatisierung der Tests viel kostbare Zeit und Ressourcen eingespart werden können. Testabläufe werden effizienter, umfassender und die Qualität der Entwicklung steigt. Ein sehr gutes Beispiel, wie das gelingen kann, ist Google mit Android, welches auf Linux setzt.

Erfahrung

Achten Sie auf Bewertungen des IT-Dienstleisters im Internet und die Anzahl der veröffentlichen Achten Sie auf Bewertungen des IT-Dienstleisters im Internet und die Anzahl der veröffentlichen Blogbeiträge. In der IT-Branche gibt es viele Themen und Tools. Die meisten IT-Consulting-Firmen behaupten, die Besten in allem zu sein. Das trifft in der Realität jedoch nicht zu. Um sicher zu stellen, dass Sie es mit einem erfahrenen IT-Berater zu tun haben, müssen Sie unbedingt auf Zertifikate und Bewertungen achten. Legt das IT- Consulting viel Wert auf hohe Qualität, sollte die Expertise mit Zertifizierungen untermauert sein. Fragen Sie aktiv nach der Qualifikation in dem jeweiligen Gebiet Blogbeiträge. In der IT-Branche gibt es viele Themen und Tools. Die meisten IT-Consulting-Firmen behaupten, die Besten in allem zu sein. Das trifft in der Realität jedoch nicht zu. Um sicher zu stellen, dass Sie es mit einem erfahrenen IT-Berater zu tun haben, müssen Sie unbedingt auf Zertifikate und Bewertungen achten. Legt das IT- Consulting viel Wert auf hohe Qualität, sollte die Expertise mit Zertifizierungen untermauert sein. Fragen Sie aktiv nach der Qualifikation in dem jeweiligen Gebiet.

Zusammenfassung

Wir sind der Meinung, dass die deutsche Wirtschaft sowie die Digitale Verwaltung mehr in Europäische IT-Lösungen investieren sollte, noch besser in Open Source Software. Open Source macht erst eine digitale Souveränität möglich und ist der Innovationsmotor für die digitale Transformation. Open Source ist die Zukunft!

21. Juli 202121. Juli 2021 Artikel weiterempfehlen:

Was ist Jira? - Jira im Überblick

Lesedauer: 4 MinutenWas ist Jira?

Jira ist eine Webanwendung zur Verwaltung von Prozessen, Aufgaben und zum operativen Projektmanagement. Eingesetzt wird Jira vor allem in der Softwareentwicklung, findet jedoch mittlerweile auch Anklang in anderen Bereichen vieler Unternehmen.

Verwalten von agilen Projekten

Eine der populärsten Anwendungsfälle von Jira ist das Verwalten von agilen Projekten. Hierfür stellt Jira ein Kanban-Board bereit, mit dem sich Aufgaben und deren Status verwalten lassen. In der Philosophie von Jira zeichnet sich eine Aufgabe, oder auch Issue genannt, durch folgende Merkmale aus: Eine Aufgabe ist einem oder mehreren Teammitgliedern zugeordnet, besitzt einen Status, eine Priorität und kann durch die Teammitglieder kommentiert werden. Alle Änderungen an einer Aufgabe werden aufgezeichnet und können somit nachvollzogen werden. Die Nutzer:innen können ebenfalls Aufgaben mittels Aufgabentypen klassifizieren.

Darstellung von Aufgaben mittels Kanban-Boards

Ein Kanban-Board ist eine visuelle Darstellung von Aufgaben. Die grundlegende Idee eines Kanban-Boards ist es, Aufgaben in verschiedenen Spalten zu organisieren und somit die Übersichtlichkeit zu erhöhen. Eine weitverbreitete Praxis ist hierbei, dass die Spalten den Fortschritt der Aufgabe aufzeigen und dass eine Aufgabe während ihrer Bearbeitung von der ersten Spalte aus in mehreren Zwischenschritten in die letzte Spalte des Board wandert. In der ersten Spalte werden zunächst Ideen für Aufgaben gesammelt, die zukünftig bearbeitet werden sollen, jedoch noch nicht weitergehend definiert worden sind. Wird eine Aufgabe konkretisiert, wandert die Aufgabe eine Spalte weiter. Der nächste Schritt besteht darin, dass die Aufgabe einem oder mehreren Mitarbeiter:innen zugeteilt wird und eine Frist bis zur Fertigstellung der Aufgabe definiert wird. Hierbei wird die Aufgabe in die dritte Spalte verschoben. Nach dem Abschluss der Aufgabe wandert diese in die vierte Spalte des Boards. In dieser Spalte werden Aufgaben gesammelt, die von den Bearbeiter:innen als abgeschlossen betrachtet werden, jedoch noch von anderen Mitarbeiter:innen reviewet werden müssen. Schlussendlich wandert die Aufgabe nach dem Review in die letzte Spalte und gilt somit als endgültig abgeschlossen.

Jira stellt ein solches Kanban-Board als Webanwendung bereit. Durch farbliche Markierungen können Kategorien, Prioritäten und andere Attribute der Aufgabe kenntlich gemacht werden. Weiterhin erlaubt das Kanban-Board von Jira ein Tracking der Aufgaben. Die Verantwortlichen können somit genau nachvollziehen, wann und von wem eine Aufgabe bearbeitet wurde und wie lange die Person hierfür benötigt hat.

Bild: Jira Kanban Board. (Klicken zum Vergrößern) [Quelle: Qytera]

×

Die Anordnung der Spalten nach dem Fortschritt der Aufgaben ermöglicht es Projektleiter:innen zudem, Engpässe frühzeitig zu erkennen. Sammeln sich zu viele Aufgaben in der Spalte für die aktuell bearbeiteten Aufgaben, kann das Projektmanagement hierauf reagieren und Aufgaben umpriorisieren oder verschieben. Auch für die anderen Mitarbeiter:innen bietet ein Kanban-Board eine gute Übersicht über den aktuellen Status des Projektes.

Um Aufgaben effizienter zu planen, hat sich eine Methode der Punktevergabe für Aufgaben etabliert. Hierbei werden Aufgaben sogenannte Story Points zugeteilt, die den Aufwand dieser Aufgaben beschreiben. Je mehr Story Points eine Aufgabe erhält, desto mehr Zeit sollte für diese eingeplant werden. Diese Methode bietet der Projektleitung eine gute Möglichkeit, die verfügbaren Kapazitäten in einem Projektsprint möglichst effizient zu nutzen.

Roadmaps

Jira bietet neben Kanban-Boards auch die Möglichkeit, einen umfassenderen Überblick über den Fortschritt des Projektes mittels Roadmaps zu geben. In Roadmaps werden allgemeine Ziele des Projektes festgehalten. Aufgaben aus den Scrum-Boards lassen sich diesen Zielen zuordnen. Somit kann der Fortschritt des Ziels erfasst werden. Projektmanager:innen können somit nachvollziehen, welche Ziele im Zeitplan erreichbar sind und für welche Ziele eventuell mehr Ressourcen erforderlich sind.

Bild: Jira Road Map. (Klicken zum Vergrößern) [Quelle: Qytera]

× Integration mit anderen Atlassian-Tools

Jira ist nicht nur auf die Verwaltung von Aufgaben beschränkt. Durch seine auf Erweiterbarkeit ausgelegte Struktur existieren eine Vielzahl von Plugins, welche die Funktionalität von Jira erweitern. Viele dieser Plugins nutzen die Fähigkeit von Jira, eigene Aufgabentypen zu erstellen und ermöglichen somit eine Interoperabilität mit den nativen Jira-Funktionen und anderen Plugins.

Denken - Change-Prozess

Jira lässt sich mit anderen Tools von Atlassian integrieren. Hierzu zählen u.a. das Wiki-System Confluence, das Git-Repository-Tool Bitbucket, das CI/CD-Tool Pipelines sowie das Tool Atlassian DevOps.

Testmanagement mit Jira Xray

Ein populäres Plugin zum Management von Testprojekten ist das Xray-Plugin für Jira. Hierfür empfehlen wir Ihnen unseren Blogartikel zu diesem Thema.

Fazit

Jira bietet Ihnen eine sehr umfangreiche Lösung zum Managen von agilen Projekten an und kann durch seine Funktionen wie Kanban-Boards und Roadmaps sowie seine vielen Erweiterungsmöglichkeiten ein sehr nützliches Tool für Ihre Softwareentwicklungsprojekte bzw. Testmanagementprojekte sein.

20. Juli 202120. Juli 2021 Artikel weiterempfehlen:

Die Selenium A4Q Tester Zertifizierung

Lesedauer: 2 Minuten

Die A4Q Selenium Tester Zertifizierung ist führend auf ihrem Gebiet und bescheinigt Ihnen ein nachgewiesenes Verständnis und Fähigkeiten im Aufsetzen von Testumgebungen mit dem Selenium WebDriver. Alle Absolventen:innen sind nach der Beendigung eines solchen Selenium Certified Testers Kurs in der Lage Selenium WebDriver Tests ohne Aufsicht zu erstellen und auszuführen. Ebenfalls verfügen die Kursteilnehmer:innen über tiefergehendes Wissen in der Testautomatisierung, in der Steuerung der GUI-Element und in der Dokumentation der Testergebnisse.


Vorteile der A4Q Tester Zertifizierung

Bei der A4Q Zertifizierung handelt es sich, um eine unabhängige, international anerkannte Zertifizierung. Dadurch bringt ein Zertifikat für jeden Arbeitgeber die Sicherheit mit, dass die Person über fundierte und umfangreiche Kenntnisse auf dem Gebiet der Automatisierung mit Selenium Webdriver verfügt. Somit wird eine gleichbleibende und hohe Qualität der Fähigkeiten der Absolventen zertifiziert.

Folgende Lerninhalte werden in allen A4Q Selenium Lehrgängen vermittelt:

  • Aufsetzen von Selenium WebDriver-Tests
  • Erstellen von verwertbaren Testautomatisierungslösungen
  • Richtige Auswahl der nötigen Testautomatisierungs-Tools und Implementierung
  • Eigenständige Implementierung von Selenium WebDriver Skripten
  • Funktionale Durchführung von Webanwendungstests und das Einfügen wartbarer Skripte

Sie wollen auch alle diese Themengebiete erlernen und selbstständig durchführen können? Dann melden Sie sich jetzt hier für unsere A4Q Selenium Foundation Level Schulung an!

Abschlussprüfung

Unsere Selenium Foundation Tester Prüfung basiert auf dem offiziellen und akkreditieren A4Q Selenium Tester Foundation Lehrplan. Somit sind alle im Kurs vermittelten, Lerninhalte relevant für die Prüfung. Die offizielle Prüfung besteht aus 40 Multiple-Choice Fragen, hier erhält jede richtige Antwort einen Punkt, Fehlerpunkte gibt es nicht. Der Kurs gilt als bestanden, wenn mindestens 65% der Fragen richtig beantwortet wurden. Insgesamt müssen also 26 Fragen korrekt beantwortet worden sein, damit Studierenden das Zertifikat ausgestellt werden kann. 

Die Prüfungsdauer beträgt in der Regel für alle Teilnehmer:innen 60 Minuten, hat ein Bewerber jedoch eine andere Muttersprache als die Prüfungssprache, dann steht laut Regelwerk eine Zeitverlängerung der Prüfung von 15% zu, das sind 15 Minuten. Die A4Q Selenium Tester Prüfung darf nur bei einem akkreditieren Partner abgelegt werden, da nur dieser in der Lage ist die Prüfungsergebnisse richtig zu beurteilen und letztendlich den Teilnehmern ihre Zertifizierung zur verleihen. Wir bei Qytera sind offiziell anerkannter Partner und können den vollständigen A4Q Selenium Foundation Kurs samt Abschlussprüfung durchführen und die Zertifizierung verleihen.

Der A4Q Selenium Tester Foundation Kurs ist der einzige auf dem Markt, der über eine Zertifizierung verfügt. Aller anderen Selenium Kurse ohne die A4Q-Bezeichnung sind nicht offiziell anerkannt und bieten somit keinen richtigen Nachweis über die erworbenen Fähigkeiten.

Aufbau der Lerninhalte

In der A4Q Selenium Schulung sind die Lerninhalte immer gleich aufgebaut, für jedes der vier Lernfelder ist eine vorgeschriebene Zeit gegeben, in der der Lerninhalt vermittelt werden muss. Insgesamt beträgt die Dauer des Lehrgangs 16,75 Stunden. In den folgenden Abschnitten erfolgt eine detaillierte Aufteilung der Lernfelder mit den genauen Zeitangaben:

  • Lernfeld 1: Basics der Testautomatisierung, Dauer: 105 Minuten.
  • Lernfeld 2: Webanwendungen für die Testautomatisierung, Dauer: 195 Minuten.
  • Lernfeld 3: Anwendung des Selenium WebDrivers, Dauer: 495 Minuten.
  • Lernfeld 4: Testskripte erstellen, Dauer: 225 Minuten.

Fazit

Die Schulung zum A4Q Selenium Foundation Tester vermittelt Ihnen grundlegende Fähigkeiten in der Testautomatisierung und in der Erstellung von Testumgebungen mit dem Selenium WebDriver, darüber hinaus erhalten Sie einen anerkannten Nachweis darüber, dass Sie diese Fähigkeiten verstehen und beherrschen, der auf der international anerkannt ist. Der komplette Lehrgang dauert 16,75 Stunden und ist in vier Lernfelder aufgeteilt.

13. Juli 202113. Juli 2021 Artikel weiterempfehlen:

API Testing (REST/SOAP): Ein Toolüberblick - REST APIs und SOAP Schnittstellen

SoapUI hat sich im Laufe der letzten Jahren sozusagen zu dem Standard-Testtool etabliert, um SOAP-, REST Webservices zu testen. Bis heute kennen wir kein besseres Testautomatisierungstool als SoapUI.
SoapUI bietet eine komfortable Möglichkeit, die REST-Requests aus einer bestehenden WADL zu generieren oder nur eine URI einzugeben. SoapUI generiert und extrahiert daraus automatisch den Endpunkt, die Resource und die Query-Parameters.

Das Testtool bietet auch die Möglichkeit, gerade bei komplexeren Testschritten und sehr neuen Technologien, Groovy-Scripte einzubinden.
Mit "Groovy TestStep" ist es möglich, sein eigenes Groovy-Testscript als Teil eines Testfalls zu implementieren.
Darüber hinaus stehen sämtliche APIs von JRE und SoapUI zur Verfügung.

Die Funktionen von SoapUI sind:
  • Funktionstests von Webservices
  • Testautomatiserung von Webservices
  • Service Simulation (Mocking)
  • Lasttests und Performancetests
  • Analyse und Reporting von REST und SOAP APIs
  • Recording von Requests und Daten
  • Performancetests, Lasttests

SoapUI unterstützt Webservices Technologien, wie SOAP/WDSL, REST, HTTP(S), JDBC, JMS. SoapUI und bietet Integration in die Entwicklungsumgebungen wie IntelliJ IDEA, NetBeans und Eclipse und die Buildtools Jenkins, Apache ANT, Bamboo, JUnit und Apache Maven Project.

Alternative Testtools/Werkzeuge für das Testen von API wie REST und SOAP:

Folgende Tools können für die Testautomatisierung von Webservices in Betracht gezogen werden:

JMeter - Performance Monitoring Tool

Die in Java geschriebene Open-Source-Software von Apache ist die wohl populärste unter den kostenlosen Performance-Testtools. JMeter unterstützt verschiedene Protokolle wie HTTP, HTTPS, SOAP, REST, FTP, JDBC, LDAP, JMS, SMTP, POP3 und Datenbanken via JDBC.
Für Tests von Webservices steht nur ein geringer Funktionsumfang zu Verfügung.

 

POSTMAN REST CLIENT


Postman ist ein Chrome Plugin und setzt daher die Installation des Google Chrome Browsers voraus. Anschließend kann es aus dem Google-Web-Store als Extension installiert werden. Wir verwenden Postman eher um API bzw. RESTful Services auszuprobieren. Damit lässt sich sehr schnell ein Request (GET, POST, Basic Auth, Oauth) absetzen.

Ihr Partner für die Testautomatisierung mit SoapUI

Möchten Sie automatisierte Tests für Microservices, REST- und SOAP-APIs erstellen??

Melden Sie sich bei uns, wenn Sie Fragen haben oder mehr wissen möchten: Wir beraten Sie gerne unverbindlich zur Einführung, Evaluierung und produktiven Nutzung von SoapUI!

Vereinbaren Sie ein erstes Gespräch mit unseren Experten und lassen Sie sich unverbindlich beraten.

Jetzt Telefontermin vereinbaren!

Möchten Sie eine umfassendere Beratung? Unser Team stellt Ihnen in einer persönlichen Webkonferenz das Qytera Testautomatisierungsmodell vor.

Jetzt Webkonferenz vereinbaren!

Weitere Links:

https://www.soapui.org
http://jmeter.apache.org
http://www.getpostman.com/

28. Mai 202128. Mai 2021Finden Sie weitere interessante Artikel zum Thema:  Artikel weiterempfehlen:

6 goldene Regeln für das Testmanagement im Softwaretest

Lesedauer: 2 Minuten

Es gibt viele Regeln, die Sie als erfolgreiche Testmanagerin, erfolgreicher Testmanager beachten sollten. Die aus unserer Sicht wichtigsten stellen wir Ihnen hier vor.

1 Wie werden Sie messen? Über Metriken und Reporting im Testmanagement

Warum führen Sie Messungen durch? Um bewerten zu können, was gut funktioniert oder wo Sie Anpassungen am Prozess machen müssen, und ob bzw. wie gefundene Risiken überdeckt sind. Risiken wie die Befürchtung, dass die Zeit nicht für alle Tests ausreicht oder dass Fehler nicht von Ihnen, sondern von den Kunden entdeckt werden. Sie sehen, was Sie intensiver oder weniger intensiv testen müssen, ob Sie vielleicht ein Quality Gate erreicht haben, selbstverständlich auch, wie hoch die (Produkt-) Qualität ist. 

Zum Beispiel erkennen Sie dies an der Fehlerdichte (z.B. Anzahl der Fehler pro 1000 Zeilen Programmcode).

Nicht zu vergessen: Sie geben diese Daten auch an Dritte weiter: das Projektmanagement, die Geschäftsleitung und sonstige Stakeholder.

2 Legen Sie Ihre Teststrategie, Testziele und Methoden fest

Wie testen Sie und warum? Was möchten Sie mit den Tests erreichen?

Vielleicht gibt es in Ihrer Organisation bereits ein Testhandbuch, auf dem Sie Ihre Strategie und Ihr Testkonzept aufbauen kann. Auf jeden Fall benötigen Sie definierte Grundlagen für Ihren Testprozess. Diese können je nach Team- und Unternehmensgröße variieren, ein großes Unternehmen aus der Softwareentwicklung hat oftmals eine definierte Qualitätspolitik und Testrichtlinie. Auf dieser basiert dann die Teststrategie als Dokument, darauf dann das (Master-) Testkonzept

Andererseits ist die Teststrategie auch die Methode: zum Beispiel bedeutet "risikoorientiert", dass Sie in erster Linie die gefundenen Risiken minimieren möchten und mit diesem Ziel die Testfälle auswählen bzw. priorisieren, die hierfür den größten Nutzen bringen. 

Testziele sind die Ziele, die Sie mit dem Testen erreichen möchten: beispielsweise möchten Sie belegen, dass neue Funktionalitäten die geforderten Eigenschaften besitzen, Anforderungen erfüllen. 

Bild: Teststufen Softwaretesting. (Klicken zum Vergrößern) [Quelle: Qytera]

× 3 Bestimmen Sie die Dokumenten und Vorlagen, die genutzt werden

Haben Sie in Ihrer Organisation bereits Dokumente und Vorlagen, die für das Testen (zum Beispiel für Testfälle oder Abweichungen) und Testmanagement genutzt werden? 

Wenn Sie keine vorliegen haben, sollten Sie diese erstellen. Prüfen Sie, welche Informationen Sie benötigen - zur Information, um Qualität zu messen usw. - unter Anderem genau die Werte, die Sie für die Metriken nutzen möchten.

4 Entscheiden Sie Ihren Ressourcenbedarf

Wissen Sie, wann Sie mit dem Testen beginnen, wieviel Zeit Sie haben - ob diese Zeit reicht? Haben Sie genügend PCs und Peripherie? Wie sieht es aus mit Lizenzen, z.B. für die Fehlermanagement-Software? 

Und vor allem: haben Sie für die Testaktivitäten genügend qualifiziertes Personal? Werden Schulungen benötigt? 

All diese Fragen sollten Sie frühzeitig beantworten können, damit können Sie diese Ressourcen bei Bedarf anfordern, ansonsten haben Sie keine Zeit, steuernd einzugreifen. 

5 Wer hat wann Zeit? Denken Sie an Ihre Zeitplanung

Sie sollten so planen, dass Artefakte getestet werden können, wenn sie fertig sind. Das Testteam ist somit bereit, wenn Software planmäßig geliefert wird. Sie haben auch Ziele, die Sie erfüllen müssen, zum Beispiel einen Releasetermin. Und an dem sollten Sie sich orientieren. Von Ihnen wird erwartet, dass Sie zu den entsprechenden Meilensteinen liefern können. Notfalls müssen Sie flexibel sein, aber für Ihre Argumentation hilft eine verlässliche Zeitplanung auf jeden Fall. 

6 Planen Sie, wann Sie integriert testen, wann End-2-End-Test sein kann usw.

Wir bleiben bei der zeitlichen Planung. Auch der Ablauf der einzelnen Teststufen muss getestet werden: wann können Sie integrieren? Wann müssen Sie fertig sein? Wann möchte die Geschäftsleitung etwas sehen oder Testergebnisse von Ihnen haben? 

Sie erhalten von einer Stelle Artefakte zum Testen und eine andere möchte Ihre Ergebnisse sehen, daran denken Sie und planen dementsprechend.

08. Mai 202117. Juni 2021Finden Sie weitere interessante Artikel zum Thema:  Artikel weiterempfehlen:

Das Qytera Test Automation Framework (QTAF) - Testen mittels Selenium war noch nie so einfach

Lesedauer: 5 Minuten

Das Qytera Test Automation Framework (QTAF) ist ein von der Qytera GmbH entwickeltes Java-Testframework basierend auf TestNG, welches ein einfaches Aufsetzen neuer Selenium-Testprojekte, HTML-Reporting, Cucumber-Unterstützung, Anbindung an Jira Xray und einfache Erweiterbarkeit bietet.

Ein kostspieliger Zeitfaktor beim Aufsetzen eines neuen Testprojektes ist die Einrichtung der Dokumentation der Testfälle. Ein möglichst allgemein nutzbares Reporting-Format wie JSON wird benötigt, um die ausgeführten Testfälle und eventuell aufgetretene Fehler zu dokumentieren und in ein anderes Tool wie etwa ein Testmanagementsystem zu übertragen. Weiterhin wäre ein HTML-Reporting sinnvoll, um den Testern einen schnellen Überblick über die durchgeführten Tests zu gewähren und Fehler schnell zu finden.

Das Aufsetzen einer solchen Umgebung ist zeitaufwändig und bindet unnötig viele Ressourcen. Zudem ist es ineffektiv, diesen Prozess für jedes neue Testprojekt zu wiederholen. Effektiver wäre es, ein Framework zu entwickeln, welches genau diese Aufgaben übernehmen würde, sodass die Tester:innen sich um ihre eigentliche Aufgabe kümmern können: das Testen.

QTAF ist die Realisierung genau dieser Idee, das Aufsetzen der Testumgebung und die Dokumentation der Testfälle zu übernehmen. Und QTAF bietet den Tester:innen noch einiges mehr.

Die Vorteile von QTAF

QTAF ist ein Projekt, welches aus der Praxis heraus entstand und die Erfahrung von Tester:innen aus jahrelanger Arbeit mit Testing-Tools bündelt. Mittels QTAF werden drei grundlegende und zeitaufwändige Probleme des Testens gelöst:

  • Das Einrichten einer konfigurierbaren Selenium-Testumgebung,
  • das Reporting einer durchgeführten Testsuite,
  • und die anschließende Dokumentation der Testresultate.

Die Implementierung dieser aufgezählten Problemstellungen verlangt von den Testern zum einen gute Kenntnisse in der Programmierung und des Entwurfs von Softwareprojekten, zum anderen ist sie sehr zeitaufwendig und somit teuer. Die Testumgebung sollte auf Wiederverwendbarkeit ausgerichtet sein, sodass viele ihrer grundlegenden Komponenten auch in anderen Testumgebungen verwendet werden können. Somit lässt sich in anderen Projekten wertvolle Zeit einsparen.

Bevor die eigentlichen Testfälle geschrieben werden können, muss die Testumgebung aufgesetzt und in Betrieb genommen werden. Hierfür vergehen meist Tage bis Wochen und kostet Ihr Unternehmen unnötig viel Zeit und Geld. Hierbei entstand die Idee von QTAF, welches dem Tester die Aufsetzung einer solchen wiederverwendbaren Testumgebung abnehmen sollte.

QTAF löst genau diese Probleme, da es den Tester:innen die Entwicklung einer eigenen Testumgebung abnimmt und somit keine Kenntnisse in Softwareentwicklungsprojekten voraussetzt. Die Einrichtung eines QTAF-Projektes dauert wenige Minuten, nach denen sofort mit der Entwicklung der Testfälle begonnen werden kann.

Den Tester:innen steht nach der Aufsetzung eine vollständige Selenium-Testumgebung zur Verfügung, welche in der Lage ist, auf den gängigsten Browsern wie etwa Chrome, Edge, Firefox, Opera und Safari automatisierte Tests durchzuführen. Auch die Dokumentation der Testfälle wird durch QTAF übernommen und kann nach dem Durchlauf der Testsuite automatisiert in ein Testmanagementtool wie etwa Xray übernommen werden.

Bild: Aufbau und Architektur von QTAF. (Klicken zum Vergrößern) [Quelle: Qytera] × Das Aufsetzen eines neuen Testprojekts

Das Aufsetzen eines neuen Testprojektes gestaltet sich mittels QTAF sehr einfach. Hierfür ist lediglich das Erstellen eines Maven-Projektes erforderlich, wofür eine geeignete Entwicklungsumgebung wie etwa Eclipse oder Intellij verwendet werden kann. Anschließend muss lediglich QTAF als Dependency für das Projekt eingerichtet werden und schon ist die Testumgebung bereit.

Die Tester:innen können sofort mit der Erstellung von Testfällen beginnen. Das Reporting dieser Testfälle erfolgt automatisch durch das QTAF-Framework. Welche Features das nun aufgesetzte Testprojekt noch bietet werden wir in den folgenden Abschnitten erläutern.

Testfälle anlegen

Das Anlegen eines Testfalls ist mit QTAF genauso einfach wie bei einem gewöhnlichen TestNG-Projekt. Tester:innen, die mit diesem Framework vertraut sind, werden sich mit QTAF ohne Probleme zurechtfinden. Die Tester:innen legen ihre Testklassen an und versehen diese zusätzlich mit Annotations, welche QTAF bereitstellt. QTAF überwacht während des Testens welche Testfälle ausgeführt wurden und erstellt sowohl JSON- als auch HTML-Reportings aus den aufgezeichneten Daten.

Konfigurierbarkeit

Alle Konfigurationsparameter können entweder über ein JSON-File, über Umgebungsvariablen oder als Kommandozeilenparameter übergeben werden. Dabei bietet QTAF auch die Möglichkeit, Standardwerte aus einer JSON-Datei mittels Umgebungsvariablen oder Kommandozeilenparametern zu überschreiben. Dieses Feature ist vor allem nützlich, wenn Sie das selbe QTAF-Projekt in mehreren Umgebungen mit anderen Konfigurationswerten nutzen möchten.

Beispielsweise können Sie eine Standardkonfiguration in einer JSON-Datei angeben und beim Ausführen den Namen des Webdrivers mittels einer Umgebungsvariable oder eines Kommandozeilenparameters überschreiben. Somit können Sie parallel eine Webapp auf mehreren Browsern testen ohne eine Änderung in Ihrem Quellcode vornehmen zu müssen.

Docker und Kubernetes

QTAF ist darauf ausgelegt als Microservice verwendet werden zu können. Durch die Konfigurierbarkeit mittels Umgebungsvariablen ist es möglich, folgendes Szenario zu realisieren: Sie möchten eine Webapp auf den gängigsten Browsern testen (Chrome, Firefox, Edge). Erstellen Sie aus Ihrem QTAF-Projekt ein Docker-Image und erzeugen Sie aus diesem Image mehrere Container-Instanzen. Jede Instanz testet die Webapp mittels eines Webdrivers, dessen Namen Sie über eine Umgebungsvariable übergeben.

Somit lassen sich mit der gleichen Codebasis und dem gleichen Docker-Image mehrere Tests parallel auf unterschiedlichen Browsern durchführen. Mittels Docker und Kubernetes ist es ebenfalls möglich, die Docker-Container auf mehrere Server zu verteilen und mit den gängigsten Cloudanbietern wie etwa AWS und Azure zu nutzen.

Selenium Webdriver

QTAF lädt automatisch die aktuellsten Versionen der Selenium Webriver für die gängigsten Webbrowser wie etwa Chrome, Firefox, Edge, Internet Explorer oder Opera. Die Tester:innen müssen nach dem Einrichten eines QTAF-Projektes weder die benötigten Browser installieren noch sich um die Aktualisierung der Browser kümmern. QTAF nimmt Ihnen diese Aufgaben ab und kümmert sich selbst um die Beschaffung und Aktualisierung der entsprechenden Browser. Lediglich der Browsername muss mittels des Konfigurationsfiles übergeben werden.

Android Testing via Appium

QTAF bietet die Möglichkeit, Android-Geräte mittels Appium zu Testen. Die benötigten Treiber für das Testen von Android-Geräten bietet QTAF von sich aus an. Auch hier müssen Anwender:innen lediglich den Namen des Treiber mittels der Konfigurationsdatei übergeben.

Remote Webdriver

QTAF erlaubt es Ihnen ebenfalls Webtreiber über ein Netzwerk anzusteuern. Dies ist vor allem in Cloud-Umgebungen ein nützliches Feature. Für viele der gängigsten Treiber stehen bereits Docker-Container im offiziellen Docker Registry zur Verfügung.

Page Object Pattern und Dependency Injection

QTAF unterstützt das Page Object Pattern. Beim Page Object Pattern (PO) wird Code, der ein visuelles Objekt einer Website (beispielsweise eine Navigationsbar, ein Formular, etc.) ansteuert, in einer eigenen Klasse gekapselt. Innerhalb dieser Klassen werden Methoden zur Manipulation dieses Objektes bereitgestellt (beispielsweise das Anklicken einer Buttons, das Abschicken eines Formulars).

Mittels QTAF können diese Methoden, die innerhalb einer PO-Klasse aufgerufen werden, getrackt werden. Hierbei werden auch die Parameter, die den Methoden während des Testfalls übergeben wurden aufgezeichnet, sodass später nachvollzogen werden kann, welche Parameter welches Ergebnis bei einem Methodenaufruf hervorriefen.

Mittels Dependency Injection lassen sich die erstellten PO-Klassen leicht in andere Klassen einbinden. Den Tester:innen wird hierbei der Aufwand abgenommen, die entsprechenden PO-Klassen selbst zu instanziieren, was ebenfalls eine Reduktion der Komplexität und der Menge des Codes zur Folge hat.

Bild: Testfall eines QTAF Projektes. (Klicken zum Vergrößern) [Quelle: Qytera] × Unterstützung von Cucumber

QTAF bietet von Hause aus die Unterstützung von Cucumber an. Hierbei zeichnet QTAF die durchgeführten Cucumber-Tests auf und stellt die Ergebnisse der Testfälle ebenfalls via JSON oder als HTML-Report zur Verfügung.

Erweiterbarkeit

QTAF bietet ein eigenes Event-System an, über das Tester eigene Logik in den Testablauf einbringen können oder eigene Plugins für QTAF entwickeln können. So lassen sich beispielsweise eigene Verarbeitungen der erzeugten Reporting-Daten realisieren, beispielsweise eine Anbindung an eine REST-API, eine automatische Benachrichtigung per E-Mail etc. Somit lassen sich ganze Plugins erstellen, die Sie in mehreren Projekten verwenden können oder auch der Community zur Verfügung stellen können.

QTAF PluginsAnbindung an die Xray API

QTAF bietet von sich aus die Anbindung an Xray über ein Plugin an. In der Konfigurationsdatei müssen hierfür lediglich die Zugangsdaten für das eigene Xray-Projekt übergeben werden und QTAF sichert die Testergebnisse anschließend in Xray.

Eigene Plugins entwickeln

Da die Welt der Software im ständigen Wandel ist wurde QTAF darauf ausgelegt erweiterbar zu sein. Plugins können dabei über das Eventsystem von QTAF auf die erhobenen Daten zugreifen und diese weiterverarbeiten.

27. April 202128. April 2021Finden Sie weitere interessante Artikel zum Thema:  Artikel weiterempfehlen: