Skip to content
Our work
What we do
Industries
  • Enterprise
  • Financial Services
  • Drinks & Hospitality
  • TV & Media
  • Health & Wellbeing
  • Travel & Tourism
  • Energy
Services
  • Agile Product Delivery Teams
  • Augmented Engineering Team
  • Web Application Development
  • Mobile Application Development
  • View All Services
  • Discovery & Estimations Workshops
  • Product & Technical Consultancy
  • UI, UX, Prototyping and User Research
  • Digital Innovation - AR/VR/IoT/Voice
About UsxDesignInsightsCareersContact Us
xDesign

Ministry Of Testing- What We Learned

By Mairead Quigley

02 Aug 2018

_By Usman Khan _

When it comes to building mobile and web applications, testing is absolutely crucial to ensure that you create a high quality, robust and scalable applications. Here at xDesign, we incorporate testing (unit testing) throughout the entire app development cycle. This ensures we can significantly reduce the number of bugs by identifying any issues earlier on in the development process. A solid testing strategy ultimately enhances the overall user experience and ensures that we deliver the highest quality apps to our clients.

Recently, I had the opportunity to attend the London Tester Gathering Workshops run by the Ministry of Testing in London. These workshops are a fantastic way to keep on top of what’s going on within the wider software testing space and allows testers to come together to collaborate and share new ideas.

Here’s a quick run down of how we got on and what we learned over the 2 days of workshops:

iOS UI Testing with XCUITest in Swift

This workshop focused on writing UI automation tests for iOS applications using Apples XCUITest framework. Due to the technical knowledge required, this was primarily aimed at those who were familiar with Apples Xcode IDE and Swift programming language.

Some of the topics that were covered included: - Capabilities of XCUITest

  • How to get started with writing tests
  • Identifying what to automate
  • Good practices in writing automation tests

The workshop itself was interesting and we enjoyed the fact it was very practical, interactive and hands on.

The facilitator had setup a Github repository with three sample projects to work with. As a group we tackled each project and discussed what should be tested and what components we need to identify when trying to write these tests- for example, identifying navigation bar components such as UIBarButtonItems.

There were some minor hiccups at the start of the workshop as some people did not have MacBooks and the latest Xcode version installed - these were some of the prerequisites but we managed to get up and running eventually!

I ended up pairing up with someone who did not have any iOS knowledge and it turned out to be a really good experience. I made the decision to let my partner take the reins since I already had existing knowledge of the topics covered in this. It was interesting to see how accessible Apples framework and component ‘lingo’ was. We were able to identify and discuss the components and actions that would be good to automate UI tests and why these would be important - eg. relating to business needs etc.

The main takeaway for me was towards the end of the workshop when there was a really interesting discussion on the Page Object Model (POM). POM is a widely used pattern when automating tests as it separates page specific code and test code. Little did I know I had actually started implementing POM without realising this in the past!

Learning more about this has spurred us on to look into the Page Object Model and take some of our existing apps and start applying these practices into our existing projects for our enterprise clients.

Exploratory Testing 101

This was one of the workshops we were most excited to attend. The purpose of it was to explore the concept of exploratory testing and how to adopt it in a way that is effective for us as software testers and for our wider team.

Instead of focusing on managing mountains of test cases and dealing with bugs that can potentially slip through the net, the purpose of exploratory testing is about finding out about what the software is, what it does and what works and what doesn’t work. The tester is then constantly making decisions about what to test next and enables them to effectively prioritise.

The main advantages of exploratory testing is that typically, less preparation is needed, more bugs are found and faster and testers can use deductive reasoning based on results of previous testing. They do not need to complete a series of scripted tests and arguably accelerates faster bug detection overall.

This workshop itself was a lot of fun and involved a large amount of collaboration. After a brief introduction on why testing is important, we were split in teams of 5 and were asked to follow a set of test cases.

As you can see from the above photo, the test cases involved us looking around the building and following the steps in the chart. As we were exploring, we found that the test cases were too ‘by the book’ and not very flexible. For example, some of the criteria was met but not quite. This sparked conversations about how test cases are good but the risk associated with each case is different depending on the impact it has E.g Financial loss, Compliance etc

The second half of the workshop was practical and it involved us testing a game called “ZType.” The purpose of the exercise was to:

-quickly and efficiently discover bugs through exploratory testing techniques

-identify potential vulnerabilities and risks earlier on

-move away from looking at single a set of test cases and take a more holistic view

From participating in this we quickly realised that exploratory testing had a range of benefits, in particular around picking up on issues and bugs that might not be covered in normal test cases. It also allowed us to pick up on additional issues and prioritise the risks. We learned how to accurately assess vulnerabilities and risks and not just sporadically raise bugs.

