VERIFICATION & VALIDATION

Verification - typically involves reviews and meeting to
evaluate documents, plans, code, requirements, and
specifications. This can be done with checklists, issues
lists, walkthroughs, and inspection meeting.
Validation - typically involves actual testing and takes
place after verifications are completed.

Validation and Verification process continue in a
cycle till the software becomes defects free.

. The purpose of this level of testing is to expose faults in the interaction between integrated units. Acceptance Testing is a level of the software testing process where a system is tested for acceptability. Integration Testing is a level of the software testing process where individual units are combined and tested as a group.Unit Testing is testing process where individual units/components of a software/system are tested. The purpose of this test is to evaluate the system’s compliance with the specified requirements. The purpose of this test is to evaluate the system’s compliance with the business requirements and assess whether it is acceptable for delivery. The purpose is to validate that each unit of the software performs as designed. System Testing is a level of the software testing process where a complete. integrated system/software is tested.

starting from the GUI or main menu).Incremental testing:Another extreme is that all programmers are integrated one by one. following the control flow or architectural structure (e. – Bottom up: Testing takes place from the bottom of the control flow upwards. Components or systems are substituted by stubs. The incremental approach has the advantage that the defects are found early in a smaller assembly when it is relatively easy to detect the cause. Within incremental integration testing a range of possibilities exist. partly depending on the system architecture: -Non increamental integration testing is otherwise called a as 'Bing-Bang' approach. Components or systems are substituted by drivers. – Top down: Testing takes place from top to bottom. and a test is carried out after each step. -Bing-bang approach is testing at a go by combining all the modules at a time. A disadvantage is that it can be timeconsuming since stubs and drivers have to be developed and used in the test.g. .

In this phase the audience will be testing the following: Users will install. confusing application flow. run the application and send their feedback to the project team. Typographical errors. integration testing and system testing when combined are known as alpha testing. Beta test versions of software are ideally distributed to a wide audience on the Web. Beta testing is also known as pre-release testing. and even crashes .ALPHA TESTING This test is the first stage of testing and will be performed amongst the teams (developer and QA teams). In beta testing a sample of the intended audience tests the application. During this phase. Unit testing. the following will be tested in the application: Spelling Mistakes Broken Links BETA TESTING This test is performed after Alpha testing has been successfully performed. partly to give the program a "real-world" test and partly to provide a preview of the next release.

.Regression testing The selective retesting of a software system that has been modified to ensure that any bugs have been fixed and that no other previously working functions have failed as a result of the reparations and that newly added features have not created problems with previous versions of the software.

Internal software and code working should be known for this type of testing. Application functionality and modules should be independent enough to test separately. Integration testing – Testing of integrated modules to verify combined functionality after integration. Typically done by the programmer and not by testers. This type of testing is especially relevant to client/server and distributed systems. done by programmers or by testers. There is no need of programming to run this test White box testing – This testing is based on knowledge of the internal logic of an application’s code. Incremental integration testing – Bottom up approach for testing i. Tests are based on requirements and functionality. conditions. as it requires detailed knowledge of the internal program design and code.e continuous testing of an application as new functionality is added. individual applications. client and server applications on a network.takes an external perspective of the test object to derive test cases. Tests are based on coverage of code statements.. paths.Black box testing . branches. may require developing test driver modules or test harnesses. Modules are typically code modules. Also known as Glass box Testing. Unit testing – Testing of individual software components or modules. etc. .

TEST PLAN DEFINITION A Software Test Plan is a document describing the testing scope and activities. The purpose of this test is to evaluate the system’s compliance with the business requirements and assess whether it is acceptable for delivery. . TEST CASE . and other elements that should be identified. It is the basis for formally testing any software/product in a project. the results that should be achieved.A specific executable test that examines all aspects including inputs and outputs of a system and then provides a detailed description of the steps that should be taken.Acceptance Testing is a level of the software testing process where a system is tested for acceptability. It is a record of the test planning process.

acquire or develop test equipment and other resources necessary to implement the test methods for which they are responsible. or contractual agreement. Test Coverage is derived from design specifications and other requirements. Test methods Test methods in the test plan state how test coverage will be implemented. such as safety standards or regulatory codes. regulatory agencies.Test coverage Test coverage in the test plan states what requirements will be verified during what stages of the product life. •Test plan identifier •Test deliverables •Introduction •-Test tasks •Test items •Environmental needs •Features to be tested •Responsibilities •Features not to be tested •Staffing and training needs •Approach Schedule •Item pass/fail criteria •Risks and contingencies •Suspension and resumption criteria Approvals . This allows test organizations to plan. Test methods may be determined by standards. where each requirement or specification of the design ideally will have one or more corresponding means of verification. or may have to be created new Test responsibilities Test responsibilities include what organizations will perform the test methods and at each stage of the product life.

Stub A piece of code that simulates the activity of missing components. Driver A piece of code that passes test cases to another piece of code Tests the most important subsystem last .

The main reason for this is that OO development uses incremental approach. In terms of unit testing. object oriented testing looks at much smaller units compared to conventional testing. . while traditional development follows a sequential approach. unit) used in conventional testing is not clearly defined when it comes to object oriented testing. The three levels of testing (system.Conventional testing is the traditional approach to testing mostly done when water fall life cycle is used while object oriented testing is used when object oriented analysis and design is used Conventional testing focuses more on decomposition and functional approaches object oriented testing uses composition. integration.