When executing test cases when should we mark a test case as 'No Apply'. When the test conditions/requirement is not clear or when its not feasible/possible to perm a test. Also why not mark a test case fail...if we cant understand it.
Answer is "when its not feasible/possible to perm a test" It is used for "multi-environment" test-cases and/or if it is some type of generic test-cases script
My real example, it would been need to test feature of upload several files same time. But old versions of IE doesn't support possibility to select several files in dialog - so it is "No apply" here, while "apply" for last IE versions and other browsers.
It doesn't failed because it cannot be tested anyway.
As an example, suppose we have a feature to be tested. With this feature we have a test case like: 'Do localization testing before marking the feature as done'. Now during implementation, we realize that one or more specifications have changed and because of this, no new strings are being added to this feature. So our test case for localization as written above becomes “not applicable” in this case.
According to me “When the test conditions/requirement is not clear” then we can mark the test case as "blocked" with appropriate comments.
“When its not feasible/possible to perm a test” then test case should be marked as “no apply” or "Not Applicable".
I have faced this situation several times previously. For instance, there is a scenario in a test case that mentioned I required to test the environment where the changes have not been applied/installed yet. Normally, in my work, there is a bug that has several changes that need to be fixed separately.
The question is, what if the environment has only been installed with one changes or all changes. However, when I run the testing, the environment has been installed with all changes that related to a defect. Thus, I couldn't run the scenario which environment has only been installed with one changes.
Therefore, it's not possible to run that specific scenario. Then, I will mark it as Not Applicable.