In the field of software testing, smoke testing is defined as a preliminary test for the further testing of the software program or the application.
- The smoke is basically intended to reveal the simple failures but big enough to get prospective and deserving software rejected for release.
- The “smoke” in the term smoke testing is taken to be metaphorical.
- Typically in a smoke testing, a sub set of the test cases (includes all the test cases that have been selected to be performed on the software system or application) are selected and run on the software system or application.
- All the selected test cases cover all the most important functionalities of the components of the software system or application.
- This is done in order to ascertain that whether the most crucial functions of a software system or application are working properly or not?
To make it easy to understand let’s say that the smoke testing involves enquiring about the following questions:
- Whether the program runs or not?
- Whether it opens a window or not?
- Whether clicking on the main button triggers any action or not?
And so on!
- The main aim is to determine the status of the software system or application i.e., whether or not the software system or application is in such a bad or broken state that it requires further testing.
According to the book “lessons learned in software testing” the " smoke testing covers all the features of the software product in a broad manner and also in limited time".
- It also states that if the key features of the software system or application are not working or if the major bugs have not been fixed, then the software developers and testers won’t have to waste their time further by installing the application or testing it.
- A smoke test that is being performed on a particular build is commonly known as a build verification test.
- Performing a daily smoke and build test is now being considered as one of the best practices in the industry of software testing.
- These days the testers now prefer to perform smoke testing before accepting a build for further testing of the software system or application.
- The software giant Microsoft once claimed after the code reviews that the smoke testing can be effectively stated as the most cost effective method for identifying the major bugs and fixing them in software program.
- In the case of Microsoft, a smoke test is usually seen as a process of validating the changes made to the code before they are set in to the source control.
- Smoke testing can be performed either manually or it can be made automated by using an automated tool.
- When an automated tool is used the initiation of the test cases takes place automatically by the same process that is responsible for generation of the build itself.
Smoke tests are categorized in to two major categories namely:
- Functional tests
- Unit tests
The functional tests are responsible for exercising the complete software system or application with various forms of inputs whereas the unit tests are responsible for exercising the individual functions, object methods and sub routines.
The functional tests as well as unit tests behave as a third party products that do not form a part of the whole compiler suite.
Functional tests are usually a scripted series of program inputs whereas unit tests are separate functions embedded within the code or the driver layer itself that links to the source code without making an alteration to the code that is under test.
Friday, January 13, 2012
What are different guidelines for smoke test?
Posted by
Sunflower
at
1/13/2012 12:28:00 PM
0
comments
Labels: Aim, Application, Bugs, Defects, Errors, Functionality, Guidelines, Methods, Objectives, Smoke, Smoke Testing, Software Systems, Software testing, Test cases, Tests
![]() | Subscribe by Email |
|
Sunday, August 29, 2010
Overview of smoke testing : Characteristics and Advantages
Smoke testing is a quick-and-dirty test that the major functions of a piece of software work without bothering with finer details.
Smoke testing is used when the product is new. Smoke testing is run when the build is received to check if the build is stable. A smoke test is a series of test cases that are run prior to commencing with full-scale testing of an application. It is a non-exhaustive kind of testing.
A smoke test is used as an acceptance test prior to introducing a new build to the main testing process, i.e. before integration or regression.
Characteristics of Smoke Testing
- A smoke test is scripted, either using a written set of tests or an automated test.
- A Smoke test is designed to touch every part of the application in a cursory way.
- It is shallow and wide.
- Smoke testing is conducted to ensure whether the most crucial functions of a program are working, but not bothering with finer details.
- Smoke Testing is applicable when new components gets added and they are integrated with the existing code.
- It ensures that the build is not broken.
- They are also useful for verifying a build is ready to send to test.
- Smoke tests are not substitute for actual functional testing.
Advantages of Smoke Testing
- The integration problems reduces when smoke testing is done at various stages.
- A properly designed smoke test is capable of detecting problems at an early stage.
- If the major problem is detected at an early stage, it saves time and cost.
Posted by
Sunflower
at
8/29/2010 01:21:00 PM
0
comments
Labels: Advantages, Builds, Characteristics, Features, Integration, Process, Product, Quality, Smoke, Smoke Testing, Software
![]() | Subscribe by Email |
|
Friday, August 6, 2010
What are different types of black box testing ?
The base of the Black box testing strategy lies in the selection of appropriate data as per functionality and testing it against the functional specifications in order to check for normal and abnormal behavior of the system. These testing types are again divided in two groups:
Testing in which user plays a role of tester.
- Functional Testing : The testing of the software is done against the functional requirements.
- Load testing : It is the process of subjecting a computer, peripheral, server, network or application to a work level approaching the limits of its specifications.
- Stress Testing : The process of determining the ability of a computer, network, program or device to maintain a certain level of effectiveness under unfavorable conditions.
- Ad-hoc testing : Testing carried out informally; no formal test preparation takes place, no recognized test design technique is used, there are no expectations for results and randomness guides the test execution activity.
- Smoke Testing : It is done in order to check if the application is ready for further major testing and is working properly without failing up to least expected level.
- Recovery Testing : Testing aimed at verifying the system's ability to recover from varying degrees of failure.
- Volume Testing : Huge amount of data is processed through the application in order to check the extreme limitations of the system.
- Usability Testing : This testing is done if User Interface of the application stands an important consideration and needs to be specific for the specific type of user.
User is not required.
- Alpha Testing : Testing of a software product or system conducted at the developer's site by the end user.
- Beta Testing : The pre-testing of hardware or software products with selected typical customers to discover inadequate features or possible product enhancements before it is released to the general public. Testing of a rerelease of a software product conducted by customers.
- User Acceptance Testing : The end users who will be using the applications test the application before ‘accepting’ the application. This type of testing gives the end users the confidence that the application being delivered to them meets their requirements.
Posted by
Sunflower
at
8/06/2010 12:43:00 PM
2
comments
Labels: Ad-hoc, Alpha, Beta, Black box testing, Functional, Load, Recovery, Smoke, Strategy, Stress, Tester, Testing, Usability, User Acceptance, Volume
![]() | Subscribe by Email |
|