Before answering the burning question of why you need Quality Assurance (QA) on your project, let us set the groundwork for how we as Quality Engineers define quality at SB.
Quality means fully tested applications and websites with thoroughly defined test plans and test cases that are created and executed from a user’s perspective. Quality also means fully functional, intuitive products that require little to no training to operate and use. The user should be able to pick up a product and immediately understand its use given an innate familiarity. Beyond being fully functional and intuitive, a product needs to be relatively bug-free. As the late Alan Perlis said, “There are two ways to write error-free programs; only the third one works.” Essentially, what he is saying is that bugs are a natural byproduct of software development. With our services, we can sniff out any potential issues as early as possible to ultimately save you time and money.
Now that we’ve defined quality, let’s dive into process…
At SB, valuable QA in digital products requires a fully adaptive approach as each project is inherently different. We get involved at the start of each project and begin our work by creating a customized test plan capturing all requirements. These requirements take the form of documented test cases and will be based off of Design, UI and UX implementation and needs, user stories (can be for bugs and features) as well as overall business requirements for example. As projects evolve, our test cases also evolve so we are your champion for quality and here to gather all of this content in a consolidated space to later execute our test cycles against.
Since we take an adaptive approach to QA, it’s also important to recognize the many methods of testing available to QA Engineers and the time investment each method requires. At the start of a project, we will also ask “What is important to you?” With this, we are trying to glean a few things. Namely: browser needs, device needs, operating system needs and whether or not you may want automated testing beyond standard manual testing. This manual testing is an ABSOLUTE MUST on every project as it is the human touch approach. QA works very closely with the project managers, project technical leads and developers throughout the project lifecycle to ensure that what we produce meets and even exceeds your expectations. Yes, we said it…meets and even exceeds. Stay tuned for a future post about how we perform and execute automation.
Furthermore, we help to inform our company’s definition of what it means to be “Done”, and are with you throughout the entire project lifecycle. With this definition of “Done” comes the concept of acceptance criteria – or what requirements need to be met for work to be complete. You should think of this acceptance criteria as “Done Criteria” and it’s imperative that your team is fully aligned on this. All members should understand what it means to complete a bug or feature. Without clear acceptance criteria and an agreed upon definition of “Done”, bug or feature completion becomes a moving, relative target.
Last but certainly not least…why do you really need us?
If the above hasn’t sold you yet…we truly test with the end-user in mind and are proficient in the art of breaking things to help lead efforts to rebuild even stronger. The dedicated QA Engineer will not only test new features during each sprint but will test to confirm any and all bugs are resolved. And we will perform overall regression testing of all test cases documented. As projects wrap, QA will help to transfer our process to your team so that you can be best setup for success moving forward.
Quality isn’t magic! Test early and test often!
We don’t just build great products, we help build great companies. Let’s Chat.