1."Verification" and "Validation" are two important aspects of the software testing process.
2. Though these two phrases seem to have similar definitions, there exists a huge difference between them, like verification is a process to ensure that the given software correctly implements the requirements of requirements engineering phase, whereas, validation is a process to ensure that the given software satisfies the customer requirements.
3. Verification is done, keeping in view the specifications that are made prior to software development where validation is done, keeping in view the customer requirements.
4. Hence, in order to ensure that the given software is true in all aspects, it has to satisfy the verification and validation process successfully.
5. The following are a few reasons which can cause dissatisfaction among these two entities.
6.Improper translation of customer requirement specification into systemrequiement specificaion.
7.Due to the communication gap between the customer and the software engineer.
8.Improper understanding of customer requirements.
9. Hence, it is often fruitful to strive hard to reduce the gap between these two, since any gap prevailing ay system requirement specification level may lead to the introduction of bug which can be trapped only at the validation phase of testing.
10. The component testing is normally performed by the programmers whereas system testing is carried out by a team of software testers.
Organizing for software testing:
1. After a software project is completed, it is then tested by the developer itself, as the developer knew his program better than anyone else.
2. However, it may also happen that the developer intends as the software he developed is error-free.
3. As he vested interest, effort, etc., he may claim that the software project is as per the customer's requirement, it completed on schedule and is economic at the same time.
4.As it is known since ages that software engineers analysis, models and then create a computer program and its documentation.
5.These all software analysis and design considered as are constructive tasks.
6. When testing commences there is a subtle, yet definite, attempt to "break" the things that the software engineer has built.
7. If the software is not tested trusting the software engineer or considering his feelings then errors are founded by the customers.
8. There are MYTHS connected with the testing strategy such as,
1). The developer of the software should not perform the test.
2). Strangers can perform the test mercilessly so the software should be handed over to them for testing.
3). Testers are involved in the project when testing begins.
9. It is better than the software that should be given to the software developer as he is always responsible for testing the individual units of the program, and he ensures that each component of the program performs the function or exhibits the behavior for which it was designed.
10. In many cases, the developer also conducts integration testing and constructs the whole architecture.
11. After the integration testing, the role of an independent test group starts which removes the inherent problems associated with letting the builder test the things that have been built.
12.he testing is a combined effort by the developer and ITG where they work closely throughout a software project to ensure that thorough tests will be conducted.
