Quality assurance is more than just the last line of defense between the end user and a poor digital experience. No matter whether the product is a mobile app, web app, VR environment, wearable, or another device connected to the web or other devices, QA at Handsome is critical part of ensuring a high quality user experience across the entire customer journey.
“The role of QA at Handsome is to ensure that customer interactions at every touchpoint throughout their journey are implemented the way they were designed.”
The customer journey encompasses all the interactions the user has with a product as well as the marketing and support elements around that product. The interactions along the journey are referred to as touchpoints. The journey’s first touchpoint is when the user first becomes aware of the existence of the product; and it continues on through regular use and follow-up. For example, we always collect feedback to help us improve the product. That’s another touchpoint!
The role of QA at Handsome is to ensure that customer interactions at every touchpoint throughout their journey are implemented the way they were designed.
There are, of course, parts of QA that are purely product-centric and software-centric – that’s what we’ll focus on in this article.
Artem Mezdrin has worked as a Quality Assurance Engineer at Handsome since 2014 and has lead testing activities on a number of different kinds of products. We sat down with Artem to dive into the process of product QA at Handsome.
– Artem, you’ve been a QA Engineer for many years, and have seen different approach to quality assurance in multiple companies. To you, what is quality and what is a high-quality product?
– For me and for Handsome, quality is both functional (conformity with given design and specifications) and structural (compliance with non-functional requirements and standards of software architecture) parts which include a lot of components. We base our definition of quality on ISO 25010. To check various quality attributes we use traditional types of manual and automated testing, such as functional, UI, usability, performance, compatibility, some other types and our “three perspectives” approach.
– What is the “three perspectives” approach?
– The goal of this approach is to achieve the most holistic overview of the product. We check the product as a tester (checking it against the specifications and trying to purposefully break it), as a user (playing the role of a target persona) and as a business stakeholder (assuring the product as a whole, as well as its parts, ultimately helps achieve business and product goals).
– Looks like there is a lot to do. What is your role in it as a QA Engineer?
– Let’s take a look at the product creation lifecycle:
Our QA process covers nearly every part of it, from the beginning to the end. It’s not just a single “Testing” phase after the product is done; it’s a holistic iterative process that goes alongside with UX and UI design production (I make sure design deliverables are holistic and comprehensive, so that our developers can focus on creating code) and software development. In the long run, it saves a lot of time and eliminates heavy back-and-forth processes close to release. Additionally, being an important part of many touchpoints also adds a lot of joy into QA’s work and creates an overall positive and productive environment.
– What do you do if design deliverables are not enough to cover all aspects of a product?
– Such situations happen every once in awhile, especially when a product consists of complex subsystems and all of them are related to each otheramong themselves onin a different levels. We prepare test cases for this and we do it right after the design review and before development. It allows us to be ready for testing in time and create executable specifications for developers.
– Executable specifications? What is it?
– In short, executable specifications are a combination of finalized UX and UI deliverables with described behaviour and steps of user actions. The level to which we detail these specifications depends on the project size and complexity. These specifications are handy for development as direct instructions and expected behaviour and for verification of implemented features. For test-cases management we use TestRail which allows us to keep executable specifications updated and assign tasks for team members.
– How many team members participate in QA process?
– QA process goes through all disciplines and project activities, therefore all project team including engineering, management, design, even business-stakeholders works on quality. Engineering team performs design review and helps make executable specifications complete. Design team perform visual QA of implemented features. Business stakeholders provide feedback during sprint demos. Future users of the application test it as well.
– How do you finally make sure you’ve made a top-tier product?
– We perform verification and validation activities during the entire product development process, starting with research and finishing with the release. These activities help us understand how we match acceptance criteria. To perfect the QA process, we focus on certain metrics to measure process quality. We compare sprints, releases or even projects with each other to see what we can improve. We have test plans for all projects and measure executed/not executed test cases, test cases passed and failed, defects density and removal efficiency. As a final step, we gather the customer’s feedback as a high-priority metric, using surveys and retrospective meetings.
By combining our own testing methods, based on a deep understanding of client’s business needs, with traditional ones, we invented a new modern QA process framework oriented to the fast, flexible, successful and high-quality development of any digital products.