Zur Kurzanzeige

Usage-based Testing of Event-driven Software

dc.contributor.advisorGrabowski, Jens Prof. Dr.de
dc.contributor.authorHerbold, Steffende
dc.date.accessioned2012-09-14T15:51:21Zde
dc.date.accessioned2013-01-18T13:23:02Zde
dc.date.available2013-01-30T23:50:55Zde
dc.date.issued2012-09-14de
dc.identifier.urihttp://hdl.handle.net/11858/00-1735-0000-000D-F06E-6de
dc.identifier.urihttp://dx.doi.org/10.53846/goediss-2535
dc.description.abstractDer 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.mimetypeapplication/pdfde
dc.language.isoengde
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/3.0/de
dc.titleUsage-based Testing of Event-driven Softwarede
dc.typedoctoralThesisde
dc.title.translatedBenutzungsbasiertes Testen von eventgetriebener Softwarede
dc.contributor.refereeGrabowski, Jens Prof. Dr.de
dc.date.examination2012-06-27de
dc.subject.dnb004 Informatikde
dc.subject.gokEGIN 990de
dc.subject.gokEGIW 200de
dc.description.abstractengMost 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.coRefereeWaack, Stephan Prof. Dr.de
dc.contributor.thirdRefereeMemon, Atif M. Prof. Dr.de
dc.subject.topicMathematics and Computer Sciencede
dc.subject.gerSoftware Qualitätssicherungde
dc.subject.gerBenutzungsbasiertes Testende
dc.subject.gerBenutzungsprofilede
dc.subject.gerEventgetriebene Softwarede
dc.subject.engSoftware quality assurancede
dc.subject.engusage-based testingde
dc.subject.engusage profilesde
dc.subject.engevent-driven softwarede
dc.subject.bk54.52de
dc.subject.bk31.70de
dc.identifier.urnurn:nbn:de:gbv:7-webdoc-3687-6de
dc.identifier.purlwebdoc-3687de
dc.affiliation.instituteMathematisch-Naturwissenschaftliche Fakultätende
dc.identifier.ppn733625088de


Dateien

Thumbnail

Das Dokument erscheint in:

Zur Kurzanzeige