Kann man GUI Eingaben zum Testen automatisieren?



  • Gibt es eine Möglichkeit GUI Oberflächen die mit den Toolkits WinAPI, MFC, GTK+, Qt oder wxWidgets geschrieben wurden automatisiert zu testen?

    Also so, daß man nicht manuell mit der Maus die Buttons und ihre Wirkung usw. auf Funktion testen muß?



  • Applikationen die soweit sind das alles voll automatisiert getestet wird sind meist durch ein Pattern aufgebaut wo die Oberfläche strikt von der Funktionalität getrennt ist.

    MVP, MVC, MVVM usw

    Da kann man dann die Funktionalität mit normalen Unit Tests komplett mit fake Daten durch testen ohne eine Oberfläche anfassen zu müssen.



  • David W schrieb:

    Applikationen die soweit sind das alles voll automatisiert getestet wird sind meist durch ein Pattern aufgebaut wo die Oberfläche strikt von der Funktionalität getrennt ist.

    MVP, MVC, MVVM usw

    Da kann man dann die Funktionalität mit normalen Unit Tests komplett mit fake Daten durch testen ohne eine Oberfläche anfassen zu müssen.

    Im realen Leben sind GUI-Tests trotzdem erforderlich; dies schon deshalb, weil es genug existierenden Code gibt, der derartige Idealkriterien nicht erfüllt, aber trotzdem von soliden Tests abgesichert sein soll. Und außerdem will man manchmal auch gezielt das UI testen und nicht die Funktionalität dahinter. Dafür gibt es dann Tools wie z.B. TestComplete.



  • Die anfrage las sich so das die Funktionalität getestet werden soll, nicht die Oberfläche.

    Das die Oberfläche getestet werden soll leugne ich keineswegs 😉 Diese dann aber Separat von den Funktionalitäten.



  • Autotest? schrieb:

    Gibt es eine Möglichkeit GUI Oberflächen die mit den Toolkits WinAPI, MFC, GTK+, Qt oder wxWidgets geschrieben wurden automatisiert zu testen?

    Also so, daß man nicht manuell mit der Maus die Buttons und ihre Wirkung usw. auf Funktion testen muß?

    http://en.wikipedia.org/wiki/List_of_GUI_testing_tools



  • Wichtig ist nur:
    GUI Tests und Funktionstests sind zu trennen.



  • David W schrieb:

    Die anfrage las sich so das die Funktionalität getestet werden soll, nicht die Oberfläche.

    Aber ja. Ich weiß auch nicht mehr, warum ich beim Satz "Gibt es eine Möglichkeit GUI Oberflächen [...] automatisiert zu testen?" nicht gleich an rein funktionale Tests gedacht habe.



  • Kann man GUI Eingaben zum Testen automatisieren?

    Also so, daß man nicht manuell mit der Maus die Buttons und ihre Wirkung usw. auf Funktion testen muß?

    Eindeutig soll die Funktionalität hinter der GUI getestet werden.



  • Du willst offenbar zum Testen festgelegte Benutzereingaben sparen, um nicht alles in der Testphase mühsam eingeben zu müssen? 😕 Kann Sinn machen und geht mit WinApi jederzeit! 🕶 Du musst nur die entsprechenden WinApi-Funktionen (bei Dialogen z.B. SetDlgItemText, SetDlgItemInt, ...) einsetzen oder mit SendMessage hantieren. Die saubere Trennung der Testversion von der Releaseversion bleibt dir überlassen. Nach der Testphase auskommentieren ist der einfachste Weg und kann später jederzeit reaktiviert werden.


Log in to reply