ReviewEssays.com - Term Papers, Book Reports, Research Papers and College Essays
Search

Verification and Validation in Software Development

Essay by   •  February 24, 2011  •  Research Paper  •  1,828 Words (8 Pages)  •  1,432 Views

Essay Preview: Verification and Validation in Software Development

Report this essay
Page 1 of 8

VERIFICATION AND VALIDATION IN SOFTWARE DEVELOPMENT

A. Concepts and Definitions

Software Verification and Validation (V&V) is the process of

ensuring that software being developed or changed will

satisfy functional and other requirements (validation) and

each step in the process of building the software yields the

right products (verification). The differences between

verification and validation are unimportant except to the

theorist; practitioners use the term V&V to refer to all of

the activities that are aimed at making sure the software

will function as required.

V&V is intended to be a systematic and technical evaluation

of software and associated products of the development and

maintenance processes. Reviews and tests are done at the

end of each phase of the development process to ensure

software requirements are complete and testable and that

design, code, documentation, and data satisfy those

requirements.

B. Activities

The two major V&V activities are reviews, including

inspections and walkthroughs, and testing.

1. Reviews, Inspections, and Walkthroughs

Reviews are conducted during and at the end of each phase of

the life cycle to determine whether established

requirements, design concepts, and specifications have been

met. Reviews consist of the presentation of material to a

review board or panel. Reviews are most effective when

conducted by personnel who have not been directly involved

in the development of the software being reviewed.

Informal reviews are conducted on an as-needed basis. The

developer chooses a review panel and provides and/or

presents the material to be reviewed. The material may be

as informal as a computer listing or hand-written

documentation.

Formal reviews are conducted at the end of each life cycle

phase. The acquirer of the software appoints the formal

review panel or board, who may make or affect a go/no-go

decision to proceed to the next step of the life cycle.

Formal reviews include the Software Requirements Review, the

Software Preliminary Design Review, the Software Critical

Design Review, and the Software Test Readiness Review.

An inspection or walkthrough is a detailed examination of a

product on a step-by-step or line-of-code by line-of-code

basis. The purpose of conducting inspections and

walkthroughs is to find errors. The group that does an

inspection or walkthrough is composed of peers from

development, test, and quality assurance.

2. Testing

Testing is the operation of the software with real or

simulated inputs to demonstrate that a product satisfies its

requirements and, if it does not, to identify the specific

differences between expected and actual results. There are

varied levels of software tests, ranging from unit or

element testing through integration testing and performance

testing, up to software system and acceptance tests.

a. Informal Testing

Informal tests are done by the developer to measure the

development progress. "Informal" in this case does not mean

that the tests are done in a casual manner, just that the

acquirer of the software is not formally involved, that

witnessing of the testing is not required, and that the

prime purpose of the tests is to find errors. Unit,

component, and subsystem integration tests are usually

informal tests.

Informal testing may be requirements-driven or design-

driven. Requirements-driven or black box testing is done by

selecting the input data and other parameters based on the

software requirements and observing the outputs and

reactions of the software. Black box testing can be done at

any level of integration. In addition to testing for

satisfaction of requirements, some of the objectives of

requirements-driven testing are to ascertain:

Computational correctness.

Proper handling of boundary conditions, including

extreme inputs and conditions that cause extreme outputs.

State transitioning as expected.

Proper behavior under stress or high

...

...

Download as:   txt (12.3 Kb)   pdf (146.1 Kb)   docx (15.7 Kb)  
Continue for 7 more pages »
Only available on ReviewEssays.com