We’d highly recommend attending workshops run by the Ministry of Testing. Not only does it give you the opportunity to expand your knowledge and learn new ways of working, but it also allows you to network and collaborate with fellow testers who may have an entirely different skill set to you and whom you can also learn from.

We are looking forward to incorporating exploratory testing into our existing and future client projects, especially into big enterprise client projects that are often complex and heavily rely on business logic.

By Mairead Quigley

02 Aug 2018

Share this article

facebook-logo twitter-logo linkedin-logo

More Articles

Debunked: The Difference Between Native, Cross Platform and Web Apps

So many different types of apps, so much confusion! Which one should I choose to build my app on? What are the differences? Is one better than the other? The moment you consider investing in an app, you’re immediately faced with a barrage of terminology- but what do they all mean? Well you’re in l

Building A Digital Product MVP: The What, Why & How

We’ve met many start ups over the years who have to us with their idea of the *“next big app”.* However the hard truth is that many of these apps are destined to fail almost immediately. In fact, 42% of start ups fail because there was no market need. It’s precisely for this reason that we always re

Innovation Day at xDesign- What Goes On?

It’s one of our favourite days of the month- xDesign Innovation day! On the last Friday of every month the team gets together to host a day of innovation brilliance. In the mobile and digital/software development space, it’s really important that we all have the opportunity to try and test new ideas and technologies that we think could make a real difference to either our clients or indeed for us internally as a company. It’s also a bit of fun where we can take a slight break from client work and discuss current challenges and technology trends.

Innovation Day at xDesign- What Goes On?

It’s one of our favourite days of the month- xDesign Innovation day! On the last Friday of every month the team gets together to host a day of innovation brilliance. In the mobile and digital/software development space, it’s really important that we all have the opportunity to try and test new ideas and technologies that we think could make a real difference to either our clients or indeed for us internally as a company. It’s also a bit of fun where we can take a slight break from client work and discuss current challenges and technology trends.

Debunked: The Difference Between Native, Cross Platform and Web Apps

So many different types of apps, so much confusion! Which one should I choose to build my app on? What are the differences? Is one better than the other? The moment you consider investing in an app, you’re immediately faced with a barrage of terminology- but what do they all mean? Well you’re in l

Building A Digital Product MVP: The What, Why & How

We’ve met many start ups over the years who have to us with their idea of the *“next big app”.* However the hard truth is that many of these apps are destined to fail almost immediately. In fact, 42% of start ups fail because there was no market need. It’s precisely for this reason that we always re

Innovation Day at xDesign- What Goes On?

It’s one of our favourite days of the month- xDesign Innovation day! On the last Friday of every month the team gets together to host a day of innovation brilliance. In the mobile and digital/software development space, it’s really important that we all have the opportunity to try and test new ideas and technologies that we think could make a real difference to either our clients or indeed for us internally as a company. It’s also a bit of fun where we can take a slight break from client work and discuss current challenges and technology trends.

Debunked: The Difference Between Native, Cross Platform and Web Apps

So many different types of apps, so much confusion! Which one should I choose to build my app on? What are the differences? Is one better than the other? The moment you consider investing in an app, you’re immediately faced with a barrage of terminology- but what do they all mean? Well you’re in l

Building A Digital Product MVP: The What, Why & How

We’ve met many start ups over the years who have to us with their idea of the *“next big app”.* However the hard truth is that many of these apps are destined to fail almost immediately. In fact, 42% of start ups fail because there was no market need. It’s precisely for this reason that we always re

Innovation Day at xDesign- What Goes On?

It’s one of our favourite days of the month- xDesign Innovation day! On the last Friday of every month the team gets together to host a day of innovation brilliance. In the mobile and digital/software development space, it’s really important that we all have the opportunity to try and test new ideas and technologies that we think could make a real difference to either our clients or indeed for us internally as a company. It’s also a bit of fun where we can take a slight break from client work and discuss current challenges and technology trends.

View more articles

Got a question?
We’d love to hear from you.

Through digital consultancy, design and engineering, our team will find the solution that’s right for you.

Contact Us
xdesign-logo
Our workServicesAbout UsInsightsCareersContact UsPrivacy Policy
facebook-logo twitter-logo linkedin-logo

Belford House, Floor 2 - West, 59 Belford Road, Edinburgh, EH4 3DE, United Kingdom. +44 (0) 131 339 3838  [email protected]ign.com

Copyright © 2020. All Rights Reserved xSolutions365 Ltd

Contact Us