• Deutsch
    • English
  • English 
    • Deutsch
    • English
  • Login
Item View 
  •   Home
  • Naturwissenschaften, Mathematik und Informatik
  • Fakultät für Mathematik und Informatik (inkl. GAUSS)
  • Item View
  •   Home
  • Naturwissenschaften, Mathematik und Informatik
  • Fakultät für Mathematik und Informatik (inkl. GAUSS)
  • Item View
JavaScript is disabled for your browser. Some features of this site may not work without it.

Usage-based Testing of Event-driven Software

Benutzungsbasiertes Testen von eventgetriebener Software

by Steffen Herbold
Doctoral thesis
Date of Examination:2012-06-27
Date of issue:2012-09-14
Advisor:Prof. Dr. Jens Grabowski
Referee:Prof. Dr. Jens Grabowski
Referee:Prof. Dr. Stephan Waack
Referee:Prof. Dr. Atif M. Memon
crossref-logoPersistent Address: http://dx.doi.org/10.53846/goediss-2535

 

 

Files in this item

Name:herbold.pdf
Size:4.95Mb
Format:PDF
ViewOpen

The following license files are associated with this item:


Abstract

English

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.
Keywords: Software quality assurance; usage-based testing; usage profiles; event-driven software

Other Languages

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.
Schlagwörter: Software Qualitätssicherung; Benutzungsbasiertes Testen; Benutzungsprofile; Eventgetriebene Software
 

Statistik

Publish here

Browse

All of eDissFaculties & ProgramsIssue DateAuthorAdvisor & RefereeAdvisorRefereeTitlesTypeThis FacultyIssue DateAuthorAdvisor & RefereeAdvisorRefereeTitlesType

Help & Info

Publishing on eDissPDF GuideTerms of ContractFAQ

Contact Us | Impressum | Cookie Consents | Data Protection Information
eDiss Office - SUB Göttingen (Central Library)
Platz der Göttinger Sieben 1
Mo - Fr 10:00 – 12:00 h


Tel.: +49 (0)551 39-27809 (general inquiries)
Tel.: +49 (0)551 39-28655 (open access/parallel publications)
ediss_AT_sub.uni-goettingen.de
[Please replace "_AT_" with the "@" sign when using our email adresses.]
Göttingen State and University Library | Göttingen University
Medicine Library (Doctoral candidates of medicine only)
Robert-Koch-Str. 40
Mon – Fri 8:00 – 24:00 h
Sat - Sun 8:00 – 22:00 h
Holidays 10:00 – 20:00 h
Tel.: +49 551 39-8395 (general inquiries)
Tel.: +49 (0)551 39-28655 (open access/parallel publications)
bbmed_AT_sub.uni-goettingen.de
[Please replace "_AT_" with the "@" sign when using our email adresses.]