A Feature Model for Web Testing Tools

A Feature Model for Web Testing Tools

Universitat¨ Koblenz-Landau Master Thesis A feature model for web testing tools Author: Supervisor: Jan Stefan Ruther¨ Prof. Dr. Ralf Lammel¨ A thesis submitted in fulfilment of the requirements for the degree of Master of Science in the Arbeitsgruppe Softwaresprachen Institut f¨urSoftwaretechnik May 2015 Erkl¨arung Hiermit best¨atigeich, dass die vorliegende Arbeit von mir selbst¨andigverfasst wurde und ich keine anderen als die angegebenen Hilfsmittel { insbesondere keine im Quellen- verzeichnis nicht benannten Internet{Quellen { benutzt habe und die Arbeit von mir vorher nicht in einem anderen Pr¨ufungsverfahren eingereicht wurde. Die eingereichte schriftliche Fassung entspricht der auf dem elektronischen Speichermedium (CD-Rom). Ja Nein Mit der Einstellung der Arbeit in die Bibliothek bin ich einverstanden. Der Ver¨offentlichung dieser Arbeit im Internet stimme ich zu. (Ort, Datum) (Unterschrift) i \This is what I love, and can't stop loving. " Showtek - FTS UNIVERSITAT¨ KOBLENZ-LANDAU Abstract Fachbereich 4: Informatik Institut f¨urSoftwaretechnik Master of Science A feature model for web testing tools by Jan Stefan Ruther¨ Web application testing is an active research area. Garousi et al. did a systematic map- ping study and classified 79 papers published between 2000-2011 [1]. However, there seems to be a lack of information exchange between the scientific community and tool developers. This thesis systematically analyzes the field of functional, system level web application testing tools. 194 candidate tools were collected in the tool search and screened, with 23 tools being selected as foundation of this thesis. These 23 tools were systematically used to generate a feature model of the domain. The methodology to support this is an additional contribution of this thesis. It processes end user docu- mentation of tools belonging to an examined domain and creates a feature model. The feature model gives an overview over the existing features, their alternatives and their distribution. It can be used to identify trends and problems, extraordinary features, help decision making of tool purchase or guide scientists how to focus research. In dieser Arbeit wurde erstmalig das Gebiet der funktionalen, system-level Web Testing Tools analysiert. Aus 194 Toolkandidaten wurden 23 Tools zur Analyse ausgew¨ahlt. Die entwickelte Methodik verwendet die Benutzerhandb¨ucher der Tools, um ein Fea- turemodel zu erzeugen, dass die Features aller Tools abbildet. Insgesamt wurden 313 Features identifiziert, klassifiziert und beschrieben. Die Features wurden in 10 Kate- gorien unterteilt und werden mit 16 Featurediagrammen dargestellt. Die Ergebnisse k¨onnentechnologische Entscheidungsprozesse unterst¨utzen,indem ein Uberblick¨ einerseits ¨uber die Tools auf dem Markt und andererseits ¨uber die neusten En- twicklungen im Bereich des funktionalen, system-level Web Testing bereitgestellt wird. Acknowledgements Ich danke Prof. Ralf L¨ammelf¨urdie ausf¨uhrliche und engagierte Unterst¨utzungdieser Arbeit. Weiterhin danke ich Martin Leinberger, meinem Zweitpr¨ufer. Ich danke meinen Korrektoren Christian und Britta, f¨urihre konstruktiven und hilfre- ichen Kommentare. Ich danke meiner Freundin Lena f¨ur ihre moralische Unterst¨utzung. Ich danke meinen Eltern. Ohne ihre durchg¨angige,finanzielle Unterst¨utzungw¨arees mir nicht m¨oglich gewesen ein Studium in oder teils unter Regelstudienzeit abzuschließen. Außerdem danke ich ihnen f¨urihr Vertrauen und ihren Rat. Ich danke den Erfindern und Songschreibern der elektronischen Musik sowie den DJs von Technobase.fm und Hardbase.fm f¨urihren meist ehrenamtlichen Einsatz. Durch diese aufputschende und aber im Gegenzug durch ihre Gleichm¨aßigkeit nicht ablenkende Musik habe ich einige lange Tage und N¨achte ¨uberstanden. iv Contents Declaration of Authorshipi Abstract iii Acknowledgements iv Contents v List of Figures viii List of Tablesx Abbreviations xi 1 Introduction1 1.1 Research context................................2 1.2 Research question................................5 1.3 Contributions..................................6 1.4 Structure of the thesis.............................6 2 Related Work8 2.1 Tool comparison approaches..........................8 2.2 The CaVE information retrieval model....................9 2.2.1 Extraction Patterns.......................... 10 2.2.2 Extraction Process........................... 11 3 Methodology 13 3.1 Tool Search and Screening........................... 13 3.1.1 Tool Search............................... 13 3.1.2 Screening rules............................. 14 3.2 Feature Extraction............................... 16 4 Study Execution 18 4.1 Tool Search and Screening........................... 18 4.2 Feature Model Generation........................... 19 4.2.1 Feature Extraction........................... 19 4.2.2 Combination Step........................... 21 v Contents vi 5 Result 24 5.1 Abstraction Supporting Features....................... 25 5.1.1 Webpage Element Indirection..................... 27 5.1.1.1 Mapping Table........................ 27 5.1.1.2 Updating Components.................... 28 5.1.1.3 Element Explorer...................... 28 5.1.1.4 Element Recognition..................... 30 5.1.2 Component Model........................... 30 5.1.2.1 Avatar System........................ 31 5.1.3 Interproject Relationship....................... 31 5.1.3.1 Test Suite Linking...................... 31 5.1.3.2 User Library......................... 32 5.1.3.3 Name Collision Handling.................. 32 5.1.4 Code Indirection............................ 32 5.1.4.1 Setup / Tear down...................... 32 5.1.4.2 Dependencies......................... 33 5.1.5 API specific............................... 34 5.1.5.1 Page Object......................... 34 5.1.5.2 Step Object......................... 36 5.1.5.3 Webelement pattern..................... 36 5.2 Capture..................................... 37 5.2.1 Image Recognition........................... 39 5.2.2 Recording................................ 39 5.2.3 Change User Agent........................... 41 5.2.4 Screenshot............................... 41 5.3 Editor Features................................. 41 5.3.1 Code View............................... 43 5.3.1.1 Text View.......................... 43 5.3.1.2 Keyword/Tabular View................... 43 5.3.1.3 Tree View........................... 44 5.3.1.4 Storyboard View....................... 45 5.3.1.5 Flow Chart View....................... 45 5.3.2 Miscellaneous.............................. 45 5.4 Element Identification............................. 47 5.4.1 Information............................... 50 5.4.1.1 Attribute........................... 50 5.4.1.2 Position / Size........................ 50 5.4.2 Method................................. 51 5.5 Execution.................................... 53 5.5.1 Test Report............................... 56 5.5.2 External Execution........................... 56 5.5.3 Miscellaneous.............................. 57 5.5.3.1 Scheduler........................... 57 5.5.3.2 Multi User Testing...................... 57 5.5.3.3 Execution Speedup..................... 58 5.5.3.4 Testing Framework..................... 59 5.6 Extra Tools................................... 59 Contents vii 5.6.1 Test Creation Helper.......................... 61 5.6.2 Miscellaneous.............................. 62 5.6.2.1 Documentation Tool..................... 62 5.6.2.2 IDE Integration....................... 62 5.7 Language.................................... 62 5.7.1 Self-made................................ 66 5.7.1.1 Language Style........................ 66 5.7.1.2 Language Power....................... 67 5.7.2 Coding Styles.............................. 68 5.7.3 API / GPL............................... 69 5.7.3.1 Host.............................. 69 5.7.3.2 Command.......................... 69 5.7.3.3 Assertion........................... 70 5.8 Methodology.................................. 70 5.8.1 Data-driven Testing.......................... 72 5.8.2 Manual Testing............................. 72 5.8.3 Exploratory Testing.......................... 73 5.8.4 Multi-lingual Testing.......................... 74 5.8.5 Test-first Programming........................ 74 5.9 Problem Analysis................................ 74 5.9.1 Run Log................................. 77 5.9.2 Debugger................................ 77 5.10 Technology................................... 78 5.10.1 HTML.................................. 82 5.10.2 Tool Connection............................ 82 5.10.3 Miscellaneous.............................. 82 5.10.3.1 Browser............................ 83 5.10.3.2 Widget Toolkit........................ 84 5.10.3.3 Headless Driver....................... 84 5.10.3.4 Ajax.............................. 84 6 Conclusion 85 6.1 Trends, Problems and Differences between ITEs and APIs......... 85 6.2 Equality of Tools................................ 89 7 Summary 93 7.1 Outlook..................................... 93 7.2 Threads to Validity............................... 93 A Tool - Feature List 95 Bibliography 119 List of Figures 2.1 Example pattern................................ 10 3.1 Extraction patterns............................... 16 3.2 Combination phase algorithm......................... 17 4.1 Marked pdf example.............................. 20 4.2 Log file example................................ 22 5.1 Feature diagram - Key............................. 24 5.2 Distribution of the frequencies of the ITE features.............

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    138 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us