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:
Post a Comment