You can prevent mistakes found within your application through Quality Assurance (QA) testing. This step is critical for any software project as it helps your team produce the best product before delivering it to the client. In this article, we will discuss two types of QA tests. If you are curious about QA and how it can help your project be sure to read our article Why is QA Essential for your Project?

What is a smoke test?

A smoke test is a quick run through of a site;  it focuses on critical functionality to ensure the site can perform basic features.  The primary features are often called red routes in the software industry.

It only takes a couple of minutes to complete, up to ten minutes at most. What is great about smoke tests is you can perform them either daily or every other day.

smoke testing

Smoke testing came to software testing from a similar hardware test -where the device passed if it did not catch fire (or smoked) the first time it was turned on!

For software purposes, an example of smoke testing could be for a hotel reservation site. In this smoke test example, the tester would ensure the user will be able to sign up, change your password, create a booking, and be notified.

what-the-team-builds-1

What is a regression test?

A regression test is an in-depth, thorough examination of a site. It tests all of the complex user stories and detailed nuances of the site, therefore; they may take many hours to complete. Performing a regression test ensures any changes made did not negatively impact any of the functionality of the site. A regression test will cover every feature, new and old, along with bug fix checks to make sure bugs did not reappear in the software.

regressiontesting

When should I perform a smoke test or a regression test?

You should frequently perform smoke tests. Performing a smoke test immediately following a push to production acts as a way to ensure the high-level functionality of the site is working.

In my experience, you should conduct regression on a per sprint (generally two weeks) basis. A regression test should occur immediately before a push from a testing environment to production. This will ensure that the push to production will not negatively impact the functionality of the site. If we use the previous hotel example, a regression test will check not only the basic items that make the site work but allow us to test more complicated use cases for bookings, such as multiple locations, discounts or promo codes, and international tax law.

Just a quick note about regression testing and developers… Never mix the two.  Developers are too close to the problem to test properly, and it takes them out of their development zone. Developers need to spend the majority of their time developing, rather than doing in depth testing.

screen-shot-2017-09-05-at-4-06-24-pm

Final Thoughts:

Now that you know a thing or two about the major types of user testing, you can apply the proper technique when you need it! Having your developers conduct smoke testing on their code helps them move along faster with their development, especially in the beginning of a project.  However, you need to be able to invest in regression testing on a routine basis or components of your application will begin to break. This small investment will allow you to fix things quickly and efficiently.

Have any questions about testing?  Our knowledgeable quality assurance team is happy to help! Please contact us info@bytelion.com

Kathleen was featured in a previous article about our interns.