## TL'DR - Die meisten Menschen nehmen eine Anwendung auf der visuellen Ebene wahr - Automatische Tests auf dieser Ebene durchzuführen, ist daher naheliegend - Visuelle Regressionstests gehen das Problem auf der richtigen Ebene an, aber * sind auch dafür bekannt, dass sie besonders anspruchsvoll in der Entwicklung und auch brüchig in der Ausführung sind - Autoencoder (spezielle Neuronale Netze) können lernen, wie eine Anwendung normalerweise aussieht - Dadurch können wir auch herausfinden wenn ein bestimmter Screen "nicht normal" aussieht - Dies ist eine allgemeinere Form eines visuellen Regressionstests - Wie das gemacht werden kann und welche Art von Fehlern damit entdeckt werden können, ist das Thema dieses Vortrags
## Wie ist euer Kenntnisstand? https://www.menti.com/qhxi158h8f
# Programm 1. Visuelle Regressionstests 1. Machine Learning mit Autoencodern 1. Visuelle Regressionstests mit Autoencodern (Hauptteil) 1. Ist das schon das Ende und was kann man damit noch machen?
# Programm 1. _Visuelle Regressionstests_ 1. Machine Learning mit Autoencodern 1. Visuelle Regressionstests mit Autoencodern 1. Ist das schon das Ende und was kann man damit noch machen?
### Taugt das? *Ja, weil es auf der Ebene testet, die auch der Benutzer sieht, aber* * man muss für jeden Fall eine Ground-Truth erzeugen und pflegen * viele false positives: Es gibt eine ganze Reihe von Abweichungen, die offensichtlich keine Fehler sind * der Test hat kein generelles, intelligentes Verständnis von einer heilen Anwendung
## Welche Fehler kann ein nur ein visueller Regressionstests finden?
## Schwierigkeit ### Woher bekommen wir für jede beliebige Darstellung die als heil erwartete?
# Programm 1. Visuelle Regressionstests 1. _Machine Learning mit Autoencodern_ 1. Visuelle Regressionstests mit Autoencodern 1. Ist das schon das Ende und was kann man damit noch machen?
# Programm 1. Autoencoder 1. Visuelle Regressionstests 1. _Visuelle Regressionstests mit Autoencodern_ 1. Ist das schon das Ende und was kann man damit noch machen?
## Schwierigkeit ### Woher bekommen wir für jede beliebige Darstellung die als heil erwartete? Oder zumindest irgendetwas zum Vergleich?
# Programm 1. Autoencoder 1. Visuelle Regressionstests 1. Visuelle Regressionstests mit Autoencodern 1. _Ist das schon das Ende und was kann man damit noch machen?_
## Autoencoder
## Testing
### Die Ergebnisse sind immer noch nicht auf menschlichem Niveau * Wir erkennen z.B. lange Zahlen und wissen, ob die sinnvoll sein können * Überläufe sehen wir mit System 1, ohne nachzudenken * Permantent fehlende Knöpfe oder fehlende Funktionalität können auch weiterhin nur Menschen erschließen
### Offene Fragen * Wie kommt man eigentlich an gute Trainingsdaten * Man müsste jeden sinnvollen Zustand der Anwendung durchklicken und einen Screenshot machen * ist für sich schon ein ML Problem * RL mit PPO möglich, aber technisch nicht trivial * Oder noch radikeler: was nimmt man eigentlich zum Training * wie unterscheidet man komplett neue und korrekte Features von Fehlern? * Major Release viel problematischer als Minor Release * kann man auf demselben Datensatz Fehler finden mit dem man auch trainiert hat? * dann muss man annehmen, dass das meiste heil ist * bei i18n Fehlern nicht unbedingt gegeben