Smoke testing is nothing but testing which is conducted to Aceept a developed build.
i.e, we will do the same for accepting every build.
Let suppose for our module there are 10 builds, then we have to conduct smoke testing ten times ......
According to my knowledge how many times we will receive the build(modified build) from development ppl, that no.of times we have to do smoke testing
Smoke testing is conducted to ensure whether the major functions of a program are working or not.
ONE Clarification Point for all :
The concept of BUILD sometimes comes in no way...
Like there can be a situation when there is no proper build given to QA against bugfixes or feature implementations and any major change(s) is to be deployed ON THE FLY over the LIVE environment. such cases do require Smoke and Sanity as well.
Rationally, it is absolutely correct that on receiving any build ( testable deliverable ); there should be a smoke / Sanity testing cycle on immediate bases.
someone can initiate another discussion on difference between Sanity and Smoke Testing ( if not clear or required)...