Technical Mobile Testing

The next public running of this class is in Manchester on the 4-6th December 2017. The class has been organised by Ministry of Testing. All the details, pricing and booking can be found here.

What Do We Mean By ‘Technical Mobile Testing’?

Technical can mean many things, but in the context of this course, it means using tools to support our testing. Over the three days, we are going to explore mobile testing, specifically where we can utilise tools to support it. However, we won’t be adopting a tool first approach, instead, we will be discussing the common challenges and problems with testing on mobile. We’ll then explore and utilise the tools available to assist with those challenges and problems. This approach will give us the power to know when to use a tool and when not to.

Why You Should Take This Course

If you’ve found yourself testing on mobile recently, you have probably considered or tried to introduce some automation or tools into your testing efforts. You are probably thinking along the lines of, how can I make this easier? Or how can I see this clearer? But it can appear a daunting task; there are so many frameworks and so many tools out there, where do you start? What techniques and heuristics can you apply?

Well, this is exactly what we are going to cover in this course. Over the three days, we are going to familiarise ourselves with a whole host of tools and even build some of our own that utilise mobile frameworks. Tools that will immediately make mobile testing easier. Tools that will save you time. Tools that extend your reach. Tools that will show you exactly what is going on. Tools that will lighten the load. When we pair these tools with proven techniques and heuristics, we are in for some great testing and learning!

There is no one-way to test mobile, and there never will be. Instead, we need to understand the domain and fill our tool belts with as many tools as we can, so we are equipped to tackle any problems that may arise.

What You Will Learn On This Course

Day One

The first half of day one is all about theory, strategy and gaining a common understanding of mobile testing. Setting the foundation for the rest of the course.

The second half will be spent exploring tools available right in our browsers for supporting mobile testing.

By the end of day one, attendees will be able to:

  • Describe and discuss the challenges of testing on mobile
  • Compare and contrast mobile application architectures
  • Evaluate whether to use an emulator, simulator or real device
  • Apply a popular mobile test mnemonic to a real application
  • Demonstrate the mobile features of Chrome Developer Tools

Day Two

Day two is all about tools. We are going to explore and use tools available in the mobile SDKs and IDEs and discuss how the data from these tools can be useful to our testing. We will also explore the powerful command line tools available for Android.

The second half will be focused on proxies. I honestly don’t know how mobile testing can be done well without them! We are going to explore some common testing scenarios, then look at how convenient a proxy can make executing those tests.

By the end of day two, attendees will be able to:

  • Use common mobile monitoring tools and analyse the data displayed
  • Explain Android Debugger Bridge (ADB) and demonstrate some simple commands to assist with mobile testing
  • Develop simple scripts utilising ADB
  • Model the behaviour of a proxy
  • Produce a list of test scenarios a proxy can support
  • Demonstrate the features of proxy tools to assist mobile testing

Day Three

Day three is about automated checks/tests. They’re many frameworks out there, however, three have gained more traction, namely: Espresso, XCUITest and Appium. We are going to compare and contrast them, look at working example checks, and create our own automated checks using Appium.

By the end of day three, attendees will be able to:

  • Explain how popular mobile automation tools work
  • Compare and contrast popular mobile automation tools
  • Build and execute some automated checks using Appium
  • Analyse if a mobile project would benefit from the addition of automated checks

What You Will Need To Bring

Please bring a smartphone(s) or tablet(s). Either iOS, Android or both!
Please bring a laptop, OS X or Windows. If you want to test using iOS then you will need a Mac.

Is This Course For You?

Are you currently testing on mobile?
If yes, this course is for you.
If no, perhaps you may be in the future and want to prepare yourself for it and add new skills.

I don’t have any programming skills Richard, should I attend?
Yes. We will be doing some programming on day three, but full support will be provided for all experience levels by me and through pairing with more experienced attendees.

I’m not technical, should I attend?
Yes. While this course is called ‘technical’, some of the tools we will be using are very simple. All tools will be fully explained, many examples will be provided and all hands-on activities will be fully supported.