Subscribe by Email

Friday, June 22, 2012

What are different types of smoke tests?

Smoke testing has merged as one of the best general software testing methodology though it is a dirty one and very shallow too! Smoke testing is one of the easiest and quickest black box software testing methodologies that we have today. 

Smoke tests are of two types namely:
1. Functional tests and
2. Unit tests

About Functional Tests

- These type of smoke tests are typically scripts or programs that have been configured to test the group of classes so as to determine whether or not they meet the external requirements.
- One example of functional tests is the screen- driving programs that are used to test the graphical user interfaces (GUIs).
- They are a certain class of black box tests that are based up on the specifications of the software components under testing. 
- The testing is carried out normally i.e., giving the input and observing the output and the internal structure of the system is neglected.
- Functional tests are implanted via the following 5 steps:
(a)  Identifying the functions that are to be performed by the software system.
(b)  Creating the input data that is based up on the specifications of the functions.
(c)   Determining the output based up on the specifications of the functions.
(d)  Executing the test case.
(e)  Comparing the actual and expected outcomes.
- The functional smoke tests form a key component of the software engineering as they help track the growth of the project.
- Using the functional tests, the system can be tested from end to end. 
- Similar to the unit tests the functional tests accelerate the development rate of the project while ensuring its quality. 
- Functional tests are specified by the customers or the customers may provide the developers with user stories based on which the developers may write the functional tests. 
Errors that are encountered during functional tests are fixed using the unit tests and then again verified by the functional tests. 
- The more the number of functional tests and the more correct they are, the more is the certainty that the software system or application is working. 
- To make this whole process efficient, you need to automate the whole testing process.

About Unit Tests

- For carrying out these types of smoke tests you need a unit test frame work that will create automated unit tests suites. 
- Another thing is that all the classes within the build should be tested. 
- The tests are created before the code is written. 
- The code repository holds the unit tests along with the code that is to be tested. 
- Automated unit tests though are difficult and take a lot of time, yet they offer huge pay back. - It takes a lot of time to produce a good unit test suite. 
- The unit tests enable the following aspects:
(a) Collective ownership: This eliminates the need for individual code ownership since all the classes are guarded by the unit tests.
(b) Re-factoring: This ensures that a change in one part has not hampered the performance of the other parts.

About Frequent Integration

- This is possible only if there is a single universal unit test suite for regression testing and validation. 
- When your unit tests are automated it becomes easy to merge the changes with the latest released version. 
- Whenever a new functionality is added it is required that the unit tests are also changed  accordingly to reflect the functionality. 

No comments:

Facebook activity