Shared Flashcard Set

Details

Ch 22 Verification and Validations
Software Engineering 8th Edition - Ian Sommerville
19
Computer Science
Undergraduate 4
10/31/2011

Additional Computer Science Flashcards

 


 

Cards

Term
Validation - key points
Definition

Intended to show that the program does what the user requires

Are we building the right product?

Term
Verification - key points
Definition

Intended to show that a program meets it specification.

Are we building the product right?

Term
What is the ultimate goal of the V&V process
Definition
To establish confidence that the software system is 'fit for purpose'
Term
What do 'software confidence' levels depend on?
Definition
  • Software function
  • User Expectations
  • Marketing Environment
Term
Within V&V, two complementary approaches to system checking and analysis.
Definition
  • Software inspections or peer reviews - analyze system representations such as the requirements document, design diagrams and the program source coude.
  • Software testing - running an implementation of the software w/ test data.
Term
Two disctinct types of testing that may be used at different stages in the software process
Definition
  • Validation testing - intended to show that the software is what the customer wants, that it meets its requirements.
  • Defect testing - intended to reveal defects in the system rather than to simulate its operational use. 
Term
The goal of verification and validation (testing)
Definition
To establish the existence of defects in a software system
Term
The goal of debugging
Definition
A process that locates and corrects defects
Term
The structure of a software test plan
Definition
  • The testing process
  • Requirements traceability
  • Tested items
  • Testing schedule
  • Test recording procedures
  • Hwardware and software requirements
  • Constraints
Term
Three major advantages of inspection over testing
Definition
  1. During testing, erros can mask (hide) other errors)
  2. Incomplete versions of a system can be inspected w/o additional costs
  3. As well as seraching for program defects, an inspection can also consider broader quality attributes of a program such as compliance w/ standards, portability and maintainability
Term
Roles in the inspection process
Definition
  • Author or owner
  • Inspector
  • Reader
  • Scribe
  • Chairman or moderator
  • Chief moderator
Term
Before program inspection begins, it is essential that:
Definition
  1. You have a precise specification of the code to be inspected.
  2. The inspection team members are familiar w/ the organizational standards
  3. An up-to-date compilable version of the code has been distributed to all team members.
Term
The inspection process
Definition
  1. Planning
  2. Overview
  3. Individual preparation
  4. Inspection meeting
  5. Rework
  6. Follow-up
Term
Conclusions about the inspection process
Definition
  1. About 500 source code statements per hour can be presented during the overview stage.
  2. During individual preparation, about 125 source code statements per hour can be examined
  3. From 90 to 125 statements per hour can be inspected during the inspection meeting
Term
Stages involved in static analysis
Definition
  1. Control flow analysis
  2. Data use analysis
  3. Interface analysis
  4. Information flow analysis
  5. Path analysis
Term
Automated static analysis checks, check:
Definition
  • Data faults
  • Control faults
  • I/O faults
  • Interface faults
  • Storage management faults
Term
Formal methods may be used at different stages in the V&V process
Definition
  1. A formal specification of the system may be developed and mathematically analyzed for inconsistency.  This technique is effective in discovering specification errors and omissions, as discussed in Chapter 10.
  2. You can formally verify, using mathematical arguments, that the code of a software system is consistent w/ its specification.  This requires a formal specification and is effective in discovering programming and some design errors.
Term
Reasons why formal specification and proof do not guarantee that the software will be reliable in practical use.
Definition
  • The specification may not reflect the real requirements of system users.
  • The proof may contain errors
  • The proof may assume a usage pattern which is incorrect
Term
The cleanroom approach to software development is based on five key strategies
Definition
  1. Formal specification
  2. Incremental development
  3. Structured programming
  4. Static verification
  5. Statistical testing of the system
Supporting users have an ad free experience!