Sei sulla pagina 1di 5

Software Engineering

Lecture 7: Software Verification & Validation


1. Introduction
2. Principles of SV&V
Unit Testing
Integration testing
System testing
Acceptance testing
3. SV&V methods
Software Inspections
Formal methods
Program verification techniques
Clean-room method
Structured testing
Structured integration testing
Control flow testing
4. SVVP
Test planning
Test Design
Test Case specification
Test procedure
___________________________________________________________________________

Introduction
Software verification and validation activities check
the software against its specification
Verification: the act of reviewing, inspecting,
testing, checking, auditing, or otherwise
establishing and documenting whether items,
processes, services or documents conform to
specified requirements.
Validation: the process of evaluating a system or
component during or at the end of the development
process to determine whether it satisfies specified
requirements.
Tracing: the act of establishing a relationship
between two or more products of the development
process.
Testing: an activity in which a system or
component is executed under specified conditions,
the results are observed or recorded, and an
evaluation is made of some aspect of the system or
component.

Principles of SV&V
SV&V activities include:
Technical reviews, walkthroughs and software
inspections;
Checking that software requirements are
traceable to user requirements;
2

Checking that design components are traceable


to software requirements;
Unit testing
Integration testing
System testing
Acceptance testing
Audit
Testing is a process of executing a program with
the intent of finding errors.
Process:
Test Planning
Test Design
Test Case Specification
Test Procedure
Test Reporting
Unit Tests
1. Unit test planning: should describe the scope,
approach, resources and schedule of the intended
unit tests.
2. Unit test design
Bottom-up
Top-down
White-box unit tests
Black-box unit tests
Performance test
3

3. Unit test case


Each unit test case should specify the input, the
predicted results, and the execution conditions.
4. Unit test procedure
Provide a step-by-step description of how to carry
out each test case.
5. Unit test reporting
Report unit test results (in SVVR).
SV&V Methods
1. Software inspections
Process: Overview Preparation Review meeting
Rework Follow-up.
2. Formal methods
3. Program verification techniques
4. Clean-room method
5. Structured testing
A method for verifying software based upon the
mathematical properties of control graph.
Cyclomatic complexity:
V=en+2
6. Structured integration testing
Metrics:
S0 = the design complexity
S1 = the integration complexity
S1 = S0 N + 1

7. Control flow testing


Case A
1
1
2
1
...

P1
B
1
0

P2
C
0
1

D
1
0

P3
E
1
0

P4
F
0
0

P51
G
Control Flow Path
0
A calls B; B calls D and E
0
A calls C and than returns

P1, P2 are predicates in A that decide whether B or C are


called.

SVVP

The unit test specifications


The integration test specification
The system test specifications
The acceptance test specification

Each test contains:


Test plan
Test design
Test case specification
Test procedure definition

Potrebbero piacerti anche