What You Need to Know About Manual Smoke and Sanity Testing in Software Development
Jayrald Ado Virtual Assistant ??????
?? Virtual Assistant | Customer Service Specialist | Home & Property Insurance, B2B, Healthcare, Finance, Travel, Ecommerce, Telecom, SaaS, Web3, Sustainability | Content Marketing | Social Media Management | L.I.O.N ??
Software testing is a crucial part of the software development process. It ensures that the software meets the requirements and expectations of the users and stakeholders. However, software testing can also be time-consuming and costly, especially when there are frequent changes and updates in the software.
That’s why software testers need to use different types of testing techniques to optimize their testing efforts and resources. Two of these techniques are smoke testing and sanity testing. In today’s newsletter edition, I will explain what smoke testing and sanity testing are, how they differ from each other, what tools you can use to perform them manually, and what are some best practices to follow.
What is Smoke Testing?
Smoke testing is a software testing technique performed post software build to verify that the critical functionalities of software are working fine. It is executed before any detailed functional or regression tests are executed. The main purpose of smoke testing is to reject a software application with defects so that QA team does not waste time testing broken software application1.
In smoke testing, the test cases chosen to cover the most important functionality or component of the system. The objective is not to perform exhaustive testing, but to verify that the critical functionalities of the system are working fine. For example, a typical smoke test would be:
1.???Verify that the application launches successfully
2.???Check that the GUI is responsive
3.???Verify that the login functionality works
4.???Verify that the main features are accessible and operational
Smoke testing can be performed in different environments, such as development, QA, UAT, or production. It can also be done by different roles, such as developers, testers, or users. Smoke testing can be automated or manual, depending on the complexity and frequency of the tests.
What is Sanity Testing?
Sanity testing is a kind of software testing performed after receiving a software build, with minor changes in code, or functionality, to ascertain that the bugs have been fixed and no further issues are introduced due to these changes. The goal is to determine that the proposed functionality works roughly as expected. If sanity test fails, the build is rejected to save the time and costs involved in a more rigorous testing.
Sanity testing is usually performed by testers after regression testing or bug fixing. It focuses on specific functionality or components that have been changed or added in the new build. The objective is not to verify thoroughly the new functionality but to determine that the developer has applied some rationality (sanity) while producing the software.
For example, a typical sanity test would be:
1.???Verify that the bug reported by the user has been fixed
2.???Verify that the new feature added by the developer works as intended
3.???Verify that no other major issues are introduced due to the changes
Sanity testing is usually not documented or scripted. It relies on the tester’s knowledge and experience of the system. Sanity testing can be automated or manual, depending on the scope and complexity of the tests.
Difference between Smoke Testing and Sanity Testing
Smoke testing and sanity testing are both techniques QA professionals use to quickly identify feature defects. However, they differ when it comes to scope, automation requirements and timing.
1.???Scope
Smoke testing verifies the stability of the entire system at a high level, while sanity testing verifies
The rationality of specific functionality or components within the system.
2.???Automation
Smoke testing is often automated and performed continuously as a part of the continuous integration process, while sanity testing is often manual and performed on demand after receiving a new build.
3.???Timing
Smoke testing is done before any detailed functional or regression tests are executed, while sanity testing is done after regression testing or bug fixing.
Tools for Manual Smoke Testing and Sanity Testing
While automation can improve the efficiency and coverage of smoke testing and sanity testing, there are some cases where manual testing is still necessary or preferable. For example:
1.???When there are complex scenarios or logic involved
2.???When there are frequent changes or updates in the software
3.???When there are user interface or user experience issues
4.???When there are compatibility or cross-browser issues
5.???When there are security or performance issues
To perform manual smoke testing and sanity testing effectively, testers need to use some tools to help them with test planning, execution, reporting, and collaboration. Some of these tools are:
1.???Test management tools
These tools help testers to create, organize, execute, track, and report test cases and test results.
领英推荐
2.???Bug tracking tools
These tools help testers to report, manage, and resolve defects found during testing. They also help to communicate and collaborate with developers and other stakeholders on bug fixing and verification.
3.???Test automation tools
These tools help testers to automate some or all of the test cases and test execution. They can save time and effort, increase test coverage and accuracy, and enable continuous testing and integration.
4.???Performance testing tools
These tools help testers to measure and evaluate the performance, scalability, reliability, and resource consumption of the software under different load conditions.
5.???Security testing tools
These tools help testers to identify and eliminate any security vulnerabilities or risks in the software. They can check for common threats such as SQL injection, cross-site scripting, broken authentication, etc.
Some examples of these tools are:
1.???Test management tools
Tuskr, PractiTest, Xray, TestRail, QMetry Test Management, etc.
2.???Bug tracking tools
Jira, Bugzilla, MantisBT, Redmine, etc.
3.???Test automation tools
Selenium, Katalon Studio, TestComplete, UFT One, etc.
4.???Performance testing tools
?LoadRunner Professional, JMeter, Gatling, BlazeMeter, etc.
5.???Security testing tools
ZAP, Nmap, Burp Suite, Metasploit, etc.
Best Practices for Manual Smoke Testing and Sanity Testing
To perform manual smoke testing and sanity testing effectively and efficiently, testers should follow some best practices such as:
1.???Plan ahead
Define the scope, objectives, criteria, and schedule of the tests. Identify the critical functionalities or components to be tested. Prioritize the test cases based on risk and importance. Allocate the resources and roles for the tests.
2.???Document the tests
Create clear and concise test cases and test steps. Record the expected and actual results of the tests. Document any defects or issues found during the tests. Use a test management tool to organize and track the tests.
3.???Execute the tests
Follow the test plan and test cases. Execute the tests in a controlled environment. Use a bug tracking tool to report any defects or issues. Verify that the defects are fixed or resolved. Re-test if necessary.
4.???Report the results
Analyze and evaluate the test results. Generate test reports and metrics. Communicate and share the test results with all stakeholders. Provide feedback and suggestions for improvement.
Conclusion
Manual smoke testing and sanity testing are two important techniques that can help software testers to ensure the quality of their software products. They can help to detect and eliminate critical defects early in the software development process, saving time and costs.
However, manual smoke testing and sanity testing also require proper planning, execution, reporting, and collaboration. Testers need to use appropriate tools and follow best practices to perform them effectively and efficiently.
If you are interested in learning more about manual smoke testing and sanity testing, or if you want to improve your skills as a software tester, you should check out Careerist’s Manual QA course. This course will teach you everything you need to know about software testing fundamentals, methodologies, techniques, tools, processes, best practices, and more.
You will also get hands-on experience with real-world projects, assignments, quizzes, and exams. You will also get access to a network of mentors, instructors, peers, and employers who can help you advance your career as a software tester.
So what are you waiting for? Enroll in Careerist’s Manual QA course today and start your journey to becoming a successful software tester!
Don’t miss this opportunity to learn from the best and boost your career prospects. Click here to sign up for a free trial of Careerist’s Manual QA course. You won’t regret it!
That’s all for this blog post. I hope you found it useful and informative. If you have any questions or feedback, please leave a comment below. Thank you for reading and happy testing!
Attorney At Law at CIVIL COURT CASES
1 年Very good