Sanity examination is a targeted testing activity performed after smoke quiz to verify that recent updates have not introduced unexpected issues. Its intent is to assure that nucleus functionality nevertheless deport aright before you move on to deeper, more comprehensive testing.
In this article, you ’ ll get a clear understanding of what sanity testing is, how it works, and why it plays an important persona in maintaining software reliability.
What is Sanity Testing?
Sanity testing is a focused type of software essay execute after smoke examine to confirm that late modification, bug mend, or small enhancements have not caused new problems. The goal is to quickly ensure that the affected functionality still works as expected before you invest time in broader examination.
Also known as surface-level testing, sanity examination is carried out on a stable build that has already pass smoke quiz. It involves nimble, targeted checks that control whether the updated or impacted area of the application function correctly.
Because it just evaluates specific part of the system, sanity testing is considered a subset ofregression testingthe broader process of ensuring recent codification changes hold n't broken existing feature. By concenter but on the fix itself, sanity testing assist you validate recent modifications quickly without needing to run an entire, time-consuming tryout suite.
Characteristics of Sanity Testing
Here are the key characteristics of sanity testing:
Targeted validation:Sanity testing lets you focus on the exact features affected by a recent update or fix. Instead of checking the entire system, you appear but at the modified areas to confirm the modification works correctly and has not caused unintended side effects nearby.
Flying ratification:This testing is designed to afford you fast reassurance. You run a small number of checks to confirm that the updated feature is stable plenty for further testing. It help you catch obvious issues early without spending unneeded time on deeper testing cycles.
Post-fix examination:Sanity testing happens only on a stable build that includes minor updates or bug fixes. Since the form already passed smoking testing, you cognize the core system is functional. Your job is to reassert that the late changes behave as look before unspecific regression try begins.
Stopgate mechanics:If a saneness test fails, you stop immediately. There is no need to uphold screen because the body-build is not ready. You return it to the development team with details, saving the entire team from wasting time testing a broken build.
Sanity Testing vs. Smoke Testing
Smoke testingchecks the nearly essential and foundational features of the system. If these core features work, the physique is considered stable enough for further testing. If they miscarry, the build is rejected and sent back to the development team.
Sanity testingworks similarly but is far more focussed. Instead of checking the entire system, you test only the modules regard by a recent fix or update to make sure the modification actually solved the problem and didn ’ t faulting anything related.
Here 's a more intuitive comparison:
Smoke screenis like become on a new device to see if it powers up and shows the main screen. You are entirely insure the absolute basics. If those basics work, you cognize the system is stable enough to depart deep testing. If something fails at this point, there is no point go further, and the habitus goes directly back to the developers.
Sanity testingis more like checking whether a specific button works after the developers fix something. Instead of testing the whole system, you look only at the part that was changed. You require to sustain that the fix really act and did not break anything nearby. It is a quick assay that helps you stay confident the system is still behaving correctly after a little update.
Pro tip: Tools like SUSA can handle this autonomously — upload your app and get results without writing a single test script.
The differences between saneness testing and regression examination is even harder to define. They are both tests done after a fix or update happens.
The biggest difference is their background: sanity testing but targets specific fixes, while regression testing ensures overall application stability after updates. Sanity is quick; regression is comprehensive.
Here 's a more visceral comparison:
Sanity testing is like checking a single button or lineament right after developers fix something. You pore simply on the region that was change. The goal is to make sure the fix works as expected and did not cause any obvious new issues. It is quick, narrow-minded, and meant to give you confidence that the updated feature is stable enough to move frontwards.
Regression screen, on the other hand, is like checking the entire control panel to make sure cipher else was involve by the recent modification. When developers alter one part of the scheme, there is always a chance other features might separate without anyone noticing. Regression testing helps you look back at previously work functionality and verify it still behaves aright. It is broader, more exhaustive, and designed to catch side effects across the total system.
Here 's a mere table to equate saneness essay vs regression testing:
Aspect
Sanity Testing
Regression Testing
Objective
Validate specific fixes or enhancements
Verify unchanged features after updates
Scope
Narrow (focalize on affected module)
Broad (cover the intact application)
Timing
Performed after place reparation
Executed after significant code changes
Execution
Quick, limited checks
Comprehensive and time-intensive
Automation
Rarely automated
Often automated for efficiency
Sanity Testing vs. Smoke Testing vs. Regression Testing
Here 's a elementary Venn diagram to illustrate the relationship between these types of exam.
Here 's a quick table comparing the differences between smoke, sanity, and regression testing:
Aspect
Smoke Testing
Sanity Testing
Regression Testing
Objective
Verify if the build is stable plenty for deeper testing
Validate targeted fixes and small update
Ensure antecedently act features still work after code changes
Scope
Very across-the-board, check core system constancy
Narrow, focuses on affected modules
Wide, covers many or all covering feature
Timing
Performed on every new build
Performed after targeted fixes on a stable build
Performed after major update, releases, or codification merges
Depth
Shallow, checks only basic and critical paths
Medium depth, checks specific logic in item
Deep, cover entire functionality and edge cases
Execution
Fast and lightweight
Quick but target
Time-consuming and broad
Automation
Commonly automated
Rarely automate
Heavily automated in modern line
The sanity testing process
Start by reexamine what change:Look through change logs, Jira tag, or commit notes so you understand exactly what developers update or fixed. This helps you rest focused on the right region and avoids quiz irrelevant component of the coating.
Confirm you have a stable build:Make sure the build has already passed smoke testing. The core system should load properly, basic features should work, and nothing should be fundamentally break before you begin sanity testing.
Identify the specific test scenarios:Select a small set of tests that target the updated country. For example, if the login button was fixed, you check log in with valid credentials, invalid credential, and canonic redirection after login. You skip deeper tests unrelated to the update.
Execute quick, focused tryout:Run the select scenarios and detect the results close. Since sanity testing is designed to be fast, you do not run every potential test. If one of the key cheque fails, stop immediately and send the build back for fixes.
Watch for side effects:While testing the updated feature, pay attention to anything nearby that might have be unintentionally affected. You are not doing a entire regression pass, but you yet look for unexpected matter around the limited area.
Explain
|
FAQs on Sanity Testing
What is sanity testing?
+
Sanity testing is a focused testing activeness performed after smoke testing to confirm that recent changes, bug fixes, or small enhancements haven ’ t introduced new problems.
When should sanity testing be execute?
+
On a stable bod that has already passed smoke testing, typically after targeted fixes or pocket-size modification.
How is sanity testing different from smoke testing?
+
Smoke testing is a broad check of core system constancy on a new build, while sanity testing is narrow and validates specific changed country after a fix/update.
How is sanity test different from regression testing?
+
Sanity testing is quick and limited to impacted modules, while fixation examination is all-embracing and verifies overall coating stability and previously working feature after changes.
What is the sanity testing process?
+
Review what changed (tickets/commits), affirm the build surpass smoke, identify targeted scenarios for the updated area, run quick focused cheque and discontinue if key checks fail, and watch for nearby side consequence.
Vincent Nguyen is a QA consultant with in-depth domain knowledge in QA, software testing, and DevOps. He has 5+ years of experience in crafting message that resonate with techies at all grade. His interests traverse from writing, engineering, to building nerveless clobber.
Automate This With SUSA
Upload your APK or URL. SUSA explores like 10 real users — finds bugs, accessibility violations, and security issues. No scripts needed.