Quality Assurance (or QA) is an essential part of providing any service, and with digital development, it is a very important consideration throughout the entire project. As the name suggests, quality assurance refers to the process that we have in place to ensure that developed functionality meets business objectives and any errors that could be easily prevented do not sneak into a shipped product. The Quality Assurance team is also responsible for writing acceptance criteria, test cases and using tools and processes that help us manage the communication between developers and testers. We’ve outlined an overview of what this means for our development team and digital projects.
1 – Starting the process
QA begins at the very start of the project timeline with the initial meeting to ensure that everyone is on the same page and to work out every little detail of the project. This offers an opportunity for each project member to ask questions depending on their role in the project. This is also the point at which we can establish exactly who the target users of the platform are, and what kind of use cases to focus on so that users can get the best experience possible.
2 – Design phase
During this stage, the design team will complete user journeys and interface designs that show the exact look and feel and map out all the functionality of the platform. This is when the QA starts preparing test cases. They are inputted into a spreadsheet along with exact steps on how to conduct them, any specific data to input, and the expected results. It’s important that the tests are not just conducted once. Since the platform can be in three different deployment tiers (development, staging and production) we do separate tests for each of them.
Looking at the project in detail ahead of development helps you not only to be very clear on what needs to be achieved but also saves you money that would be otherwise wasted on revisions and unnecessary iterations.
3 – Development phase
There is a lot that goes on behind the scenes in this phase to ensure we deliver quality products. From a developers point of view, they not only have to write good code but also spend time writing tests that will be run against their code so they can be 100% sure that what they did works. They will create components and then write unit tests on these components to check every possible scenario. Once everything has been put together it then goes to the QA team to make sure that it all works cohesively with the use of integration tests.
This process can be made easier with the use of software like Cyprus (for web projects) and Appium (for mobile apps). Those two, in particular, can save the QA and the development team a lot of time as you don’t need to manually identify components to implement tests. As soon as all the tests have been written, it doesn’t take long to run them and identify any issues.
4 – Consistent Manual testing
There are many processes that can be automated, however, we can’t shy away from manual testing. This is done every time that something is “fixed” or “implemented” and it’s the job of the QA to test this to the best of their ability to make sure that it works and is either fixed or implemented correctly.
To get the best results, those tests have to be repeated and conducted in different environments. In web apps, this means users are accessing the app on multiple browsers and screen sizes. On mobile apps, it is imperative that the apps are properly tested on multiple platforms and with multiple different devices from varied vendors. This helps us to make sure that no user is left out.
If this part were missing from the project process, the platform would be undoubtedly released with bugs. These issues would eventually be picked up by our users, through massive lists of bug reports. Developers would have to go through these, scour the app and find these problems before replicating them. If this cycle was to continue then we wouldn’t have very happy clients or users, and no one wants that!
5 – Releasing the project
Having come together and created something that was initially just a thought in someone’s head, and turned it into a reality gives us a great sense of accomplishment. This is the stage where the QA team is satisfied with where the project is at, that it is of high quality, has passed all the required tests and is ready for the public. This is also the point at which the development team can get a breath of fresh air… at least until the next update!
We hope this overview of our approach to quality assurance shows you how we at Gearedapp integrate QA into a project to avoid as many issues as possible. Unfortunately, some still manage to slip through but this process keeps them to a minimum, giving more time to develop exceptional apps and websites.