Pages

Monday 11 July 2011

Module 6 : Software Verification & Validation



Verification & Validation (V&V)

1) Is a whole software engineering process
  • V & V must be applied at each framework activity in the software process.
  • Verification refers to the set of tasks that ensure that software correctly implements a specific function.
  • Validation refers to a different set of tasks that ensure that the software that has been built is traceable to customer requirements.
Verification : "Are we building the product right?"
Validation : "Are we building the right product?"

2) Has 2 principal objectives:
  • Discover defects in a system.
  • Assess whether or not the system is useful and useable in an operational situation.
3) V&V should establish confidence that the software is fit for purpose.

4) V&V activities include :

SQA activities

  • technical reviews
  • Quality and configuration audits
  • Performance monitoring
  • Simulation
  • Feasibility study
  • Documentation review
  • Database review
  • Algorithm analysis

Testing

  • Development testing
  • Qualification testing
  • Acceptance testing
  • Installation testing


Software Testing

  • Process of exercising a program with the specific intent of finding errors prior to delivery to the end user.
  • Must be - planned carefully to avoid wasting development time and resources, conducted systematically.
  • What is testing shows?
The tester?




---> Developer and Independent Test Group (ITG) must work together throughout the
software project to ensure that tests will be conducted.


Testing Strategy

1) Identifies steps to be undertaken, when these steps are undertaken, how much effort,
time, and resources will be required.

2) Should provide -
  • Guidance for the practitioners.
  • Set of milestones for the manager.

Overall Software Testing Strategy













Unit Testing --> Integration Testing --> Validation Testing --> System Testing

Unit testing : Focused on each unit of the software as implemented in source code.
Integration Testing : Focused on issues associated with verification and program construction
as components begin interacting with one another.
  • Bottom-up integration
  • Top-down integration
  • Regression Testing
  • Smoke Testing
Validation Testing : Provides assurances that the software validation criteria meets all
functional, behavioral, performances requirements.
System Testing : Verify that all system elements mesh properly and that overall system
function and performance has been achieved.
Types of system testing --> 1) Recovery Testing
2) Security Testing
3) Stress Testing
4) Performance Testing
5) Deployment Testing


Software Test Documentation

  • IEEE standard that specifies the form of a set of documents for use in eight defined stages of software testing.
  • The documents are --> 1) Test Plan
2) Test Design Specification
3) Test Case Specification
4) Test Procedure Specification
5) Test Item Transmittal Report
6) Test Log
7) Test Incident Report
8) Test Summary Report


Text-case Design

  • Focused on a set of techniques for the creation of test cases that meet overall testing objectives and the testing strategies.
  • For conventional application, software is tested from two perspectives :
1) 'White-box' testing
2) 'Black-box' testing


Deriving Text Cases

  • Steps To derive the test cases :
1) Draw a flow graph
2) Calculate the Cyclomatic complexity, V(G)
3) Determine a basis set of independent paths
4) Prepare test cases






No comments:

Post a Comment