So automatisieren Sie SaaS- und Low-Code-Anwendungs-QA-Tests

Automatisierungsingenieure für Qualitätssicherung testen intern entwickelte Anwendungen, von älteren monolithischen Anwendungen bis hin zu Cloud-nativen Anwendungen, die Microservices nutzen. Typische geschäftskritische Anwendungen erfordern Komponententests und Codeüberprüfungen auf Codeebene, API-Tests, automatisierte Benutzererfahrungstests, Sicherheitstests und Leistungstests. Die beste Devops-Praxis besteht darin, die Ausführung dieser Tests zu automatisieren und dann die optimale Teilmenge für kontinuierliche Tests innerhalb einer Continuous Integration and Delivery (CI/CD)-Pipeline auszuwählen.
Getty Images Bank

Aber wie gehen wir mit Anwendungen, Workflows, Integrationen, Datenvisualisierungen und Benutzererfahrungen um, die aus Software-as-a-Service (SaaS)-Plattformen oder Low-Code-Entwicklungstools oder No-Code-Plattformen bestehen, die Bürgerentwicklern die Entwicklung ermöglichen? Ermöglicht die Tatsache, dass wenig oder kein Code verwendet wird, dass Workflows nach Bedarf funktionieren, die Datenverarbeitung den Geschäftsanforderungen entspricht, die Sicherheitskonfigurationen den Unternehmensrichtlinien entsprechen und die Leistung die Erwartungen der Benutzer erfüllt?

Diese Frage erinnert mich an meinen Mathematiklehrer an der High School. Der Lehrer sagte: “Einfach Annahmen zu treffen bringt mich und dich zum Lachen.” Wenn Sie dieses Wort auf den Fall SaaS, Low Code und No Code anwenden und vage davon ausgehen, dass die App ohne Testplan wie gewünscht funktioniert, kann dies zu folgenden Problemen führen.

• Stakeholder schämen sich für unerwartete Ergebnisse
• Schaffen Sie Sicherheitslücken, um Daten der Öffentlichkeit oder Mitarbeitern, die keinen Zugriff darauf haben, zugänglich zu machen.
• Datenprobleme, die sich auf andere Integrationsworkflows und Kundenerfahrungen ausbreiten können
• Leistungsprobleme beim Skalieren von Anwendungen auf eine große Anzahl von Benutzern und größere Datensätze
• Unzufriedenheit der IT-Abteilung mit den Anweisungen zum Neuaufbau von Anwendungen und zur Lösungsentwicklung

Was also testen? Wie können Sie diese Apps ohne Zugriff auf den zugrunde liegenden Quellcode testen? Wo sollte die IT dem Testen Priorität einräumen, insbesondere angesichts des Mangels an QA-Ingenieuren in vielen Entwicklungsorganisationen?

Einige Experten haben diese Frage beantwortet.

Beginnen Sie mit der Definition und Implementierung agiler Akzeptanztests.

John Kodumal, CTO von LaunchDarkly, betonte, dass Akzeptanztests auf alle von der IT unterstützten Anwendungen angewendet werden sollten, nicht nur auf diejenigen, die eine Softwareentwicklung erfordern. „In einem typischen SaaS-Modell führt die Entwicklungsabteilung im Rahmen des Release-Testprozesses Abnahmetests durch“, sagt Kodumel.

Die Definition von Geschäfts- und Benutzerakzeptanztests ist ein wichtiger Ausgangspunkt. Dies liegt daran, dass die meisten SaaS- und Low-Code/No-Code-Anwendungen eine Konfiguration erfordern und die Implementierung nach Scrum oder anderen agilen Methoden erfolgen kann. Der agile Ansatz beinhaltet das Schreiben von Anforderungen als User Stories mit dokumentierten Akzeptanzkriterien. Agile Abteilungen müssen die agilen User Stories verwalten, wie kleine funktionale Verträge und nicht-funktionale Anforderungen für das Unternehmen.

Die Definition von Akzeptanzkriterien ist ein wichtiger erster Schritt. Auch für SaaS-Anwendungen, die keine Codierung oder nur eine eingeschränkte Konfiguration erfordern, sollten Sie diese Schritte befolgen.

Angenommen, die IT-Abteilung ist nicht dafür verantwortlich, Akzeptanzkriterien zu definieren und Tests zu automatisieren. In diesem Fall entsteht durch fehlendes Testen ein Risiko oder der Geschäftsbereich übernimmt das Testen. In beiden Fällen ist die Situation nicht sehr gut. IT-Abteilungen sollten dafür verantwortlich sein, die Implementierung voranzutreiben, einschließlich der Testfunktionen.

Low Code/No Code erfordert Business Logic Testing

Die Low-Code/No-Code-Plattform bietet eine Abstraktionsebene und vereinfacht den Prozess der Entwicklung, Unterstützung und Verbesserung von Anwendungen. Aber auch mit einer solchen Plattform müssen Sie Geschäftslogiken programmieren, Workflows konfigurieren, Datenverarbeitungsregeln definieren und Zugriffsrollen auswählen. Während die Plattform die Aufgabe vereinfacht, besteht auch die Gefahr, dass der Entwickler die Logik falsch implementiert oder keine Ahnung hat, wie er die Anforderungen auf einer Low-Code/No-Code-Plattform genau erfüllen kann.

Kodumal fügt hinzu, dass das Testen zwei zusätzliche Verantwortlichkeiten auferlegt. „Das Testen von Low-Code-Lösungen konzentriert sich auf das Testen von zwei Dingen. Eine besteht darin, die vom Low-Code-Benutzer ausgedrückte Geschäftslogik zu testen, und die andere besteht darin, den ordnungsgemäßen Betrieb der Struktur zu testen, die die Low-Code-Lösung unterstützt. Diese beiden Arten von Tests stellen sicher, dass die Anwendung den Erwartungen der Endbenutzer entspricht.“

