dc.contributor.advisor | Grabowski, Jens Prof. Dr. | de |
dc.contributor.author | Herbold, Steffen | de |
dc.date.accessioned | 2012-09-14T15:51:21Z | de |
dc.date.accessioned | 2013-01-18T13:23:02Z | de |
dc.date.available | 2013-01-30T23:50:55Z | de |
dc.date.issued | 2012-09-14 | de |
dc.identifier.uri | http://hdl.handle.net/11858/00-1735-0000-000D-F06E-6 | de |
dc.identifier.uri | http://dx.doi.org/10.53846/goediss-2535 | |
dc.description.abstract | Der Großteil von moderner Endnutzer
Software ist eventgetrieben, das heißt durch graphische
Benutzeroberflächen (GUIs), Smartphone Apps oder Webanwendungen.
Beispiele für Events sind Mausklicks in GUI Applikationen, das
Berühren des Touchscreens eines Smartphones und Klicks auf Links in
Webanwendungen. Aufgrund der hohen Durchdringung von
eventgetriebener Software ist die Qualitätssicherung dieser Art von
Software entscheidend um qualitativ hochwertige Endnutzersoftware
zu erstellen. In dieser Arbeit betrachten wir eine
benutzungsbasierte Strategie für das Testen von eventgetriebener
Software. Der Vorteil von benutzungsbasierten Strategien ist, dass
der Testfokus auf häufig benutzten Teilen der Software liegt,
während selten benutzte Teile der Software nur sporadisch getestet
werden. Hierdurch wird die durch den Benutzer wahrgenommene
Softwarequalität optimiert und der Testaufwand ist reduziert im
Vergleich zum intensiven Testen der kompletten Software. Das Ziel
dieser Arbeit ist zweigeteilt. Auf der einen Seite wollen wir den
State-of-the-Art des benutzungsbasierten Testen vorantreiben. Wir
definieren neue Überdeckungskriterien für die Evaluierung des
Testaufwands in Bezug auf die Benutzung. Weiterhin schlagen wir
drei neue benutzungsbasierte Testfallgenerierungsansätze vor. Zwei
dieser Ansätze verfolgen die klassische Art und Weise der
benutzungsbasierten Testfallerstellung. Das bedeutet das Testfälle
randomisiert aufgrund der Benutzungswahrscheinlichkeiten abgeleitet
werden. Unser dritter Ansatz verfolgt eine andere Richtung. Wir
definieren eine Heuristik, die eine Testsuite ermittelt, welche die
unsere benutzungsorientierten Überdeckungskritierien optimiert. Wir
evaluieren diese Erweiterungen des benutzungsbasierten Testens in
zwei großen Fallstudien und demonstrieren dadurch den Wert unserer
Arbeit. Auf der anderen Seite stellen wir ein plattformunabhängiges
Framework zum benutzungsbasierten Testen, welches die Applikation
von benutzungsorientierten Techniken auf verschiedenen
eventgetriebenen Softwareplattformen erlaubt. Beispiele für
eventgetriebene Softwareplattformen sind Frameworks für GUIs, wie
zum Beispiel Qt oder Webanwendungsplattformen, wie zum Beispiel PHP
basierte Webseiten, welche auf einem Apache Webserver laufen. In
der Vergangenheit war die Forschung an benutzungsorientierten
Testmethoden auf einzelne eventgetriebene Softwareplattformen
beschränkt. Die Resultate mussten entweder von Hand durch
Neuimplementierungen auf andere Plattformen portiert werden oder
die Ergebnisse wurden bisher nicht übertragen. Unser Framework
stellt eine Lösung für dieses Problem dar und erlaubt einen
einfachen Transfer der Ergebnisse auf verschiedene eventgetriebene
Softwareplattformen. Der Ansatz, den wir verfolgen, basiert auf der
Idee, die benutzungsbasierten Testtechniken auf abstrakte Events
anzuwenden und zwischen abstrakten Events und plattformspezifischen
Events zu übersetzen. Um die Umsetzbarkeit unseres Frameworks zu
demonstrieren, haben wir eine Proof-of-Concept Implementierung des
Frameworks entwickelt. | de |
dc.format.mimetype | application/pdf | de |
dc.language.iso | eng | de |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/3.0/ | de |
dc.title | Usage-based Testing of Event-driven Software | de |
dc.type | doctoralThesis | de |
dc.title.translated | Benutzungsbasiertes Testen von eventgetriebener Software | de |
dc.contributor.referee | Grabowski, Jens Prof. Dr. | de |
dc.date.examination | 2012-06-27 | de |
dc.subject.dnb | 004 Informatik | de |
dc.subject.gok | EGIN 990 | de |
dc.subject.gok | EGIW 200 | de |
dc.description.abstracteng | Most modern-day end-user software is
Event-driven Software (EDS), i.e., accessible through Graphical
User Interfaces (GUIs), smartphone apps, or in form of Web
applications. Examples for events are mouse clicks in GUI
applications, touching the screen of a smartphone, and clicking on
links in Web applications. Due to the high pervasion of EDS, the
quality assurance of EDS is vital to ensure high-quality software
products for end-users. In this thesis, we explore a usage-based
approach for the testing of EDS. The advantage of a usage-based
testing strategy is that the testing is focused on frequently used
parts of the software, while seldom used parts are only tested
sparsely. This way, the user-experienced quality of the software is
optimized and the testing effort is reduced in comparison to
traditional software testing. The goal of this thesis is twofold.
On the one hand, we advance the state-of-the-art of usage-based
testing. We define novel test coverage criteria that evaluate the
testing effort with respect to usage. Furthermore, we propose three
novel approaches for the usage-based test case generation. Two of
the approaches follow the traditional way in usage-based testing
and generate test cases randomly based on the probabilities of how
the software is used. With our third test case generation approach,
we take a different direction and define a heuristic that generates
a test suite to optimize our usage-based coverage criteria. We
evaluate our contributions to usage-based testing in two
large-scale case studies that show the value of our work. On the
other hand, we provide a platform-independent framework for
usage-based testing that allows the application of usage-based
testing to different EDS platforms. Examples for EDS platforms are
concrete GUI frameworks like Qt or concrete Web application
platforms, e.g., PHP-based websites running on an Apache Web
server. In the past, research effort for usage-based testing has
always focused on one specific EDS platform and its results were
either transferred to other EDS platforms through re-implementation
or not at all. Through our framework, we provide a remedy for this
issue and allow an easy transfer of results between different EDS
platforms. Our approach is the application of the usage-based
testing techniques to an abstract notion of events and the
translation between platform-specific usage events and the abstract
events to gain platform independence. We provide a proof-of-concept
implementation to show the feasibility of our framework in
practice. | de |
dc.contributor.coReferee | Waack, Stephan Prof. Dr. | de |
dc.contributor.thirdReferee | Memon, Atif M. Prof. Dr. | de |
dc.subject.topic | Mathematics and Computer Science | de |
dc.subject.ger | Software Qualitätssicherung | de |
dc.subject.ger | Benutzungsbasiertes Testen | de |
dc.subject.ger | Benutzungsprofile | de |
dc.subject.ger | Eventgetriebene Software | de |
dc.subject.eng | Software quality assurance | de |
dc.subject.eng | usage-based testing | de |
dc.subject.eng | usage profiles | de |
dc.subject.eng | event-driven software | de |
dc.subject.bk | 54.52 | de |
dc.subject.bk | 31.70 | de |
dc.identifier.urn | urn:nbn:de:gbv:7-webdoc-3687-6 | de |
dc.identifier.purl | webdoc-3687 | de |
dc.affiliation.institute | Mathematisch-Naturwissenschaftliche Fakultäten | de |
dc.identifier.ppn | 733625088 | de |