Quality

We know quality is very important. We hold ourselves to the highest standards. Our Quality Engineering (QE) Team follows a rigorous process to ensure we ship products that work correctly.

Feature Development

We follow an agile development process. QE works side by side with developers on each feature and utilizes the early development testing principle. We focus on early feature functionality testing to find the issues sooner than later.

We mainly use “Black box” testing techniques. A tester inputs data into the application, and verifies the results to the expected outcome. This type of testing is accomplished by following test cases that were created based on requirements and mockups provided by the product manager and development team.

Test cases are created by QE Team members and then review by his/her peer to ensure the test coverage is completed. Since we work in an agile development environment, the tester will add/adjust the test cases once they are testing the actual product to ensure that each test case is completed and ready for future use.

We run our automation suite daily against every new build to ensure there are no regressions introduced by new code.

We use Risk Based Analysis to determine the level of testing required for each release. We examine the level of change and based on that, create test sets with a combination of existing and newly developed test cases. A set of release test cases will be identified to be used for testing. For any major release, we will have at least 2 full test cycles.

We use JIRA to track all bugs that are found during testing. The following information is recorded with each bug:

Product build number

Title – Summary of the issue

Description – Detail description of the issue and steps to reproduce

Screenshots of the steps, error messages

Expected behavior

Severity of the bug

Any related bug

Once a bug has been addressed, QE will verify the fix. If the testing fails, the bug will go back to the developer that worked on it with notes on why it failed. At that time, the developer and tester will communicate with each other before the bug is sent back again for testing. The goal is to reduce the number of times a bug will go back and forth between departments.

With the completion of each feature, an interim build will be made available to internal employees to explore and report any issue they have encountered. This will help minimize the number of defects released with the product to our customer.

For any major feature, we will also enlist existing end users to alpha or beta test the feature.

Release Testing

Test results are tracked in QAComplete (Test Management System) and the passing rate must meet the release metric defined by QE department.

A panel reviews all known bugs and their severity within the product to determine if the product can be released with those issues. The panel consists of the Director of Quality Assurance, VP Product, Software Development Managers and Director of Customer Support.

If any changes are required based on the decision from the panel review, the process repeats until the panel is in 100% agreement.