An Overview of App Quality Assurance

Vikram
Freshworks Developer Platform Blog

--

Apps are a key part of customers’ workflow and we believe it is therefore essential that they are of the same standard and quality as native product features. Before they are published in our Marketplace, our review team focuses on ensuring that they function as expected and help identify any flaws that would adversely affect customer experience.

Figure 1: The Marketplace review process.

In this post, we will give you a broad overview of the Quality Assurance (QA) phase of an app’s review cycle where the QA team meticulously tests apps by using a comprehensive and logical test plan.

To begin with, a QA engineer needs to understand the business use-case and functionality of an app. Typically, a demo is scheduled based on which checklists are prepared to test if the app meets functional requirements as defined by the developer(s). The developer(s) may also need to provide user account details and relevant information on specific settings if the QA engineer needs to access data from third-party websites.

Let’s look at the three major steps involved during the testing phase.

  1. App Installation: First, the QA engineer installs the app with the description, screenshots, and instructions provided. You can view an example of an app with clear-cut instructions here. While installing the app, the QA engineer ensures that the user interface, various configurations, and validations for mandatory fields and error messages are handled properly.
Figure 2: An appropriate error message is displayed for an incorrect domain name.

2. Functionality: The app is first smoke tested to find obvious gaps in the implementation. Next, the QA engineer goes through the complete functional and behavioural flow of the app to ensure that the business logic works as expected and that there are no errors or bugs in the process. In addition, various edge cases are tested to check the quality of the app. For example, while testing the Attachment Manager app which displays files attached to a ticket, the QA engineer checks the following:

a. Various files are displayed within the app widget without text overflow and ellipsis are displayed when filenames are clipped.

Figure 3: Filename is not truncated as required.

b. An error message is displayed if there are no attachments.

Figure 4: The modified app displaying an error message.

3. Browser Compatibility: This test is important to ensure that apps work on various browsers such as Chrome, Safari, Firefox, and Edge without discrepancies. In addition, the QA engineer checks the responsive design and reports issues in case of any errors. Here is an example of a CRM form that works in Chrome but not in Safari.

Figure 5: An app displaying an error message when loading data in Safari.

“The QA review from the Freshworks team was really useful in catching a few remaining issues before the app was made live. — ChargeDesk”

If any issues are found during testing, feedback is provided to the developer to ensure that the app is bug-free and works without glitches. Once your app is approved by the QA engineer, it moves to the next phase — Security testing — which we will discuss here again someday.

For now, we hope that this brief post helps you appreciate what your app goes through when you see that it is “in QA”. Together, you (the developer) and our QA engineer combine to deliver a high-quality user experience through the app, reminiscent of the experience delivered by the Freshworks products our users work with every day.

--

--