Sie können Ihre Geschäftslogik mit Tools testen, die Benutzerinteraktionen über den Browser erfassen und diese Flow-Tests automatisieren. Das Testen der Infrastruktur kann eine Überprüfung von Datenmodellen, Berechtigungen, Formularen, Berichten und Automatisierung erfordern, um sicherzustellen, dass sie den Standards entsprechen und kein Risiko darstellen.

„Eine effektive Methode zum Testen von SaaS- und Low-Code-Anwendungen besteht darin, eine grundlegende Eingabe- und Ausgabevalidierung durchzuführen“, sagte Andrew Clark, CTO bei Monitaur. „Sie müssen eine Matrix der wichtigsten Ereignisse und Aktionen erstellen, die das System ausführen muss, Testfälle einrichten, um zu überprüfen, ob sich das System wie erwartet verhält.“

Rosaria Sillipo, Head of Data Science Evangelisation bei KNIME, geht noch einen Schritt weiter und argumentiert, dass No-Code/Low-Code-Anwendungen ähnlichen Teststandards folgen sollten. „Low-Code-Anwendungen sollten von eigenen Tests begleitet werden, die denselben Richtlinien wie codebasierte Anwendungen folgen, wie beispielsweise Unit-Tests, Golden Tables und Graceful Shutdown“, sagt Sillipo. “Das Erstellen eines Webservice ohne Fehlercode, auf den im Fehlerfall reagiert werden kann, oder einer Webanwendung ohne ordnungsgemäßes Herunterfahren ist genauso unprofessionell wie eine codebasierte Anwendung.”

Verwenden einer Low-Code-Testplattform und maschinellem Lernen

Obwohl die Entwicklung mit Low-Code/No-Code den Entwicklungsprozess beschleunigt und Verbesserungen erleichtert, müssen Entwicklungsabteilungen immer noch Tests und Konfigurationsüberprüfungen durchführen.

Die gute Nachricht ist, dass QA-Ingenieure ihre Tests mit einer Low-Code-Testplattform entwickeln können. „Bei Low-Code-Tests wird der Prozess des Schreibens und Pflegens von Testskripten mit fortschrittlichen KI/ML-Techniken von Maschinen erledigt“, sagt Ram Shanmugam, CEO, AutonomIQ, Sauce Labs. Dies spart viel Zeit und Geld und verringert auch die Abhängigkeit von Automatisierungsingenieuren, indem es typischen Entwicklern, auch Nicht-Entwicklern, ermöglicht, Testautomatisierungsskripte zu erstellen. Letztendlich können sich die Tester jetzt auf die Geschäftsanforderungen der Software konzentrieren und sicherstellen, dass die Benutzerabsicht gewahrt bleibt.“

Wie Low-Code- und SaaS-Plattformen Tests automatisieren

Können Benutzererfahrung und Geschäftslogik, Datenverarbeitung und Konfigurationstests von SaaS- oder Low-Code-Anwendungen ausreichen, um Qualität, Zuverlässigkeit und Sicherheit zu überprüfen?

Die Gesamtqualität hängt auch davon ab, wie Low-Code-Plattformen oder SaaS-Anbieter ihre Technologien testen und die zugrunde liegenden Cloud-Dienste und -Infrastruktur verwalten. Die meisten Plattformanbieter veröffentlichen Sicherheitszertifizierungen wie ISO, SOC, DSGVO, PCI und FedRamp, Service Levels und Compliance-Nachweise. Große Anbieter veröffentlichen außerdem Release-Zeitpläne, Versionshinweise, bekannte Fehler, Service-Level-Historie und Webseitenzugriff, um den Betriebszeitstatus zu überprüfen. Allerdings liefern nur wenige Anbieter Details zu Architekturen, Entwicklungsstandards und Testmethoden.

Ich habe mit Martin Laporte, Vizepräsident für Forschung und Entwicklung bei Coveo, über das Testen und den Einsatz gesprochen. „In einer Welt, in der SaaS-Plattformkomponenten mehrmals täglich aktualisiert werden, ist Beobachtbarkeit der Schlüssel zum Erkennen von Änderungen wie erhöhten Fehlerraten oder schwankenden Reaktionszeiten“, sagte Raport. Immer wenn eine Anomalie erkannt wird, sollte der Rollout abgebrochen und ein automatischer Rollback auf die vorherige fehlerfreie Version erfolgen.“

Dies sind strenge Kriterien dafür, wie oft bereitgestellt und getestet werden sollte und worauf bei der Suche nach SaaS- und Low-Code-Plattformen zu achten ist. Dieses Testniveau, ergänzt durch die Testautomatisierungsbemühungen der Entwicklungsabteilung, trägt dazu bei, das Bereitstellungsrisiko zu senken, insbesondere bei Anwendungen, die eine hohe Zuverlässigkeit erfordern. [email protected]


Source: ITWorld Korea by www.itworld.co.kr.

*The article has been translated based on the content of ITWorld Korea by www.itworld.co.kr. If there is any problem regarding the content, copyright, please leave a report below the article. We will try to process as quickly as possible to protect the rights of the author. Thank you very much!

*We just want readers to access information more quickly and easily with other multilingual content, instead of information only available in a certain language.

*We always respect the copyright of the content of the author and always include the original link of the source article.If the author disagrees, just leave the report below the article, the article will be edited or deleted at the request of the author. Thanks very much! Best regards!