AWS News KW 29 und KW 30

Amazon Translate: Support für Japanisch, Russisch, Italienisch, traditionelles Chinesisch, Türkisch und Tschechisch

Amazon´s Übersetzungs Service Amazon Translate der auch für das Polly WordPress Plugin zum Einsatz kommt (siehe hier) unterstützt ab sofort auch Japanisch, Russisch, Italienisch, traditionelles Chinesisch, Türkisch und Tschechisch.

Weitere Informationen zu Amazon Translate hier.

EC2 Instanzen für Snowball Edge

Amazon bietet die Möglichkeit EC2 Instanzen auf Snowball Edge Geräten laufen zu lassen. Sownball Edge ist ein Stand Alone Gerät um große Datenmengen zu AWS zu exportieren indem einfach das komplette Device per Post an Amazon gesendet wird.

Mit der Möglichkeit eigene Amazon Machine Images auf diesen Geräten ausführen zu können, können die lokal anfallenden Daten effektiv vor-verarbeitet werden.

Besonders nützlich kann dieses Szenario in Umgebungen mit keiner oder nur eingeschränkter Internet Konnektivität sein.

Weitere Informationen zu Snowball Edge Funktionen hier.

EC2 – Neue Instanztypen

z1d 

Dieser neue Instanztyp basiert auf Intel Xenon Prozessoren mit bis zu 4.0 GHz und ist besonders für Rechenintensive Workloads beispielsweise HPC Anwendungen interessant. Darüber hinaus können Anwendungen die pro CPU bezahlt werden wie einige Datenbanken von der Mehrleistung pro CPU profitieren. Der Instanztyp ist in folgenden Konfigurationen verfügbar.

Instance Name vCPUs Memory Local Storage EBS-Optimized Bandwidth Network Bandwidth
z1d.large 2 16 GiB 1 x 75 GB NVMe SSD Up to 2.333 Gbps Up to 10 Gbps
z1d.xlarge 4 32 GiB 1 x 150 GB NVMe SSD Up to 2.333 Gbps Up to 10 Gbps
z1d.2xlarge 8 64 GiB 1 x 300 GB NVMe SSD 2.333 Gbps Up to 10 Gbps
z1d.3xlarge 12 96 GiB 1 x 450 GB NVMe SSD 3.5 Gbps Up to 10 Gbps
z1d.6xlarge 24 192 GiB 1 x 900 GB NVMe SSD 7.0 Gbps 10 Gbps
z1d.12xlarge 48 384 GiB 2 x 900 GB NVMe SSD 14.0 Gbps 25 Gbps

R5 und R5d

R5 ist der Nachfolger des R4 Instanztyps und basiert auf Intel CPU´s mit bis zu 3.1 GHz und ist für Anwendungen die sehr viel Arbeitsspeicher benötigen gedacht. Die R5d Instanzen haben die selben Spezifikationen wie die R5 Instanzen, besitzen aber schnelleren Plattenspeicher der per NVMe angebunden ist. R5 Instanzen sind mit folgenden Spezifikationen verfügbar.

Instance Name vCPUs Memory EBS-Optimized Bandwidth Network Bandwidth
r5.large 2 16 GiB Up to 3.5 Gbps Up to 10 Gbps
r5.xlarge 4 32 GiB Up to 3.5 Gbps Up to 10 Gbps
r5.2xlarge 8 64 GiB Up to 3.5 Gbps Up to 10 Gbps
r5.4xlarge 16 128 GiB 3.5 Gbps Up to 10 Gbps
r5.12xlarge 48 384 GiB 7.0 Gbps 10 Gbps
r5.24xlarge 96 768 GiB 14.0 Gbps 25 Gbps

Weitere Informationen zu EC2 Instanz Typen hier.

Amazon Polly: Zeit basierter Satzrhythmus und asynchroner Aufruf

