Skip to content
SHAPE_Situations_I_V2__F3I8596

Quality Assurance

We care about quality. So, our Quality Assurance department and their services are invaluable to us and our clients. Quality Assurance is much more than just testing. It's a mindset. And it's built into every process that goes into creating a Shape product.

Our process

Our Quality Assurance process consists of several elements that each play a part in ensuring that we deliver Shape quality with each and every release.

The main two focus areas are:

  • Technical correctness - Does the app do what it's supposed to.
  • User Experience - Are the interactions, animations and flows smooth, consistant, reliable, beautiful, and pleasing.

Delivering high quality with every release is essential to long term user retention and keeping churn low. Keeping this top of mind at all times is key. We deliver Quality Assurance services to teams of any kind – whether we are building your entire product, or you just need inspiration or assistance to raise quality.

QA devices
SHAPE_Situations_I_V2__F3I8610
Quality every step of the way

Our tried and tested approach to working with quality follows some simple but critical steps.

Design review

Together the design team and development team go through the app to ensure that every flow and pixel lives up to the design standard required to deliver a superior User Experience. 

All issues found during design review are fixed before finalising the release build shipped for final testing by QA. 

Developer Tests

Our developers test as they implement a feature and before handing it over to the QA team. The goal is to find as many issues as early on in the process as possible. QA could easily stand for Quality Assistance, since our QA team is there to promote a quality mindset and assist our developers with producing a high quality end product – not to randomly test code that developers build.

Scenario Testing

A broad set of user stories define the expected behaviour of an app. Scenario testing focuses on covering all of the regular use flows of the app as described in the user stories. For each user story we define scenarios that define the succesful implementation. When working with scenarios, our QA team verifies that the app is working as expected for the most important end-to-end flows.

Exploratory Testing

Exploratory testing explores all nooks and crannies of the app. In this phase, we push the app to its limits and look for edge cases that have not been revealed by previous stages of testing. We believe that most issues aren’t uncovered by writing test cases, but by trying out and playing around with the software, making the exploratory testing the most extensive of our test phases.

The goal: To ensure a fully functioning, reliable and robust product that we are proud to put the Shape stamp of approval on.

Smoke Tests

Even when applying the utmost care and diligence, whenever a piece of code is changed, added, or removed, there is a risk that it has implications that weren't intended or expected. We are only humans after all, and coding is hard. Therefore, we run our Smoke Test before every release of any change of code.

Testing an entire product in detail with every change in code isn't feasible, so we design the Smoke Tests to cover the main flows that mustn't ever break. Running Smoke Tests can be done by the QA team or developers and assures the person pressing the release button that nothing major will break.

Bug Reporting / App Monitoring

We can continuously monitor the performance of an app using modern analytic tools and thus react to issues that might arise as a result of e.g. upcoming OS updates.

All bugs are reported in Jira, no matter criticality (design and functional flaws). The bugs are then prioritised by the development team.

Bug reports contain all necessary information for the developer to easily locate the issue: Version number / Device info / Descriptive screenshots or videos / How to reproduce guide / Tagged to responsible developer(s) 

Load testing

Before releasing an app to the world, we must ensure that it's able to withstand the appropriate amount of sessions and users. This is mainly a stress test on the backend systems running the apps, so we put the backend under load to confirm that it's able to handle the expected workload of the system.

The Load Testing verifies that the backend components are dimensioned correctly and that auto scaling, if used, works as intended.

Hardware

Our Quality Assurance department runs an analysis together with our Business Development team to conclude which hardware strategy should be applied to a given project. The analysis highlights which devices represent the large majority of the (potential) user base as well as how many OS versions should be supported and tested against. We believe that testing apps on physical devices is important, therefore we have a respectable amount of devices inhouse dedicated for testing.

Test Automation

Using scripting and automation tools we are able to automatically verify different parts of the implementation. This frees up QA and development time which can be used to focus on other tasks. At the same time it provides an extra layer to assure the quality of the product as tests are run after even the smallest change.

Test Automation comes at an additional up front cost, but can be a great investment to save time on later stage testing.

Let's meet and build products

We pick our collaborators and partners with care, and we trust that you do the same. So let’s start by having a coffee and see if we're a match. We would love to meet you.