Friday, 8 May 2015

Mobile App Testing

Mobile Application Testing - This is not a test first, but prepare to test first approach to testing

I) Testing Requirements

Begin by gathering the required information to test
  • Credentials – Device,  App, Defect logging Tool [if any]
  • Clarifications – Keep the clarifications log updated throughout the testing phase
  • Deployed code
  • Device – Availability (and unlocked), device details, operating system, build version, charger, adapter, USB Cord
  • Functional Requirement Specification – Obtain information from the development team, previous tester, from the FRS, existing defects, test data, UI screens, known vulnerabilities of the device
  • Context – Learn the context in which the app needs to be tested
  • Scope – Extend / limit testing based on the approaching target time
  • Test Instance – which instance to test on, having this clarified at the earliest is better

II) Test Preparation

Prepare a check list /Mind map
  • Check access with the provided credentials
  • Ensure the device is available throughout testing with the testing team
  • Deployed code / build is available and is the correct version
  • Clarifications can be created, maintained and shared at every point. Keep the clarifications log updated and share it with the whole team. Everyone in the team can benefit from this
  • Read from the available sources about the app, domain, instance, known issues
  • Learn more from various knowledge sources about specific details to equip and perform better than earlier
  • Read from books, blogs and from previous testers / seniors prior to and during testing
  • Make a list of third party components used and build knowledge about the same. Available for support being the prime check
  • Prepare the test environment – crucial that we take time to set up the environment prior is feasible. Ensure to take notes of environmental failures and log it

III) Testing

  • Record every tap, touch, scenario, data used while testing. Share test data and the source of test data
  • Network tested on, components tested, tools used, observations made and provide suggestions if any
  • Clarify doubts on time
  • As we do this, build a rapport with the entire team, programmers, network, infra and testing team. And anyone who can help speed up or add to the test execution phase










IV) Test Deliverable's

Communicate – to the team what you will deliver post testing.
  • Defects
  • Experience Report
  • Impact on business
  • Impact on users
  • Observations
  • Suggestions
  • Test Data
  • Test Report
  • Test Results

V) Risks faced

Communicate – what else can be /needs to be tested, risk and the mitigation plan
  • unavailability of device
  • not having sufficient time
  • clarifications pending
  • new to the team
  • new to testing
  • lack of adequate knowledge to continue testing
  • other time wasting factors
Final thoughts
  • Timely reporting and learning to enhance the way we communicate during the testing phase can help us do better
  • Clearly state the context, scope, test data used and the components tested in the test report

This can ensure us gain satisfaction with the effort we put in during testing phase and can help the team to plan better for the next phase/build/iteration be it testing or any stage of the product development life cycle.