Qualitätskontrolle
Software-Testing im Low Code/No Code-Umfeld
Mit Low-Code/No-Code-Tools entwickeln Mitarbeiter ohne Programmierkenntnisse eigene Applikationen. Je komplexer sie sind und je kritischer ihr Einsatzgebiet, desto intensiver müssen sie getestet werden.
Immer kürzere Software-Release-Zyklen bringen die ohnehin schon knapp besetzten Entwickler-Teams an oft an ihre Kapazitätsgrenzen. Der liegen Low-Code/No-Code-Plattformen im Trend. Sie ermöglichen es, Anwendungen mit geringem oder ganz ohne Codierungs-Aufwand auf den Weg zu bringen. Dabei können einfache Entwicklungsaufgaben auch an sogenannte Citizen Developer ausgelagert werden. Dabei handelt es sich um Mitarbeiter, die keine oder kaum Programmierkenntnisse haben. Der Thin[gk]athon, veranstaltet vom Smart Systems Hub, vereint kollaborative Intelligenz und Industrie-Expertise, um in einem dreitägigen Hackathon innovative Lösungsansätze für komplexe Fragestellungen zu generieren. ‣ weiterlesen
Innovationstreiber Thin[gk]athon: Kollaborative Intelligenz trifft auf Industrie-Expertise
Was bedeutet das für das Testing?
Bisher findet Low-Code/No-Code vorwiegend bei einfachen Projekten oder kleineren Erweiterungen statt, die keine vollständige Anwendungsentwicklung erfordern – Tests sind dafür meist nicht notwendig. Kommt Low-Code/No-Code aber in komplexeren Applikationen zum Einsatz, ist es nur eine Frage der Zeit, bis ein kritischer Schwellenwert erreicht ist und das Testing plötzlich unverzichtbar wird.
Testing automatisieren
Auch die großen Enterprise-Applikationen folgen dem Low-Code-Trend und steigern künftig den Bedarf an Tests in diesem Bereich. So verlagern z.B. SAP und Oracle immer mehr Flexibilisierung von der Code- auf die Konfigurationsebene. Kunden können Anwendungen dann intensiv anpassen, ohne dass sie selbst programmieren müssen. Das bedeutet aber auch, dass sie Möglichkeiten brauchen, diese Umgebungen zu testen. Dies darf aber nicht zu Lasten der Effizienz gehen und die erzielten Ressourcen-Ersparnisse wieder zunichte machen. Eine Lösung liegt daher in der Testautomatisierung, die ebenfalls auf einer Low-Code-Plattform basiert und sowohl die agile Software-Entwicklung als auch komplexe Enterprise-Applikationen unterstützt.
Funktionales und nicht-funktionales Testing
Der größte Vorteil lässt sich erzielen, wenn die Trennung zwischen funktionalen und nicht-funktionalen Tests in der Konzeption aufgehoben wird. Doch was bedeutet das? Funktionale Tests dienen dazu, sicherzustellen, dass eine Applikation wie beabsichtigt läuft. Sie sind immer anwendungsspezifisch. Nicht-funktionale Tests prüfen dagegen eher generische Anforderungen wie die Performance oder die Security. Hier lassen sich viele Kriterien festlegen, die allgemeingültig sind – z.B. dass man eine Web-Applikation vor Angriffen wie SQL-Injection schützt oder auf eine Ladezeit unter drei Sekunden achtet. Sobald das Team eine funktionale Testdefinition erstellt hat, kann es sie mit den generischen Anforderungen der nicht-funktionalen Tests anreichern und in eine Performance-Testdefinition oder eine Security-Testdefinition umwandeln. Bei Tricentis wurden etwa Funktions- und Performance-Tests verknüpft. Derzeit arbeiten das Unternehmen daran, auch Security-Tests einzubinden.