Amazon Polly bietet ab sofort die Möglichkeit den Satzrhythmus (Prosody) zu beeinflussen. Der Satzrhythmus wird durch die Angabe einer Maximalzeit für einen Textabschnitt variiert. Jeder Block kann dabei maximal 1500 Zeichen aufnehmen.

Um lange Texte in Sprache zu synthetisieren bietet Amazon jetzt eine asynchrone Schnittstelle die bis zu 100k Zeichen pro Aufruf erlaubt und das Ergebnis direkt in S3 speichert. Nach erfolgreiche Synthese erhält der Aufrufer eine entsprechende Mail.

Weitere Infos zu Amazon Polly hier.

Amazon SageMaker Batch Transform und Pipe Input Mode für Tensorflow Container

Amazons ML Model Training Tool SageMaker hat die neuen Features Batch Transform für die Transformierung von großen Sätzen an Eingangsdaten, sowie Pipe Input Mode für Tensorflow Container erhalten.

Batch Transform

Dieses neue Feature kann Beispielsweise für die Objekterkennung in einer großen Anzahl von Bildern genutzt werden.

Pipe Input Mode für Tensorflow

Trainingsdatensätze können jetzt direkt von S3 in den Container gestreamt werden. Das neue Feature bietet eine deutlich gesteigerte Performance gegenüber der File Input Variante bei der Die Daten zuerst auf das EBS Volume kopiert werden mussten.

Das hat zur Folge das der Trainingsjob schneller startet und auch weniger Plattenplatz benötigt und damit die Kosten für das trainieren des ML Models sinken.

Weiter Informationen zu SageMaker hier.

 

Veröffentlicht unter Cloud & Infrastructure | Verschlagwortet mit , , , , , | Kommentar hinterlassen

GraphQL Demo (1/8) – Einführung in GraphQL und unsere Demo-Anwendung

Zunächst kurz zu uns: Wir, Phillip Fehrmann und Manuel Styrsky sind beide als Werkstudenten in der Software Entwicklung bei Opitz Consulting Deutschland GmbH beschäftigt und haben uns um Zuge dessen in das Thema GraphQL eingearbeitet und dabei auch ein Backend für eine kleine Chat-App auf Basis von GraphQL entwickelt. In dieser Blogserie wollen wir auf die Punkte von GraphQL eingehen, die uns während dem Projekt besonders aufgefallen sind und vor allem Unterschiede zu REST ausarbeiten.

Was ist GraphQL?

GraphQL ist eine neuere Schnittstellentechnik und soll als Query Language für Schnittstellen eine Alternative zu REST darstellen. GraphQL kann in jeder Programmiersprache in Kombination mit beliebigen Datenbanken und anderen Datenquellen umgesetzt werden, viele Frameworks und Codebeispiele sind jedoch in JavaScript gehalten, ebenso die Referenzimplementierung von GraphQL. Dabei werden Anfragen an die Schnittstelle in Form von Queries gestellt, die der Client nach seinen Datenbedürfnissen aufsetzt und die anschließend vom Server bearbeitet werden. Antworten werden entsprechend der Anfragen als JSON-Objekte zurückgegeben und enthalten nur die angefragten Daten. Die Vorteile sind unabhängigere, flexiblere Clients, weniger Anfragen an den Server und keine Übermittlung ungenutzter Daten. Einen genaueren Vergleich mit REST, in dem wir näher auf Vor- und Nachteile eingehen, kommt demnächst in dieser Blogserie.

Unsere Demo Anwendung

Um das Thema zu vertiefen und gleichzeitig eine GraphQL-Schnittstelle zu entwickeln, haben wir eine kleine Demo-Anwendung geschrieben, die einen einfachen Backend Server für eine Chat-App darstellt. Diese läuft als NodeJS Server mit dem Apollo Framework und einer MariaDB SQL-Datenbank und wurde in TypeScript geschrieben. Bei der Entwicklung des Backends haben wir einige Techniken zur Entwicklung von GraphQL-Schnittstellen ausprobiert, sind auf Hindernisse gestoßen, haben Lösungen gefunden und stießen natürlich auch auf Probleme, die wir noch nicht lösen konnten. So haben wir uns unter anderem mit Caching, Batching mit dem Dataloader, Ratelimiting, Authorization und Monitoring beschäftigt. Auch Schema Stitching und Remote Schemas haben wir mit zwei Microservices und einem Gateway genutzt. Zu all diesen Themen veröffentlichen wir nun demnächst tiefer gehende Blogeinträge.

