Software testing is a process of verifying and
validating that a software application or program. Software testing
1. Meets the business and technical requirements that guided its design
and development, and
2. Works as expected.
Software testing also identifies important defects,
flaws, or errors in the application code that must be fixed. The modifier
“important” in the previous sentence is, well, important because defects must
be categorized by severity.
During test planning we decide what an
important defect is by reviewing the requirements and design documents with an
eye towards answering the question “Important to whom?” Generally speaking, an
important defect is one that from the customer’s perspective affects the
usability or functionality of the application. Using colors for a traffic
lighting scheme in a desktop dashboard may be a no-brainer during requirements
definition and easily implemented during development but in fact may not be
entirely workable if during testing we discover that the primary business
sponsor is color blind. Suddenly, it becomes an important defect. (About 8% of
men and .4% of women have some form of color blindness.)
The quality assurance aspect of software
development—documenting the degree to which the developers followed corporate
standard processes or best practices—is not addressed in this paper because
assuring quality is not a responsibility of the testing team. The testing team
cannot improve quality; they can only measure it, although it can be argued
that doing things like designing tests before coding begins will improve
quality because the coders can then use that information while thinking about
their designs and during coding and debugging.
Software testing has three main purposes:
verification, validation, and defect finding.
- The verification process confirms that the software meets its technical specifications. A “specification” is a description of a function in terms of a measurable output value given a specific input value under specific preconditions. A simple specification may be along the line of “a SQL query retrieving data for a single account against the multi-month account-summary table must return these eight fields <list> ordered by month within 3 seconds of submission.”
- The validation process confirms that the software meets the business requirements. A simple example of a business requirement is “After choosing a branch office name, information about the branch’s customer account managers will appear in a new window. The window will present manager identification and summary information about each manager’s customer base: <list of data elements>.” Other requirements provide details on how the data will be summarized, formatted and displayed.
- A defect is a variance between the expected and actual result. The defect’s ultimate source may be traced to a fault introduced in the specification, design, or development (coding) phases.
No comments:
Post a Comment