Term
|
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
|
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
- During testing, erros can mask (hide) other errors)
- Incomplete versions of a system can be inspected w/o additional costs
- 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
- You have a precise specification of the code to be inspected.
- The inspection team members are familiar w/ the organizational standards
- An up-to-date compilable version of the code has been distributed to all team members.
|
|
|
Term
|
Definition
- Planning
- Overview
- Individual preparation
- Inspection meeting
- Rework
- Follow-up
|
|
|
Term
Conclusions about the inspection process |
|
Definition
- About 500 source code statements per hour can be presented during the overview stage.
- During individual preparation, about 125 source code statements per hour can be examined
- From 90 to 125 statements per hour can be inspected during the inspection meeting
|
|
|
Term
Stages involved in static analysis |
|
Definition
- Control flow analysis
- Data use analysis
- Interface analysis
- Information flow analysis
- 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
- 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.
- 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
- Formal specification
- Incremental development
- Structured programming
- Static verification
- Statistical testing of the system
|
|
|