Unsere Einschätzung

Grundsätzlich halten wir die Idee hinter GraphQL für sehr nützlich: Ein Client bestimmt die Daten, die ein Server liefert und dieser benötigt dazu nur sehr wenige Aufrufe. Jedoch sind Dokumentationen und Lösungen zu Problemen bei GraphQL an vielen Stellen noch sehr unausgereift. Meist können zwar einfache Teilprobleme mit wenig Aufwand bewältigt werden, während andere Problemfälle nicht abgedeckt werden.

Um die verschiedenen Probleme und unsere Lösungen dazu geht es in den folgenden Einträgen. Dranbleiben lohnt sich!

Veröffentlicht unter Cloud & Infrastructure, Software Engineering | Verschlagwortet mit , , , , , , , , , | Kommentar hinterlassen

Wie programmiert man Google Home Assistent Skill? Node.js, Express App und Dialogflow

Laut einer Studie von Canalys werden bis Ende 2018 weltweit rund 100 Millionen intelligente Lautsprecher verkauft. [1] Dazu gehören unter anderem Google Home, Amazon Alexa und Apple HomePod. Nach Schätzungen von einer anderen Firma, Tractica wird die Anzahl der Benutzer dieses Typs Geräte bis 2025 voraussichtlich auf eine Milliarde ansteigen [2].  Der gleiche Rapport prognostiziert, dass der ganze Markt bis 2025 für Virtual Digital Assistenten Software  7.7 Milliarden Dollar wert sein wird.

Wir können erwarten, dass die Zukunft der Internetlösungen in vielen Bereichen auf Sprachassistenten basieren wird. Dabei werden vor allem die Firmen profitieren bei denen  zeitkritische Anwendungen die größte Rolle spielen.

Die Sprachassistenten lassen langwierige und zeitraubende manuelle Suchen auf der Tastatur obsolet werden und befreien uns davon, von einer Masse von Inhalten überwältigt zu werden, die uns bei der aktuellen Suche nicht interessieren. Sprachsuche ist der nächste Schritt auf dem Gebiet der Digitalisierung von medialen Inhalten. Es ersetzt die manuelle Suche, die im Moment die vorherrschende Form der Kommunikation zwischen Mensch und Computer darstellt. Der Assistent wird diesen Prozess straffen und ihn direkter und zugänglicher machen. Es ist auch eine Chance für Menschen, die zum Beispiel aus gesundheitlichen Gründen eingeschränkt sind, im Internet zu surfen.

Höchste Zeit daher für Entwickler sich mit der Programmierung von Sprachassistenten zu beschäftigen. In diesem Artikel werden wir die Grundlagen der Programmierung von Google Home Assistant vermitteln und zeigen wie man einen einfachen Skill bauen kann. (Amazon Alexa wurde von uns bereits in einem anderen Blogartikel beschrieben).

Google Assistant wurde vor zwei Jahren auf der Google I/O 2016 Konferenz vorgestellt. Er ist offiziell in 14 Ländern verfügbar und kommuniziert mit seinen Nutzern in acht Sprachen: Französisch, Japanisch, Italienisch, Deutsch, Portugiesisch, Englisch, Spanisch und Koreanisch. Die Anzahl der Sprachen ist noch nicht allzu groß, aber es zeigt auch, in welchen Märkten sich das Unternehmen am meisten konzentriert. Aus diesem Grund wurde während der diesjährigen I/O Konferenz 2018 mitgeteilt, dass Google Home Assistant bis Ende des Jahres in 52 Ländern verfügbar sein wird und mit den Nutzern in 25 Sprachen kommunizieren kann.

