Quality assurance — the CKL way

Quality assurance refers to the guarantee that when a software application is used, it performs as expected without causing harm or error. And, as you’d imagine, quality is the ultimate goal of every app in development.

But what exactly are we referring to, when we say “quality”?

Understanding true quality in application development

At a minimum, a quality app is one that allows its users to accomplish their goals without anything going wrong. Their experience should be bug-free and have no unexpected behavior. Without great QA, you run the risk of releasing buggy applications and wrecking your company’s reputation.

Accomplishing this isn’t only important for users, either. It’s critical for app owners too. An app that has minimal bugs costs less to maintain and fix — you’ll spend less money in maintenance mode and more time in development adding new features that help meet your business goals.

That’s the hidden benefit of masterful QA. And it’s why, at Cheesecake Labs, we view quality as way more than technical viability and functionality.

Let us tell you more…

Quality assurance baked in at Cheesecake Labs

At Cheesecake Labs, quality assurance isn’t only about finding bugs and fixing them — although we’ll obviously do that too!

Large applications are complex, and a lot can go wrong. Not everything bad will appear as a bug. Our QA team’s job is to find and resolve these issues, delivering a product that meets the needs of the client and the end user.

Spotting and resolving bugs is just one responsibility of the Cheesecake Labs QA team though. In our house, QA has the same level of input to the total development process as designers and developers. They participate in each of a project’s weekly meetings, are active in Slack chats and have a direct communication line with our customers. They’re there to make a meaningful difference in every part of the app development journey.

Your QA team is also there to make sure your app meets all the business requirements. At Cheesecake Labs, QA operates as part of the ‘Project’ team — that is, they are active during every one of your product’s design and development cycles, end-to-end.

Where the QA process kicks off

Quality assurance isn’t an afterthought at Cheesecake Labs. Our QA team joins the project at the start of the Design phase where, at this point, they’ll learn about your company and the goals of your application.

Knowing this helps our QA team understand who your customers are, how they want to use your app, and how to deliver feedback that leads to great results. It isn’t always easy to prioritize features efficiently from the get-go. But since our QA team knows your app’s goal and what your users need, they can test your app to make sure the user interface functions well for everyone and provides that delightful experience.

Moving to development

Once we move out of the Design phase, the QA team starts their work with the development team. As the development team releases your app’s early builds, the QA team will be there to test everything. They’ll perform functional and usability tests to make sure everything works as intended.

They’ll use their findings to provide constant feedback to developers. This iterative approach helps your engineers deliver quality code and gets your app in-hand more quickly. QA will keep this focus on continuous improvement through both Development and Optimization.

The quality assurance tests your product needs

If you ask us, there isn’t one type of QA test that covers all the bases. If you want a quality application, you’ll need several testing methods to get you there. That’s why we’ll apply a series of different approaches and test suite cases to your project, depending on its needs.

The QA tests we rely on vary from unit tests to end-to-end tests, and more in-between. But let’s look at three quality assurance tests that Cheesecake Labs uses regularly and why they add value.

Smoke test

A smoke test is rolled out when you’re almost ready to release your app for further manual tests. You can think of it as a verification test to make sure everything is operating correctly.

Smoke tests contain a small set of manual tests that you run on each software build. These tests cover the most critical parts of your application — and if there are any significant issues with your software, these tests will find them.

Regression test

Just because a feature is working now, doesn’t mean it will continue working in the future. As time goes on — and more features are added — there’s always the chance that previous functionality breaks when you introduce new code.

That’s where regression testing comes in; looking at previous features of your project when new builds are released. Your testers and developers will have created a set of test cases for those features, and those tests are rerun to make sure nothing breaks and old bugs aren’t reintroduced.

Integration test

Your app features don’t exist independently. Many parts of your app will need to communicate between the other parts, and integration testing helps isolate any issues.

An integration test looks at your whole application, from top to bottom. It tests both your frontend and backend code to ensure your entire app flows seamlessly.

How does Cheesecake Labs make these tests happen?

These tests can happen in two ways: manual or automated. Manual tests are more often applied to the user interfaces for your software. These tests make sure your users see what you want them to see, so it’s tough to automate that process.

Manually testing every part of a large application isn’t always feasible, though. So that’s where automated tests, like unit tests and UI tests, are added in.

Unit tests are applied to test small pieces of code in your product’s backend; whether it’s a function, module, procedure, or object, running an automated unit test will ensure everything’s working as expected.

UI tests, on the other hand, are used to mimic user behavior. An automated UI test works through your app completing tasks as a genuine end user would — navigating workflows, validating buttons, inputting data, and so on. Performed automatically, this helps us test long customer journeys — and isolate issues — more quickly.

Keeping you in the loop through QA

The entire Cheesecake Labs four-phase product development process is founded on collaboration. And while QA can be technical, we’ll never work in a silo or isolation.

Our QA team will keep you updated every week. You’ll know how many bugs we discovered and fixed, why those bugs occurred, and unexpected program behavior. Plus, when you work with our QA team from the very beginning, you’ll get a program with fewer bugs and an app with all its major features working correctly — and that saves time for everybody!

What happens if you create parts of your app in-house?

Are you using Cheesecake Labs to create your app’s frontend while you handle the backend code yourself? No problem!

Our team is more than happy to work with your in-house developers and have done this with many clients. We understand that issues can come up when working with two separate codebases — and that, in most cases, those issues will show up on the frontend of your app.

Should this occur, our QA team will work with your team to find any issues and resolve them. Your success is our success, so we’ll do everything we can to get to the root.

Let’s prioritize quality, together

Building an app is a team sport. By bringing QA into the process at the Design phase, your testers, designers, and developers can stay on the same page. This is even more important in today’s world where much of the workforce has gone remote.

Your Cheesecake Labs QA team is also there to help create guidelines and documentation. Everyone will know what to do, they’ll be aligned on your product vision, and can work seamlessly together to achieve your business goals.

Schedule a consultation today to get the process started.

About the author.

Douglas da Silva
Douglas da Silva

Also known as Doug Gimli, I'm a developer that works with interactive solutions facing web projects, trying every day to deliver a full and great experience to users.