Fotolia

F

Wie beeinflusst ereignisgesteuertes Computing mit AWS Lambda Softwaretests?

Viele Firmen sind von AWS Lambda begeistert, fürchten aber auch Komplikationen beim Umgang mit der Technologie. Wie beeinflusst Lambda Softwaretests?

Viele Unternehmen sind von den Möglichkeiten von AWS Lambda begeistert, fürchten aber auch Probleme bei der Arbeit mit der Technologie. Wie beeinflusst Lambda Softwaretests?

AWS bietet eine Reihe von Services an, die dafür entworfen wurden, dass Anwendungen bestimmte Aufgaben besser ausführen. Mit der Nutzung von AWS Lambda beinhalten diese Aufgaben nicht mehr allein das Zuschalten neuer virtueller Maschinen und Storage-Instanzen.

Ereignisgesteuertes Computing führt Code aus, wenn ein bestimmtes externes Ereignis eintritt, wie zum Beispiel ein Websiteklick oder eine Slack-Nachricht. Wenn das Ereignis eintritt, lädt AWS die Lambda-Funktion, führt sie aus und beendet sie wieder. Cloud-Ressourcen kommen nur dann zum Einsatz, wenn ein Lambda-Ereignis behandelt wird. Ein Unternehmen bezahlt nur für jede ausgeführte Funktion.

Da ereignisgesteuertes Computing die Art und Weise ändert, wie Unternehmen Anwendungen entwickeln können, beeinflusst es auch den Ansatz, wie IT-Teams Tests zur Qualitätssicherung machen. Der Qualitätssicherungsprozess muss aber auch die Verfügbarkeit und Performance von AWS berücksichtigen. Zum Beispiel beeinflusst jede Störung des ereignisgesteuerten Services, Netzwerks oder übermässiger AWS-Traffic die Anwendung negativ. Eine korrekte Softwarearchitektur und ein korrektes Design sind unumgänglich, um diese Probleme zu meistern.

Es gibt zwei generelle Methoden, die Qualitätssicherheit einer ereignisgesteuerten Architektur zu testen.

Eine Methode, um ereignisgesteuertes Computing zu testet, ist, ein Ereignis über einen Menschen auszulösen. Aufgabenbasierte Arbeitspools wie Amazon Mechanical Turk, können menschliche Arbeiter mit sogenannten Human Intelligence Tasks (HIT), also individuellen menschlichen Aufgaben, verbinden. Das erlaubt es, Huntertausende Klicks oder andere menschliche Reaktionen zu implementieren.

Zum Beispiel kann ein Entwicklungsteam HIT erstellen, die es menschlichen Testpersonen ermöglicht, Umfragen zu beantworten, Benutzeroberflächen zu bewerten, Links zu überprüfen und eine breite Palette von anderen Aufgaben innerhalb des Testprozesses auszuführen. Die Testpersonen finden und übernehmen so viele Aufgaben, wie ihnen angewiesen wurden und werden dafür bezahlt, diese vollständig auszuführen. Für diese Tests müssen Unternehmen somit keine neue Mitarbeiter einstellen, um relativ einfache Ziele zu erfüllen.

Eine andere Testmethode ist die Verwendung eines Services wie Zapier, der Anwendungen verbindet, um wiederholende Aufgaben zu automatisieren. Zapier erstellt einen Trigger für eine Anwendung mit einer Aktion in einer anderen – jede Kombination wird als Zap bezeichnet. Zaps ermöglichen dem Anwender automatisierte Workflows.

Der Service kann eine Lambda-Funktion mit einem Web-Hook, Webereignis oder durch eine neue Nachricht in Slack automatisieren und dann Daten von Softwaretestservices wie Rainforest QA zu Lambda übertragen. Es kann auch benutzerdefinierte Zaps erstellen, um AWS Lambda-Funktionen zu testen. Damit Zapier auf diese Weise funktioniert, benötigt man ein AWS-Konto und Lambda-Funktionen. Ist ein Zap erstellt, können die Tests große Mengen an Traffic zu den Lambda-Funktionen erzeugen.

Mehr zum Thema AWS Lambda:

Kostenloses E-Handbook: Softwareentwicklung mit Amazon Web Services.

Wann sich AWS Lambda als Alternative für EC2-Instanzen eignet.

Wie lässt sich der Code in AWS Lambda verwalten und überwachen?

Wie setzen sich die Kosten bei AWS Lambda zusammen?

Was ist AWS Lambda und wie kann ein Unternehmen es verwenden?

Folgen Sie SearchEnterpriseSoftware.de auch auf Twitter, Google+ und Facebook!

Erfahren Sie mehr über Cloud Computing

- GOOGLE-ANZEIGEN

ComputerWeekly.de

Close