Im weiteren Teil des Artikels werden wir zeigen, wie man einen einfachen Google Home Assistant Skill für Radfahrer schreibt, der uns sagen wird, welches Wetter zu erwarten ist.

1.

Erstellen Sie zuerst ein neues Projekt in Google Actions https://developers.google.com/actions/

(Dazu benötigen Sie ein Google Konto). Klicken Sie „add/Import Project“ und geben Sie dem Projekt einen Namen (der Name ist irrelevant) und klicken Sie dann auf „create project“.

Auf der nächsten Seite einfach „skip“ auswählen.

In Actions definieren Sie die Invokation für den Skill, d.h. wie man den Skill aufrufen kann.

Sie haben ihr erstes Projekt erstellt. Der Simulator ist noch nicht aktiv.

Deswegen müssen wir DialogFlow https://console.dialogflow.com öffnen.

Erstellen Sie einen Agenten.

https://console.dialogflow.com/api-client/#/newAgent

Vergessen Sie nicht ihr erstelltes Projekt von Google Actions in DialogFlow zu importieren. Der Name in Dialogflow ist frei wählbar.

Im nächsten Schritt fügen Sie ein neues Intent „welcomeIntent“ hinzu. Intent ist quasi eine Funktion darauf Google Home Assistant reagiert wird.

6.

Wenn Sie „welcomeIntent“ selbst in ihrem Code definieren möchten, müssen Sie „Enable webhook call for this intent“ aud der Ende der Seite aktivieren und „save“ klicken.

Fügen Sie noch einen Intent hinzu, der die Wetterberichte holt. Geben Sie diesem Intent den Namen „getWeatherForcastIntent“.

Als Traning Phrases fügen Sie die folgenden Sätze ein:

Tell me the weather for Essen

Berlin

DialogFlow wird Essen automatisch als @sys.geo-city (also als einen Parameter) definieren. So können Sie in dem Skill nach allen Städten in der Welt fragen.

Zusätzlich müssen Sie auch Fulfillment als „Enable webhook call for this intent“ aktivieren.

Clonen Sie danach bitte mein Git Projekt:

https://github.com/falent/googleHomeAssistantExpressNodeJS

9.

Öffnen Sie 2 Terminal Tabs.

Im ersten Tab führen Sie folgenden Befehl aus:

cd googleHomeAssistantExpressNodeJS

./ngrok http 5000

Ngrok sichert, dass ihr Rechner ein Server für ihren Skill ist.

Sie bekommen eine zufällige Adresse:

https://5f04bf42.ngrok.io

  1. Wenn Sie kein node.js haben, installieren Sie es https://nodejs.org/en/download/ und dazu noch nodemon

npm install -g nodemon

