We have so many techniques used in testing. In this article we will discuss some of them.
- Smoke testing
- sanity testing
- security testing
- Ad-hoc testing
- Cookie testing
When I hear this word smoke, it creates a picture in my mind of smoke coming out from the bushes from them suddenly catching on fire.
Well different people have different ways of imagining things. We will see what smoke testing actually means. Smoke testing is a testing to determine whether further testing of the application is necessary or worthless.
It is designed to verify that the changes made in the code maintain the stability of the entire application.
It can be done in both ways; by functional as well as as by applying testing on individual modules. The word comes from hardware testing in which circuit testing is done to detect failures when it produces smoke due to burns in wires.
It describes the process of validating code changes before the product's source tree creates any changes to it. Smoke testing can be done by both of the methods, manual as well as by using automated tools.
In general terms, Sanity test is a very basic test done for the evaluation of validity of any calculation. It is a type of software testing which tests quickly to check if it is reasonable to test further or not.
If sanity test fails, it is not a wise step to attempt more testing. Sanity testing is a subset of regression testing.
Difference between Smoke testing and Sanity testing:
Smoke testing is used to test almost all areas of the application to check their functionality whereas sanity testing is applied on small areas or sets of areas.
In other words smoke testing has a wider area of application compared to sanity test. Smoke testing lets us know if the main function of the software is working properly or not. It does not do it very deeply.
If smoke testing fails, we can not proceed with sanity testing. Smoke testing is used to deal with each and every part of the application. Sanity testing is very narrow area based and deep.
Smoke testing is not deep in nature. Another difference is that smoke testing is scripted while sanity testing is unscripted.
Security testing: It is a process to determine that an information system protects data and works in the same way in which it is designed to.
In security testing, we consider the parameters like confidentiality, integrity, authentication and a few more.
It depends on the tester to consider points which satisfies his way of doing security testing.
Security testing is done to check for information leakage. We have discussed cookies and its testing in my previous article.
Now we will see Ad-hoc testing.
The testing which is conducted without planning and documentation is called Ad-hoc testing. This type of testing is done without any formal test cases or plan.
It is not structured, still it is considered as an important kind of testing. The reason is it helps in finding bugs very quickly moreover it helps in determining the duration of other testing as well.
Not only the duration but it also decides the scope of the other tests done on the application afterwards. Ad-hoc is very useful in finding the holes in our test strategies.
However we have other testing techniques as well; like Recovery testing, performance testing, Acceptance testing and many more which we will discuss in our next article.
Software Testing techniques
Functional Testing-Part 1
Functional Testing-Part 2