Friday 23 November 2012

SOFTWARE TESTING

   What are the Pros and cons of requirements-based software testing?

Requirement based software testing is testing of product based on requirements provided in requirement documents like Use Cases or 3Cs to ensure all features are developed as per the requirement or not. Test cases are created and executed based on requirements to make sure each and every requirement is covered correctly.
However, requirement based testing is not effective if requirements are not provided in detailed or defined properly. Sometimes, requirements are missed by Business Analyst and hence will not be developed and tested. Many times, real world business scenarios are not covered in requirement documents which are left undeveloped and untested.
So, requirement based testing is effective if requirements are documented properly.

In the beginning of the testing cycle, it is important to first validate the requirements and check their correctness, unambiguity, and logically and practically its consistency. In validating the requirements and verifying the build product, a requirements based testing is done. To achieve this, testers write a sets of test cases on all functionalities on the basis of the requirements outlines and provided by stakeholders.
As every coin has two sides, thereby requirement based testing has its own pros and cons, that are outlines as below:

Pros:

1) Firstly, As requirement based testing demonstrates that the software meets the requirement or not, so by this it adds value to the product/software if meets the requirement, so this leads to the building of an accurate and reliable product/software .

2) Secondly, there are always a variety of tests involved with requirement based testing like Black
Box, Integration, System, Coverage testing with which the quality is ensured

3) All the requirements are validated, if the product is build as per the requirements.

4) Logical consistency of the application is checked.

5) Acceptance of the application is marked from the stakeholders perspective.

Cons:

1) As most of the requirements are poorly defined, or even not defined as it should be, hence requirement based tests can never be better, because if the requirements are poorly defined , it would never be exact what to develop and what to test. Everything would work on guesses.

2)  As, Requirements-based testing is a black box testing. So till the application is producing the expected results, the test cases are passed. Requirement based testing is not concerned about how the results are produced, or the effects/impact it may show on other parts of application.

3) From RBT, how much a requirement is valid is not considered. No feasibility analysis for this done.

4) RBT should not be completely depended for the Pass/Fail of the application.