Android Application Testing Guide

Total Page:16

File Type:pdf, Size:1020Kb

Android Application Testing Guide Android Application Testing Guide Build intensively tested and bug free Android applications Diego Torres Milano BIRMINGHAM - MUMBAI Android Application Testing Guide Copyright © 2011 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: June 2011 Production Reference: 1170611 Published by Packt Publishing Ltd. 32 Lincoln Road Olton Birmingham, B27 6PA, UK. ISBN 978-1-849513-50-0 www.packtpub.com Cover Image by Asher Wishkerman ([email protected] ) About the Author Diego Torres Milano has been involved with the Android platform since its inception, at the end of 2007, when he started exploring and researching the platform possibilities, mainly in the areas of User Interfaces, Unit and Acceptance Tests, and Test Driven Development. This is reflected by a number of articles mainly published in his personal blog (http://dtmilano.blogspot.com) and his participation as a lecturer in some conferences and courses like Mobile Dev Camp 2008 in Amsterdam (Netherlands) and Japan Linux Symposium 2009 (Tokyo), Droidcon London 2009, Skillsmatter 2009 (London, UK), and he has also authored Android training courses delivered to various companies in Europe. Previously, he was the founder and developer of several Open Source projects, mainly CULT Universal Linux Thin Project (cult-thinclient.sf.net) and the very successful PXES Universal Linux Thin Client project (that was later acquired by 2X Software, www.2x.com). PXES is a Linux-based Operating System specialized for thin clients used by hundreds of thousands of thin clients all over the world. This project has a popularity peak of 35M hits and 400K downloads from SourceForge in 2005. This project had a dual impact: big companies in Europe decided to use it because of improved security and efficiency; organizations, institutions, and schools in some developing countries in South America, Africa, and Asia decided to use it because of the minimal hardware requirements to have a huge social impact providing computers, sometimes recycled ones, to everyone. Among the other Open Source projects that he has founded we can mention Autoglade, Gnome-tla, JGlade, and he has been contributing to various Linux distributions such as RedHat, Fedora, and Ubuntu. He also has been giving presentations in Linux World, LinuxTag, GUADEC ES, University of Buenos Aires, and so on. He has been developing software, participating in Open Source projects, and advising companies worldwide for more than 15 years. He can be contacted at [email protected]. Firstly, I would like to thank my family: Laura, Augusto and Octavio for their patience and consideration. The time I borrowed to achieve this goal was mostly theirs. Secondly I would like to thank my personal friend and IN3 Integracion Informatica co-founder, Caludio Palonsky, with whom we started this amazing adventure more than 15 years ago when we pioneered the provision of Linux services and support to enterprises in South America. He certainly taught me to be a bit more consultant and a bit less hacker (but I'm a very bad student :-)). And special thanks to Ricston's Peter Delia with whom we started providing Android training services throughout Europe as early as mid 2008 when Android was just a beautiful dream of having a mainstream Open Source operating system in the mobile arena. This is now a reality dictated by the market. And lastly I would like to thank all the reviewers and the Packt Publishing team who gave me their opinion, suggestions, and corrections on early manuscripts; without them the book would never have had the quality it endowed. About the Reviewers Paul Bourdeaux is the Senior Software Engineer and Application Development Team Lead at Sundog, a marketing and technology company based in the Midwest. He has a strong background in traditional software engineering, has authored several white papers relating to mobile marketing and software engineering, and has presented at both national and regional software engineering conferences. Paul is the mobile marketing expert at Sundog, and his passion lies in mobile and cloud based software engineering. Noah Eltzroth teaches dynamic web development at the Sullivan College of Technology and Design in Louisville, Kentucky. He enjoys working on a variety of different software projects including business-oriented portals, data processing, and Android applications. In his free time, Noah enjoys programming in both Java and PHP. Tomas Malmsten has been working with software development for over a decade. During this time he has had the opportunity to work with a vast variety of technologies in various different business settings. His main focus has been the Java ecosystem where he has worked with everything from large enterprise systems to Android application development. Tomas is a passionate software craftsman who strives for excellence in all aspects of programming. From customer service and interaction to well crafted maintainable programs. You can get in touch with Tomas through any of the following means: • Blog: http://www.tomasmalmsten.com • Twitter: http://twitter.com/tomasmalmsten • E-mail: [email protected] • LinkedIn: http://se.linkedin.com/in/tomasmalmsten Gábor Paller received his MSc. and PhD. degrees from the Technical University of Budapest in 1992 and 1996, respectively. Dr. Paller joined Nokia in 1998 and held positions in Nokia R&D and Nokia Research Center. His interests included wireless protocol development, mobile device management, mobile Java and middleware. He was also involved in standardization and joint research program activities. After having left Nokia, he worked at OnRelay Ltd. on fixed-mobile convergence technologies, and then in 2010 he joined Ericsson where he works on IMS. Gabor Paller runs the popular My Life with Android blog and reviewed a number of Android books. Abhinav Tyagi is a Computer Science graduate from Pune. He also holds a post graduate diploma in Advanced Computing from CDAC, Pune. He developed several Android applications while working as a Software Engineer at Antarix Networks, Mumbai. He is currently working on telecom protocols as a Research & Development Engineer at Nokia Siemens Networks. I would like to thank Joel Goveya and Tarun Singh for giving me this wonderful opportunity. Table of Contents Preface 1 Chapter 1: Getting Started with Testing 7 Brief history 7 Software bugs 8 How bugs severely affect your projects 9 Why, what, how, and when to test 9 What to test 11 Activity lifecycle events 12 Database and filesystem operations 12 Physical characteristics of the device 12 Types of tests 13 Unit tests 13 The test fixture 15 The setUp() method 15 The tearDown() method 15 Test preconditions 16 The actual tests 16 Integration tests 20 Functional or acceptance tests 20 Test case scenario 22 Performance tests 22 System tests 23 Android testing framework 23 Instrumentation 23 Test targets 25 Summary 26 Chapter 2: Testing on Android 27 JUnit 28 Creating the Android main project 28 Creating the Android test project 29 Table of Contents Package explorer 31 Creating a test case 32 Special methods 36 Test annotations 36 Running the tests 37 Running all tests from Eclipse 37 Running a single test case from Eclipse 38 Running from the emulator 39 Running tests from the command line 41 Running all tests 42 Running tests from a specific test case 42 Running a specific test by name 42 Running specific tests by category 43 Running performance tests 44 Dry run 44 Debugging tests 45 Other command-line options 47 Summary 47 Chapter 3: Building Blocks on the Android SDK 49 The demonstration application 50 Assertions in depth 50 Custom messages 52 Static imports 52 View assertions 53 Even more assertions 55 The TouchUtils class 57 Mock Objects 58 MockContext overview 59 The IsolatedContext class 59 Alternate route to file and database operations 60 The MockContentResolver class 60 The TestCase base class 61 The no-argument constructor 61 The given name constructor 62 The setName() method 62 The AndroidTestCase base class 62 The assertActivityRequiresPermission() method 63 Description 64 Example 64 The assertReadingContentUriRequiresPermission method 64 Description 64 Example 65 [ ii ] Table of Contents The assertWritingContentUriRequiresPermission() method 65 Description 65 Example 66 Instrumentation 66 The ActivityMonitor inner class 66 Example 67 The InstrumentationTestCase class 68 The launchActivity and launchActivityWithIntent method 69 The sendKeys and sendRepeatedKeys methods 69 The runTestOnUiThread helper method 71 The ActivityTestCase class 72 The scrubClass method 73 The ActivityInstrumentationTestCase2 class 74 The constructor 75 The setUp method 75 The tearDown method 76
Recommended publications
  • Comparison of GUI Testing Tools for Android Applications
    Comparison of GUI testing tools for Android applications University of Oulu Department of Information Processing Science Master’s Thesis Tomi Lämsä Date 22.5.2017 2 Abstract Test automation is an intriguing area of software engineering, especially in Android development. This is since Android applications must be able to run in many different permutations of operating system versions and hardware choices. Comparison of different tools for automated UI testing of Android applications is done in this thesis. In a literature review several different tools available and their popularity is researched and the structure of the most popular tools is looked at. The two tools identified to be the most popular are Appium and Espresso. In an empirical study the two tools along with Robotium, UiAutomator and Tau are compared against each other in test execution speed, maintainability of the test code, reliability of the test tools and in general issues. An empirical study was carried out by selecting three Android applications for which an identical suite of tests was developed with each tool. The test suites were then run and the execution speed and reliability was analysed based on these results. The test code written is also analysed for maintainability by calculating the lines of code and the number of method calls needed to handle asynchrony related to UI updates. The issues faced by the test developer with the different tools are also analysed. This thesis aims to help industry users of these kinds of applications in two ways. First, it could be used as a source on what tools are over all available for UI testing of Android applications.
    [Show full text]
  • Mobile Developer's Guide to the Galaxy
    Don’t Panic MOBILE DEVELOPER’S GUIDE TO THE GALAXY U PD A TE D & EX TE ND 12th ED EDITION published by: Services and Tools for All Mobile Platforms Enough Software GmbH + Co. KG Sögestrasse 70 28195 Bremen Germany www.enough.de Please send your feedback, questions or sponsorship requests to: [email protected] Follow us on Twitter: @enoughsoftware 12th Edition February 2013 This Developer Guide is licensed under the Creative Commons Some Rights Reserved License. Editors: Marco Tabor (Enough Software) Julian Harty Izabella Balce Art Direction and Design by Andrej Balaz (Enough Software) Mobile Developer’s Guide Contents I Prologue 1 The Galaxy of Mobile: An Introduction 1 Topology: Form Factors and Usage Patterns 2 Star Formation: Creating a Mobile Service 6 The Universe of Mobile Operating Systems 12 About Time and Space 12 Lost in Space 14 Conceptional Design For Mobile 14 Capturing The Idea 16 Designing User Experience 22 Android 22 The Ecosystem 24 Prerequisites 25 Implementation 28 Testing 30 Building 30 Signing 31 Distribution 32 Monetization 34 BlackBerry Java Apps 34 The Ecosystem 35 Prerequisites 36 Implementation 38 Testing 39 Signing 39 Distribution 40 Learn More 42 BlackBerry 10 42 The Ecosystem 43 Development 51 Testing 51 Signing 52 Distribution 54 iOS 54 The Ecosystem 55 Technology Overview 57 Testing & Debugging 59 Learn More 62 Java ME (J2ME) 62 The Ecosystem 63 Prerequisites 64 Implementation 67 Testing 68 Porting 70 Signing 71 Distribution 72 Learn More 4 75 Windows Phone 75 The Ecosystem 76 Implementation 82 Testing
    [Show full text]
  • Behavioral Analysis of Android Applications Using Automated Instrumentation
    2013 Seventh International Conference on Software Security and Reliability Companion Behavioral Analysis of Android Applications Using Automated Instrumentation Mohammad Karami, Mohamed Elsabagh, Parnian Najafiborazjani, and Angelos Stavrou Computer Science Department, George Mason University, Fairfax, VA 22030 { mkarami, melsabag, pnajafib, astavrou}@gmu.edu Abstract—Google’s Android operating system has become one application is not a straight forward task due to variety of the most popular operating system for hand-held devices. Due inputs and heterogeneity of the technologies [12]. to its ubiquitous use, open source nature and wide-spread Two primary methods are being employed for mobile appli- popularity, it has become the target of recent mobile malware. In this paper, we present our efforts on effective security cation analysis: white-box approach and black-box approach. inspection mechanisms for identification of malicious applications In black-box testing only the inputs and outputs of the appli- for Android mobile applications. To achieve that, we devel- cation are being exercised. On the other hand, for white box oped a comprehensive software inspection framework. Moreover, approach the source code need to be analyzed. Since the source to identify potential software reliability flaws and to trigger code of the malicious applications that we get from Google malware, we develop a transparent instrumentation system for automating user interactions with an Android application that Play is not available we cannot analyze the internal structure does not require source code. Additionally, for run-time behavior of the malicious applications to figure out what they exactly analysis of an application, we monitor the I/O system calls gener- do, but we can utilize the black-box testing to define their ated the by application under monitoring to the underlying Linux functionality.
    [Show full text]
  • Unit Testing, Integration Testing and Continuous Builds for Android
    Unit Testing, Integration Testing and Continuous Builds Manfred Moser simpligility technologies inc. http://www.simpligility.com @simpligility Agenda Get an overview about testing and continuous integration for Android app development Why testing? What can we test? How can we do it? 2 Manfred Moser simpligility.com Apache Maven See previous presentation Maven used to control build and more Good library reuse and dependency use – makes testing easier out of the box Strong tool support But its all possible without Maven too... Why (automated) testing? Find problem early and you ● Can fix it quickly ● Safe money on QA testing ● Do not get negative customer feedback ● Deal with feature requests instead of bugs ● Avoid production problems ● Can refactor (and change) without breaking old stuff 4 Manfred Moser simpligility.com What are we testing? Plain java code Android dependent code Configuration User interface Look and feel 5 Manfred Moser simpligility.com JVM vs Dalvik/Android stack JVM based: ● Faster ● More tools available ● More mature tooling Dalvik based: ● Necessary for integration tests ● Reproduce actual behaviour ● Full stack testing (beyond VM, to native..) 6 Manfred Moser simpligility.com JVM testing tools ● JUnit ● TestNG ● EasyMock ● Unitils ● Cobertura ● Emma ● and many more 7 Android SDK Test Tools ● Integrated Junit ● use on emulator/device though ● Instrumentation Test Tools ● rich set of classes for testing ● now well documented ● MonkeyRunner ● control device/emulator running tests ● take screenshots ● jython 8 Dalvik/Android
    [Show full text]
  • Large-Scale Android Dynamic Analysis
    Andlantis: Large-scale Android Dynamic Analysis Michael Biermayz, Eric Gustafsonz, Jeremy Ericksony, David Fritzy, Yung Ryn Choey ∗ySandia National Laboratories fmbierma, jericks, djfritz, [email protected] zUniversity of California, Davis fmhbierma, [email protected] Abstract— In this paper, we present Andlantis: a highly scalable Analyzing Android applications for malicious behavior is an dynamic analysis framework for analyzing applications on important area of research, and is made difficult, in part, by the Android operating system. Andlantis runs the Android the increasingly large number of applications available for the operating system in a virtualized environment and is able platform. While techniques exist to perform static analysis on a to provide the virtual device with artificial network data in large number of applications, dynamic analysis techniques are order to provide an environment which closely replicates that relatively limited in scale due to the computational resources of a physical device. Andlantis is able to schedule and run required to emulate the full Android system to achieve accurate thousands of Android instances in parallel, enabling us to execution. We present Andlantis, a scalable dynamic analysis investigate the behavior of mobile malware at scale. system capable of processing over 3000 Android applications per hour. During this processing, the system is able to collect Andlantis employs a scalable high-performance emulytics valuable forensic data, which helps reverse-engineers and mal- framework, minimega, to parallelize this expensive task as ware researchers identify and understand anomalous application much as possible and achieve a level of throughput un- behavior. We discuss the results of running 1261 malware samples precedented in Android dynamic analysis.
    [Show full text]
  • 2X Server Based Computing Leitfaden
    2X Server Based Computing Leitfaden Stellt Strategien zur Umsetzung von Server Basierendem Computing vor Dieser kurze Leitfaden zum Server Basierendem Computing beschreibt Wege IT Netzwerke so zu optimieren das Hardware-, Energie- und Administrationskosten gesenkt werden koennen . Alle in diesem Dokument angegebenen Informationen können ohne vorherige Ankündigung geändert werden. In Beispielen verwendete Firmen, Namen und Daten sind, sofern nicht anders angegeben, rein fiktiv. Ohne vorherige ausdrückliche und schriftliche Zustimmung von 2X Software Ltd. darf dieses Dokument weder ganz noch teilweise in irgendeiner Form, sei es elektronisch oder mechanisch, oder zu irgendeinem Zweck reproduziert oder übertragen werden. 2X ApplicationServer und 2X LoadBalancer sind von 2X Software Ltd. urheberrechtlich geschützt. ©1999- 2006 2X Software Ltd. Alle Rechte vorbehalten. 2X Server Based Computing Leitfaden 2 VORTEILE DES SERVER-BASIERTEN COMPUTING MIT 2X....................................................... 2 EINSATZ EINES EINZELNEN TERMINAL-SERVERS .................................................................... 3 EINSATZ VON ZWEI TERMINAL-SERVERN................................................................................... 4 LASTVERTEILUNG ZWISCHEN CITRIX-SERVERN....................................................................... 5 DIREKTER VERBINDUNGSMODUS ............................................................................................... 6 INSATZ EINES GATEWAYS (REGULÄRER/SSL-GATEWAY-MODUS)........................................
    [Show full text]
  • Guide to Test Automation Tools 2017 - 2018
    Guide to Test Automation Tools 2017 - 2018 WHITEPAPER QATestlab 2017 Copyright 2017 ©QATestLab. All Rights Reserved Table of Contents Summary 3 Introduction 3 1. Test Automation Tools. Market review 1.1. Selenium WebDriver Framework 4 1.2. Appium Framework 5 1.3. Robotium Framework 7 1.4. Serenity Framework 9 1.5. Robot Framework 10 1.6. Galen Framework 12 1.7. HP Unified Functional Testing (UFT) 14 1.8. Ranorex Studio 16 1.9. TestComplete 19 1.10. Telerik Test Studio 20 1.11. Applitools Eyes 22 1.12. Test Automation Tools and Frameworks: Comparison of 23 Technical Aspects 2. Test Automation Tools Approved by QATestLab 2.1. Selenium WebDriver 26 2.2. Appium 28 2.3. TestComplete 29 2.4. Ranorex Studio 31 3. Summary 32 Contact Information 33 2 Copyright 2017 ©QATestLab. All Rights Reserved Summary Table of Contents Click the section to jump This whitepaper aims at providing the comprehensive data on the most ahead popular test automation tools in 2017 - 2018 including the description of Summary their parameters which can be considered when selecting a tool / framework for test automation. The document also provides the Introduction comparison of the leading test automation tools highlighting both 1. Test Automation advantages and disadvantages, and also main objectives, technical Tools. Market review characteristics and the information about a provider. 1.1. Selenium WebDriver Framework The whitepaper is aimed to assist in selecting a proper test automation 1.2 Appium Framework tool avoiding time and money losses. Besides, it includes the 1.3 Robotium recommendations on the most effective test automation tools, Framework 1.4 Serenity Framework information about their effectiveness and maintainability, which were 1.5 Robot Framework prepared by QATestLab on the ground of successful execution of 50 test 1.6 Galen Framework automation projects.
    [Show full text]
  • It's That Time
    December 2014 / January 2015 | Vol. 8 No. 1 VirtualizationReview.com 2015 READERS CHOICE AWARDS WINNER IT’S THAT TIME OFYEAR! Eggnog, presents and the products you like best. PLUS > VIRTUAL PREDICTIONS > DELL’S VDI STRATEGY > UNTANGLING VMWARE DRS VISIT VIRTUALIZATIONREVIEW.COM contents The objective is helping organizations accomplish their 6 goals; not to push any specifi c type of technology. By Dan Kusnetzky 2015Readers Choice Awards “Chromebook desktop ÌÌÌÌ Winner ÌÌÌÌ access looks especially promising, especially in the education market.” Garret Grajek, dinCloud 18 6 December 2014 / January 2015 | VIRTUALIZATION REVIEW | VOL. 7, NO. 2 FEATURES 11 Best Cloud Storage Product 15 Best Network 4 The 2015 Reader’s Choice 12 Best Cloud Security Product Virtualization Product Awards and Buyer’s Guide 12 Best Cloud Software Product 16 Best Virtualization Security Product You, the readers, have spoken. 13 Best Business Continuity Product Here are the virtualization and Best Converged 14 Best Virtualization 17 cloud computing products that Automation Product Infrastructure Product rock your world. Best Virtualization Training 15 Best Storage 17 6 Best Application Virtualization Product Virtualization Product 6 Best Server Virtualization Product Best Desktop Virtualization/ 7 18 2015 Virtualization Predictions COLUMNS Virtual Desktop Infrastructure Product What can you expect to happen 2 Editor’s Note: KEITH WARD in the virtualization and cloud 3 Expectations for 2015 8 Best Mobile Virtualization/ BYOD Product industries in the coming year?
    [Show full text]
  • Profiling the Responsiveness of Android Applications Via Automated
    Profiling the Responsiveness of Android Applications via Automated Resource Amplification Yan Wang Atanas Rountev Ohio State University Ohio State University ABSTRACT Android run-time|the user may decide to uninstall the ap- The responsiveness of the GUI in an Android application is plication and/or rate it negatively in the app market. an important component of the user experience. Android Android guidelines [9, 6] are very clear on the importance guidelines recommend that potentially-expensive operations of designing responsive applications. The general rule is the should not be performed in the GUI thread, but rather in following: \In any situation in which your app performs a separate threads. The responsiveness of existing code can potentially lengthy operation, you should not perform the be improved by introducing such asynchronous processing, work on the UI thread, but instead create a worker thread either manually or automatically. and do most of the work there." [9]. One simple view is that all potentially-expensive opera- There are various mechanisms for achieving this goal. Typ- tions should be removed from the GUI thread. We demon- ical examples include user-managed threads, AsynchTask, strate that this view is too simplistic, because run-time cost and IntentService. The responsiveness of existing code under reasonable conditions may often be below the thresh- can be improved by introducing these mechanisms either old for poor responsiveness. We propose a profiling ap- through manual refactoring or by using automated transfor- proach to characterize response times as a function of the mations (e.g., [12, 11]). A natural question that arises in size of a potentially-expensive resource (e.g., shared prefer- this context is the following: which operations should be re- ences store, bitmap, or SQLite database).
    [Show full text]
  • Automation for Mobile Apps
    automation for mobile apps SeConf 13 Workshop http://appium.io/seconf.pdf Jonathan Lipps | @jlipps | Sauce Labs @TheDanCuellar | @maudineormsby appium is the cross-platform solution for native and hybrid mobile automation appium introduction 1 2 3 4 5 6 iOS Android calabash-ios calabash-android Frank MonkeyTalk UIAutomation Robotium ios-driver UiAutomator KeepItFunctional selendroid Philosophy R1. Test the same app you submit to the marketplace R2. Write your tests in any language, using any framework R3. Use a standard automation specification and API R4. Build a large and thriving open-source community effort Platforms • Real devices (iOS, Android) • Simulators (iOS, Android, FirefoxOS) • Hybrid apps (iOS, Android, FirefoxOS) • Safari on iOS • Chrome on Android • Robot-controlled devices Architecture • Apple Instruments & UIAutomation for iOS • Google UiAutomator for Android (4.2.1 up) • Selendroid for older Android & hybrid • Selenium WebDriver interface Selenium WebDriver? • this is SeConf, isn’t it? appium.app 1 2 3 4 5 6 Appium.app • GUI for launching Appium server • Monitor status • Set preferences Appium.app • Inspector for probing your app • Create hooks for UI elements in app • Try out actions • Record / playback actions • Convert UIAutomation JS to Appium code Appium.app • Mac: stable • Windows: under development Monitor Preferences Inspector Recorder Robot support • Bitbeambot Delta-2 • http://www.bitbeam.org • Tapster • https://www.tindie.com/products/hugs/robot-that- plays-angry-birds/ Robot support • Redirects touch actions
    [Show full text]
  • GUI-Guided Test Script Repair for Mobile Apps
    This is the author's version of an article that has been published in this journal. Changes were made to this version by the publisher prior to publication. The final version of record is available at http://dx.doi.org/10.1109/TSE.2020.3007664 1 GUI-Guided Test Script Repair for Mobile Apps Minxue Pan, Tongtong Xu, Yu Pei, Zhong Li, Tian Zhang, Xuandong Li Abstract—Graphical User Interface (GUI) testing is widely used to test mobile apps. As mobile apps are frequently updated and need repeated testing, to reduce the test cost, their test cases are often coded as scripts to enable automated execution using test harnesses/tools. When those mobile apps evolve, many of the test scripts, however, may become broken due to changes made to the app GUIs. While it is desirable that the broken scripts get repaired, doing it manually can be preventively expensive if the number of tests need repairing is large. We propose in this paper a novel approach named METER to repairing broken GUI test scripts automatically when mobile apps evolve. METER leverages computer vision techniques to infer GUI changes between two versions of a mobile app and uses the inferred changes to guide the repair of GUI test scripts. Since METER only relies on screenshots to repair GUI tests, it is applicable to apps targeting open or closed source mobile platforms. In experiments conducted on 22 Android apps and 6 iOS apps, repairs produced by METER helped preserve 63.7% and 38.8% of all the test actions broken by the GUI changes, respectively.
    [Show full text]
  • 2X Applicationserver & Loadbalancer & Virtualdesktopserver Manual
    2X ApplicationServer & LoadBalancer & VirtualDesktopServer Manual 2X VirtualDesktopServer Contents • 1 URL: www.2x.com E-mail: [email protected] Information in this document is subject to change without notice. Companies, names, and data used in examples herein are fictitious unless otherwise noted. No part of this document may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of 2X SOFTWARE Ltd. 2X VirtualDesktopServer, 2X ApplicationServer and LoadBalancer are copyright of 2X SOFTWARE Ltd. 1999-2010 2X SOFTWARE Ltd. All rights reserved. Version 8.0 – Last updated January 28, 2010 2X VirtualDesktopServer Contents • 2 Contents Introduction 7 What is 2X ApplicationServer & LoadBalancer? ............................................................ 7 What is 2X VirtualDesktopServer? ................................................................................. 7 Features ......................................................................................................................... 7 How does 2X ApplicationServer work? ........................................................................ 10 How does 2X LoadBalancer work? .............................................................................. 10 How does 2X VirtualDesktopServer work? .................................................................. 10 Installing 2X VirtualDesktopServer 11 2X ApplicationServer & LoadBalancer & VirtualDesktopServer System requirements ..................................................................................................
    [Show full text]