1. Introduction To Smoke Testing

1. Introduction To Smoke Testing


2 min read

Why and What is Smoke Testing?

As a developer, I find it easy to grasp the concept of smoke testing in software development. Smoke testing is a preliminary testing phase that prioritises the verification of essential software functions before delving into more comprehensive testing procedures. Typically, it is accompanied by sanity testing, which focuses on confirming specific functionalities such as bug fixes immediately following a build.

Smoke Test in Software Development

Smoke Test in Software Development

Yet, when it comes to smoke testing applications for a particular version of Windows, the approach takes on a distinct character. This category encompasses a wide range of applications, including both commercial software (e.g., FileZilla) and custom solutions (e.g., in-house inventory systems). In this context, smoke testing acquires a specific significance as it ensures the compatibility and reliability of these applications on a particular Windows version, safeguarding the seamless user experience.

Smoke Test in Windows Compatibility Test

Compatibility Assurance

With each new version of the Windows operating system, there may be changes in the underlying architecture, APIs, or system behaviour. Smoke testing ensures that an application is compatible with the specific Windows version, reducing the risk of unexpected issues for end-users.

Stability Verification

Smoke testing helps verify the stability of the application on a particular Windows version. It ensures that essential functions are working as expected and that the application doesn't crash or exhibit critical errors.

User Experience

Users expect applications to work seamlessly on their chosen Windows version. Smoke testing helps maintain a positive user experience by ensuring that the application functions without major hiccups.

Preventing Rollbacks

By identifying and addressing compatibility issues early, smoke testing reduces the need for costly rollbacks or emergency fixes after an application's release. This results in a smoother development process and a more reliable product.

Thus, in this series, I will build a project from scratch which automatically tests applications on a particular Windows version. I will employ ASP.NET Core in this project and introduce some concepts and patterns that I encounter during development.

Did you find this article valuable?

Support Han Chee by becoming a sponsor. Any amount is appreciated!