Quality assurance is an essential part of the development process, as it ensures software will function as expected upon release. But what kind of software QA should you plan to use, and at what point should test suites be run?

Pinpointing your best test suite option is done by defining the purpose of running QA tests and recognizing your current position in the software development lifecycle. To help determine which test suites to use and when, here are a few standard questions to consider when planning QA for your projects.

Should I run a full test suite for my build?

Say your users will often interact with interfaces such as a user login or a password reset. As a simple — and necessary — function, it can be tested by itself before running a full test suite.

Use a smoke test. This automated check can be run daily for quick feedback. If bugs or defects are found, the test results will alert developers to whether or not further testing is necessary.

How should I check that a core function works properly?

If your software is made for frequently accessioning data, you will expect the information to be consistently correct. For example, a medical laboratory aims to make breakthroughs for patients by using reliable software to transfer patient data to their test results, and then be sure test results are valid before copying that data to be used elsewhere. The software is responsible for always maintaining error-free data.

Before going through extensive testing or rushing to a QA engineer to test the accuracy of the core function, use a sanity test to identify if any problems exist.

How should I check the scope of iteration?

During the process of adding a brand new feature to your logistics system, it needs to be checked to ensure it will function properly over time. Any bugs within the feature must be found and fixed before releasing the system to users.

A functional test should be used to identify bugs. This may mean initially using a smoke or sanity automated test. If more testing is needed, appoint a QA engineer to load and go through the software. The engineer will deliver a solution to developers so the software gets back on track.

How should I check that there are no new defects added to my existing functionality?

Software improvements are often made for a more efficient user experience. Perhaps you have developed, for example, a new, easier way to input data into a patient registry. This simpler method is exciting for the user, but not if the accessioning process has been damaged because of the software addition.

To ensure there is no significant regression before releasing software, a partial regression test should be performed. The test will identify iterations that must be revised so new features are covered. The complexity of your system will determine whether an automated or a manual test is more appropriate for finding issues.

How should I test the entire scope of my system?

Major changes to programs, such as shutting down your software overnight to upgrade from version 1.0 to 2.0, requires in-depth testing during the development process. Before revealing the software for use, the scope of the system needs to be checked from start to finish.

A full regression test will check the whole system, cumulatively including all of the new test cases that were created. Like a partial regression, the complexity of the system determines whether an automated or a manual test is more appropriate for discovering problems.

Here at EPIC, our experts gain an understanding of your business goals, processes and applications to perform the highest levels of quality assurance. Contact us to find out how our proprietary process can help elevate the quality of your releases.