Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

O'Reilly logo
Hands-On Mobile App Testing: A Guide for Mobile Testers and Anyone Involved in the Mobile App Business

Book Description

This is the Rough Cut version of the printed book.

Over 2,000,000 mobile apps appear in the most popular app stores alone. But are they reliable? Usable? Secure? Far too many mobile apps aren't. As they become increasingly mission-critical to businesses as well as consumers, this must change. But mobile testing and QA demands strategies and skills that are very different from traditional software testing. Software testers must adapt to a whole new world. This book will help them do so.

Pioneering software test manager Daniel Knott explains exactly what's different about mobile testing, offers a complete blueprint for testing mobile apps on each leading platform, and offers practical guidance on everything from tool selection to automation. You'll discover how to:

  • Test diverse app types running on diverse hardware and networks

  • Streamline and automate as much testing as possible, while ensuring comprehensive test coverage

  • Choose the right test automation tool for your Android, iOS or other mobile environment

  • Manage testing for rapid mobile release cycles

  • Test native, hybrid, and web mobile apps

  • Reflect the impact of freemium, paid, and transactional business models in your testing processes

  • Test app performance associated with sensors, interfaces, and battery usage

  • Test on emulators, simulators, and actual devices

  • Test mobile functionality, security, usability, and accessibility

  • Test database access and local storage

  • Drive value from testing throughout the app lifecycle, include the update process

  • Continually improve your mobile testing skills

  • Prepare for testing wearables and other Internet of Things (IoT) devices

  • Table of Contents

    1. About This eBook
    2. Title Page
    3. Copyright Page
    4. Dedication Page
    5. Contents
    6. Preface
      1. Why I Wrote This Book
      2. Who Should Read This Book?
      3. Topics Covered in This Book
      4. How to Use This Book
    7. Acknowledgments
    8. About the Author
    9. Chapter 1. What’s Special about Mobile Testing?
      1. User Expectations
      2. Mobility and Data Networks
      3. Mobile Devices
      4. Mobile Release Cycles
      5. Mobile Testing Is Software Testing
      6. Summary
    10. Chapter 2. Introduction to Mobile Devices and Apps
      1. Overview of Mobile Networks
      2. Mobile Devices and the Year 2007
      3. The Big Two
      4. What Types of Apps Exist?
        1. Native Apps
        2. Hybrid Apps
        3. Web Apps
      5. Business Models of Mobile Apps
        1. Freemium
        2. Paid
        3. Transaction
        4. Choosing a Business Model
      6. App Stores
      7. Summary
    11. Chapter 3. Challenges in Mobile Testing
      1. The Customer
        1. Customer Summary
      2. Mobile Platforms and Fragmentation
        1. Mobile Device Groups
        2. Mobile Device Labs
      3. Sensors and Interfaces
        1. Ambient Light Sensor
        2. Proximity Sensor
        3. Acceleration Sensor
        4. Gyroscope Sensor
        5. Magnetic Sensor
        6. Pressure, Temperature, and Humidity Sensors
        7. Location Sensor
        8. Touchless Sensor
        9. Sensors Summary
        10. Touchscreen
        11. Microphones
        12. Camera
      4. System Apps
      5. Internationalization (I18n) and Localization (L10n)
      6. Mobile Browsers
      7. Summary
    12. Chapter 4. How to Test Mobile Apps
      1. Emulator, Simulator, or Real Device?
      2. Manual Testing versus Automated Testing
      3. “Traditional” Testing
      4. Mobile-Specific Testing
        1. Mobile Functional Testing
        2. Mobile Usability Testing
        3. Accessibility Testing
        4. Battery Usage Testing
        5. Stress and Interrupt Testing
        6. Performance Testing
        7. Standby Testing
        8. Installation Testing
        9. Update Testing
        10. Database Testing
        11. Local Storage Testing
        12. Security Testing
        13. Platform Guideline Testing
        14. Conformance Testing
        15. Checking the Log Files
        16. Be Creative!
      5. Checklists, Mnemonics, and Mind Maps
        1. Checklists
        2. Mnemonics
        3. Mind Maps
      6. How to File Mobile Bugs
        1. Bug ID
        2. Description
        3. Steps to Reproduce
        4. Expected Result
        5. Actual Result
        6. Work-around
        7. Reproducible
        8. Operating System, Mobile Platform, and Mobile Device
        9. Mobile-Device-Specific Information
        10. Browser Version
        11. Software Build Version
        12. Network Condition and Environment
        13. Language
        14. Test Data
        15. Severity
        16. Bug Category
        17. Screenshot or Video
        18. Log Files
        19. Tester Who Found the Bug
        20. Three More Points
      7. App Quality Alliance
      8. Summary
    13. Chapter 5. Mobile Test Automation and Tools
      1. The Flipped Testing Pyramid
        1. The Mobile Test Pyramid
      2. Different Types of Test Automation Tools
        1. Image Recognition
        2. Coordinate-Based Recognition
        3. OCR/Text Recognition
        4. Native Object Recognition
        5. Capture and Replay
        6. Tool Type Recommendation
      3. What Should Be Automated?
      4. Emulator, Simulator, or Real Device?
        1. Emulator/Simulator Pros
        2. Emulator/Simulator Cons
        3. Real Device Pros
        4. Real Device Cons
        5. Where to Automate?
      5. How to Select the Right Mobile Test Automation Tool
        1. Selection Criteria for a Test Automation Tool
      6. Current State of Tools
        1. Android Tools
        2. iOS Tools
        3. Mobile Test Automation Tools Summary
      7. Continuous Integration System
      8. Beta Distribution Tools
      9. Summary
    14. Chapter 6. Additional Mobile Testing Methods
      1. Crowd Testing
        1. Private Crowd Testing
      2. Mobile Cloud Testing
        1. Private Cloud
      3. Cloud-Based Test Automation
      4. Summary
    15. Chapter 7. Mobile Test and Launch Strategies
      1. Mobile Test Strategy
        1. Define Requirements
        2. Testing Scope
        3. Define Test Levels and Test Techniques
        4. Test Data
        5. Select Target Devices and Test Environment
        6. Manual and in-the-Wild Testing
        7. Mobile Checklists and Tours
        8. Test Automation
        9. Product Risks
      2. Mobile Launch Strategy
        1. Pre-Launch—Check the Release Material
        2. Post-Release—What Happens after an App Launch?
        3. Community Support
        4. Reviews
        5. Crash Reports
        6. Tracking and Statistics
      3. Summary
    16. Chapter 8. Important Skills for Mobile Testers
      1. Skill Set of a Mobile Tester
        1. Communication
        2. Curiosity
        3. Critical Thinking
        4. Tenacity
        5. Constant Learner
        6. Creativity
        7. Customer Focus
        8. Programming and Technical Skills
      2. How to Improve Your Mobile Testing Skills
        1. Learn from Other Apps
        2. Crashes on Specific Devices
        3. Observe
        4. Take Part in Competitions and Test Cycles
        5. The Mobile Community and the Mobile World
        6. Valuable Sources
      3. Summary
    17. Chapter 9. What’s Next? And Final Thoughts
      1. Internet of Things
        1. Connected Home
        2. Connected Car
      2. Wearables
        1. Smart Watches and Fitness Wristbands
        2. Smart Glasses
      3. Health Apps
      4. Final Thoughts
        1. Five Key Success Factors
      5. Summary
    18. Index
    19. Code Snippets