I have been thinking about this and know what a smoke test is by definition but I am still not able to wrap my head around this.
I would really appreciate it if someone can help me with this and maybe give a real use case or example.
I am confused about the part when ppl say to smoke test is to check major functionalities, what are major functionalities?
So if I have about 100 test cases (e2e) and have 5 tests related to component x how do I decide how many tests to run(smoke test) against the component x (major functionalities) it seems everything is major functionalities for me or I can run all the 5 tests.
Then isn't every individual test a smoke test?
CodePudding user response:
This question might be better asked on sqa or even softwareengineering. but....
"You're sniffing for smoke to detect if there is a fire"
The short answer is: smoke testing is whatever tests you feel you need to run to initially move forward with further testing. In my experience it's going to be different for everyone.
Here is an example: in my case, I know I always need to check this one specific aspect of our app because it breaks a lot and it affects 75% of the application so I always run a few tests against that feature first before running the whole regression.
To directly answer your question about 'major functionalities'; a good example of that would be login. My app requires all users login with username and password. I would consider that "major functionality" since everything else a user does is dependent on logging in to work properly. There is very little point to me testing some other feature if login testing were broken.