Chapter 8 - Software testing
expectations
validation is to ensure that the software meets the customer's ____. It goes beyond checking conformance with the specification to demon- strating that the software does what the customer expects
inspections
verification and validation process may involve software ____ and reviews. Inspections and reviews analyze and check the system requirements, design models, the program source code, and even proposed system tests.
Non
verification is the process of checking software meets its functional and ___-functional requirements.
costs
Incomplete versions of a system can be inspected without additional ____. If a program is incomplete, then you need to develop specialized test harnesses to test the parts that are available. This obviously adds to the system develop- ment costs.
schedule
Marketing environment When a software company brings a system to market, it must take into account competing products, the price that customers are willing to pay for a system, and the required _____ for delivering that system. In a competitive environment, the company may decide to release a program before it has been fully tested and debugged because it wants to be the first
Bugs
Find inputs or input sequences where the behavior of the software is incorrect, undesirable, or does not conform to its specification. These are caused by defects (___) in the software.
custom
For ____ software, there should be at least one test for every requirement
feature
For generic software products, tests all system _____. And combinations of features to check for unwanted interactions between them.
all
However, inspections cannot replace software testing. Inspections are not good for discovering defects that arise because of unexpected interactions between differ- ent parts of a program, timing problems, or problems with system performance. In small companies or development groups, it can be difficult and expensive to put together a separate inspection team as ___ potential team members may also be developers of the software.
cheap
If a software product or app is very ____, users may be willing to toler- ate a lower level of reliability
Check
These (verification) ____ing processes start as soon as require- ments become available and continue through all stages of the development process.
black
Think of the system being tested as a _____ box. The system accepts inputs from some input set I and generates outputs in an output set O.
marketing
The level of required confidence depends on the sys- tem's purpose, the expectations of the system users, and the current ___ environment for the system:
portability
As well as searching for program defects, an inspection can also consider broader quality attributes of a program, such as compliance with standards, ____, and maintainability
supposed
People who understand what the system is ____ to do must be involved to specify the expected test results.
session
Software inspection has three advantages over testing: 1. During testing, errors can mask (hide) other errors. When an error leads to unexpected outputs, you can never be sure if later output anomalies are due to a new error or are side effects of the original error. Because inspection doesn't involve executing the system, you don't have to worry about interactions between errors. Consequently, a single inspection _____ can discover many errors in a system.
bugs
Software purpose : more critical should = more reliable (less ___). the level of confidence for a safety-critical system is much higher than demonstrator prototypes
I
Some of the outputs will be erroneous. These are the outputs in set Oe that are generated by the system in response to inputs in the set ____e. The priority in defect testing is to find those inputs in the set Ie because these reveal problems with the system. Validation testing involves testing with correct inputs that are outside Ie.
T
T/F? Of course, there is no definite boundary between these two approaches to testing. During validation testing, you will find defects in the system; during defect testing, some of the tests will show that the program meets its requirements.
statement
Test cases are specifications of the inputs to the test and the expected output from the system (the test results), plus a ___ of what is being tested.
look
Test data are the inputs that have been devised to test a system. Test data can sometimes be generated automatically... However, test execution can be automated...so there is no need for a person to ___ for errors and anomalies in the test run.
presence
Testing can only show the ____ of errors, not their absence†" Testing is part of a broader process of software verification and validation (V & V). Verification and validation are not the same thing, although they are often confused.
free
Testing cannot demonstrate that the software is ____ of defects or that it will behave as specified in every circumstance. It is always possible that a test you have overlooked could discover further problems with the system.
discover
Testing is intended to show that a program does what it is intended to do and to ____ program defects before it is put into use.
reflect
The first of these is validation testing, where you expect the system to perform correctly using a set of test cases that _____ the system's expected use. The second is defect testing, where the test cases are designed to expose defects.
fit
The goal of verification and validation processes is to establish confidence that the software system is "___ for purpose."
versions
User expectations: if users tolerate failures because the benefits outweigh cost of it ... when it becomes established, it may be required, thorough testing of the later ___ [ after increased expectations]
paying
Verification and validation: ... checking that software ... meets ... specification and delivers the functionality expected by those ____ for the software.
crashes
When you test software to find defects, you are trying to root out undesirable system behavior such as system ____, unwanted interac- tions with other systems, incorrect computations, and data corruption.
artificial
When you test software, you exe- cute a program using ____ data. You check the results of the test run for errors, anomalies, or information about the program's non-functional attributes.
difficult
You can look for inefficiencies, inappropriate algorithms, and poor programming style that could make the system ____ to maintain and update.
Validation
___: Are we building the right product?
Verification
_____: Are we building the product right
reflect
defect testing ... need not ____ how the system is normally used.
experiments
several studies and _____ have shown that inspections are more effective for defect discovery than program testing. Fagan reported that more than 60% of the errors in a program can be detected using informal program inspections. In the Cleanroom process claimed more than 90% of defects can be discovered
reflect
statements of requirements do not always ___ the real wishes or needs of system customers and users.