Академический Документы
Профессиональный Документы
Культура Документы
rmation about the quality of the product or service under test.[1] Software test
ing can also provide an objective, independent view of the software to allow the
business to appreciate and understand the risks of software implementation. Tes
t techniques include, but are not limited to, the process of executing a program
or application with the intent of finding software bugs (errors or other defect
s).
It involves the execution of a software component or system component to evaluat
e one or more properties of interest. In general, these properties indicate the
extent to which the component or system under test:
meets the requirements that guided its design and development,
responds correctly to all kinds of inputs,
performs its functions within an acceptable time,
is sufficiently usable,
can be installed and run in its intended environments, and
achieves the general result its stakeholders desire.
As the number of possible tests for even simple software components is practical
ly infinite, all software testing uses some strategy to select tests that are fe
asible for the available time and resources. As a result, software testing typic
ally (but not exclusively) attempts to execute a program or application with the
intent of finding software bugs (errors or other defects).
Software testing can provide objective, independent information about the qualit
y of software and risk of its failure to users and/or sponsors.[1]
Software testing can be conducted as soon as executable software (even if partia
lly complete) exists. The overall approach to software development often determi
nes when and how testing is conducted. For example, in a phased process, most te
sting occurs after system requirements have been defined and then implemented in
testable programs. In contrast, under an Agile approach, requirements, programm
ing, and testing are often done concurrently.
Contents [hide]
1 Overview
1.1 Defects and failures
1.2 Input combinations and preconditions
1.3 Economics
1.4 Roles
2 History
3 Testing methods
3.1 Static vs. dynamic testing
3.2 The box approach
3.2.1 White-Box testing
3.2.2 Black-box testing
3.2.2.1 Visual testing
3.2.3 Grey-box testing
4 Testing levels
4.1 Unit testing
4.2 Integration testing
4.3 Component interface testing
4.4 System testing
4.5 Acceptance testing
5 Testing Types
5.1 Installation testing
5.2 Compatibility testing
5.3 Smoke and sanity testing
5.4 Regression testing
5.5 Acceptance testing