(https://www.npmjs.com/package/nodemon es hilft uns die Änderungen sofort zu berücksichtigen)

11.

Starten Sie den Skill

cd googleHomeAssistantExpressNodeJS

nodemon index.js

Jetzt können wir zum Dialogflow zurückkommen und „Fullfilment“ Addresse einfügen. Es führt zu ihrem Rechner. In meinem Fall war es:

https://5f04bf42.ngrok.io/

Und „save“

Am Ende gehen Sie in Dialogflow zu Integrations und wählen Sie Google Assistant.

Erstellen Sie explicit eine Invocation als welcomeIntent!

Jetzt können Sie Ihren Skill im Actions Simulator testen. Klicken Sie unten Test.

Sie können auch ihr Skill mit Google Home Lautsprecher testen.

Für diesen Google Home Assistant Skill haben wir node.js als Programiersprache gewählt, weil es relativ einfach ist. Wir haben uns für die Node.js Express App entschieden, weil man die Applikation überall einfach als web-app hosten kann (AWS, Firebase, Heroku oder alle node.js https Servers)

In dem nächsten Blogartikel schreiben wir wie man unseren Skill bei Heroku deployen kann.

Falls Sie mehr über die Programmierung von Google Home Assistant lernen wollen, laden wir Sie herzlich zu unserem Google Home Assistant Hackathon in München ein. Wir planen ein Event im Oktober oder im November 2018 zu veranstalten. Alle Termine finden Sie bald in unserem MeetUp Profile:

https://www.meetup.com/Munchen-Coding-Dojo-Meetup/

Tomasz Krajewski und Christina Resing

References:

[1] https://www.canalys.com/newsroom/smart-speaker-installed-base-to-hit-100-million-by-end-of-2018

[2] https://www.tractica.com/newsroom/press-releases/enterprise-virtual-digital-assistant-users-to-surpass-1-billion-by-2025/

Veröffentlicht unter IoT & Industry 4.0, Software Engineering, Uncategorized | Verschlagwortet mit , , , , , , , | Kommentar hinterlassen

Computer, ist das eine Katze?

Volles Haus bei Machine Learning Hackathon in der Münchner Niederlassung

Am 09. Juni 2018 fand im Rahmen des OC|Expert Camps der Hackathon „Intro in Machine Learning“ statt. Mit insgesamt etwa 40 Teilnehmern und viel Coding und guter Laune war das Event für uns ein voller Erfolg!

oc-expert-camp-1
Volles Haus und gute Laune.

Dieses OC|Expert Camp lief etwas anders als die Events zuvor. Nicht nur, dass die Teilnehmer alle (über-)pünktlich da waren, es kamen auch doppelt so viele Leute wie wir erwartet hatten. Für gewöhnlich haben wir bei den über meetup.com angekündigten Veranstaltungen Show-Rates im Bereich 20 % – 30 %. Bei diesem Hackathon lag sie bei 38 %. Um die vielen Studenten und Entwickler in der Niederlassung unterzubekommen, wandelten wir kurzer Hand Büroräume, Küche und auch die Terrasse mit „Garten“ in Hackathon-gerechte Arbeitsflächen um. Gleich mehrere Faktoren können zu der großen Teilnehmerzahl geführt haben:

  • Das Thema Machine Learning ist derzeit sehr populär.
  • Das Event fand zum ersten Mal an einem Samstag statt.
  • Wir führen momentan zwei Meetup-Gruppen parallel mit ca. 300 bzw 50 Mitgliedern. Insgesamt kamen wir damit für den Hackathon auf 80 individuelle Anmeldungen.
  • Statistische Fluktuation.

Unsere Presenter waren Thomas Temme, Developer bei OC und Promovent in Informatik mit Schwerpunkt Machine Learning an der Uni Bochum, und Philipp Fehrmann, Werksstudenten bei OC, der sich in seinem Studium mit Machine Learning beschäftigt. Die beiden haben den Hackathon inhaltlich konzipiert und gaben den Teilnehmern zu Beginn einen etwa einstündigen Crash-Kurs in Machine Learning.
Danach begannen wir direkt mit dem „Hacking“.

Bei dem Hackathon ging es darum einen Algorithmus zu trainieren, dem es gelingt Katzen und Hunde auf Bild-Dateien zu erkennen. Die Teilnehmer stellten sich der Challenge „Wer implementiert die höchste Accuracy?“. Die Accuracy gibt an, wie viele Vorhersagen des Algorithmus relativ zur gesamten Zahl der Vorhersagen zutreffen.

Die glücklichen Sieger, eine 5-er Gespann rund um unseren Werksstudenten Manuel Styrsky mit einer Accuracy von 73,6 %, durften schließlich als stolze Besitzer vier cooler Lego-Technik-Bausätze nach Hause gehen.

oc-expert-camp-2
Die Sieger des OC|Expert Camp Machine Learning Hackathons.

Du hast diesen Hackathon verpasst? Kein Problem: Am 18. August 2018 findet in Essen ein ganz ähnlicher Machine Learning Hackathon statt und Thomas ist auch wieder mit dabei!

Desweiteren findet bei uns in München auch schon bald der nächste Hackathon statt, diesmal zum Thema Amazon Webservices und serverless – alle Infos dazu findest du hier.

Veröffentlicht unter Uncategorized | Verschlagwortet mit , | Kommentar hinterlassen

Automatisierung von fachlichen UI-Tests mit Selenium (2/2)

Im ersten Teil unserer Artikelreihe haben wir euch die Vorteile automatisierter Oberflächentests, die Besonderheiten des Test-Frameworks Selenium sowie das Vorgehen damit beim lokalen Testen dargelegt. Für weniger anspruchsvolle Zwecke sollte das bis dahin vermittelte Wissen auch ausreichend sein, um im kleinen Rahmen schnell und einfach eine erste Lösung aufzusetzen. Das volle Potenzial der Testautomatisierung kann sich jedoch erst in einem Selenium Grid am besten entfalten. Damit wird nämlich auch eine saubere Lösung in Richtung Continuous Delivery möglich.

Mit Selenium Grid verteilt und parallelisiert testen

Die Selenium Grid-Architektur baut im Prinzip auf einen Proxy-Ansatz auf, der vereinfacht ausgedrückt, die Weiterleitung der Tests von einem Punkt an entfernt liegende Punkte ermöglicht. Das Ziel dahinter ist, eine einfache Möglichkeit zu bieten, Tests verteilt und auf mehreren Rechnern parallel ausführbar zu machen.

Hub + Node(s) = Selenium Grid

Im Selenium Grid gibt es dazu die beiden Rollen Hub und Node, die ihre entsprechende Rolle beim Start einer Selenium-Instanz zugeteilt bekommen. Ein Selenium Hub wird dabei mit mehreren Selenium Nodes zu einem Grid zusammengefasst.

Der Hub ist der verwaltende Teil des Grids, d.h. er vermittelt die an ihn zugetragenen Testskripte ressourcen- und bedarfsgerecht an die ihm bekannte Nodes.
Die Nodes wiederum führen die vom Hub übermittelten Testskripte aus. Vorher jedoch registriert sich jeder Node direkt am Hub und teilt seine individuelle Testkonfiguration mit, wie z.B. welchen Browser und Browserversion er unterstützt oder welches Betriebssystem darauf installiert ist (siehe nachfolgende Abbildung).

Selenium Grid

Verteiltes und parallelisiertes Testen mit Selenium

Weiterlesen

Veröffentlicht unter Frontend Development, Software Engineering, Strategy & Methods | Kommentar hinterlassen

AWS News KW 27 und KW 28

AWS Storage Gateway Updates

AWS Storage Gateway ist ein Service der lokal eine Verbindung zu S3 herstellt und als File System, Lokale Disk oder als Virtuelles Tape Laufwerk konfiguriert werden kann. Dieser Dienst hat in der letzten Zeit folgende Updates erhalten.

SMB Support: Neben dem bereits verfügbaren NFS Protokoll unterstützt AWS Storage Gateway nun auch das SMB Protokoll für den Zugriff.

Cross-Account Permissions: Dadurch wird folgende Konfiguration optimal unterstützt. Der Gateway läuft unter Account A aber die Objekte werden in einem Bucket von Account B abgelegt. Dieses Setup dient vor allem dafür die Kosten für S3 einzelnen Kostenstellen zuzuordnen.

Requester Pay´s: Im Normalfall zahlt der Eigentümer der Daten für die Datenhaltung sowie für den Datentransfer. Wie bei S3 gibt es jetzt die Möglichkeit den Requester der Daten für den Datentransfer zahlen zu lassen.

File Upload Benachrichtigung: Sobald eine Datei zu S3 hochgeladen wurde wird ein CloudWatch Event erzeugt auf das entsprechend reagiert werden kann.

Cache Refresh Event: Dieser Event wird ausgelöst, wenn der lokale Cache wieder in sync mit dem entfernten S3 Bucket ist.

Weitere Informationen zu AWS Storage Gateway hier.

Lifecycle Management für Amazon EBS Snapshots

Amazons neues Tool „Data Lifecycle Manager“ hilft bei der automatischen Erstellung, Speicherung und Löschung von EBS Snapshots.

Musste das Management der Snapshots bisher selbständig erfolgen wird mit dem neuen Tool eine Policy angelegt, die von entsprechend getaggten EBS Volumes, in festgelegten Abständen einen Snapshot anlegt und diese nach ebenfalls definierter Zeit wieder löscht.

Wie der generische Name vermuten lässt, soll der Data Lifecycle Manager im Laufe der Zeit auch für andere Dienste verwendet werden.

Weitere Informationen zum Data Lifecycle Manager hier.

Amazon Kinesis Video Stream – HLS Outputstream Support

Amazon Kinesis Video Stream ist ein Dienst für die Aufnahme, Verarbeitung und Speicherung von Videodaten für Analyse und ML von einem oder auch Millionen Quellen.

Das neueste Feature für diesen Dienst ist die Möglichkeit HTTP Live Streaming als Outputquelle zu definieren. Damit ist es möglich Livestreaming oder On-Demand Streaming der Videodaten bereit zu stellen. Der Vorteil ist, das HLS bereits ein Standart ist und von vielen Browsern direkt unterstützt wird und daher leicht in eigene UI´s einzubinden ist.

Weitere Informationen zu HLS für Kinesis Video Stream hier.

 

Veröffentlicht unter IoT & Industry 4.0 | Verschlagwortet mit , , | Kommentar hinterlassen

Automatisierung von fachlichen UI-Tests mit Selenium (1/2)

Mit der zunehmenden Agilität in der Softwareentwicklung und somit immer kürzeren Entwicklungszyklen sind manuell durchgeführte Oberflächentests oft nicht mehr umfassend möglich oder wirtschaftlich angemessen. Die automatisierte Ausführung dieser Tests nimmt deshalb in Unternehmen eine zunehmend wichtige Stellung ein.

Automatisierte Oberflächentests bringen dort den größten Nutzen, wo früher manuelle Tester mühselig nach einem vorgegebenen Testplan die Software (teilweise mehrfach auf unterschiedlichen Umgebungen) abgeklickt und geprüft haben. Sie eignen sich jedoch nicht unbedingt dazu, die subjektiven Eigenschaften einer Software zu testen, sprich den menschlichen Umgang damit (Usability / User Experience).

Die Vorteile von Testautomatisierung

Die Umstellung von manuellen auf automatisierte Oberflächentests kann und sollte nicht beiläufig passieren, da sie einen großen Initial- und laufenden Pflegeaufwand benötigt. Dieser Aufwand zahlt sich jedoch langfristig nicht nur monetär, sondern auch qualitativ aus und legt die Basis für eine gute und beständige Softwarequalität.

Die Testautomatisierung hilft nämlich nicht nur dabei, die Oberflächentests ressourcenschonend und beliebig oft wiederkehrend ausführbar zu machen, sie hilft auch dabei, menschliche Fehler, die beim manuellen Testen entstehen können, zu reduzieren und je weniger Fehler die Software hat, desto glücklicher sind die Kunden.

Außerdem sind die Fachexperten, die vorher manuelle Tests durchführten, es nicht mehr leid, in einer hoch monotonen Folge Testpläne abzuarbeiten. Sie haben nun mehr die Möglichkeit, neu hinzugekommene Funktionen ausgiebig zu testen oder tiefer gehende User Experience-Analysen durchzuführen, um die Erwartungshaltung der Kunden an die Software zu erfüllen oder sie möglicherweise sogar darüberhinaus zu begeistern.

Weiterlesen

Veröffentlicht unter Frontend Development, Software Engineering, Strategy & Methods | Kommentar hinterlassen