Why learn software testing?
Software testing is the guarantee of product quality, the key to cost control, and the confirmation of software reliability.
software
Software is a collection of computer data and instructions organized in a specific sequence. Generally speaking, software is divided into programming languages, system software, application software, and middleware between the two.
The composition of the software
Software = document + collection of programs
program
A program is a part of software, and software is a general term for a program and all files required for development, use and maintenance.
document
Documentation is used to describe the functional requirements of the program and how the program operates and uses
The software project documentation includes:
- Customer Requirements- Customer Requirements
- Market Requirement Document - MRD (Marketing Requirement Document)
- Software Specifications- Specifications
- Technical Design Docs – Technical Design Docs
- Test Documents
- Test Reports Test Reports
- Product Release Notes - Release Notes / Read Me
- Product Packages - Release packages
History of Software
- The first stage: the program design stage, the software product is a special software with small scale and single function, the developer is the user, and the software only has a program and no documentation. Software design is done in people's minds, forming a misconception that "software is equal to program". (from the early 1950s to the mid-1960s)
- The second stage: the program system stage, the appearance of multi-programming technology, multi-user system, human-computer interaction technology, real-time system and first-generation database management system, and the emergence of "software workshops" specializing in software development. application, but software technology and management levels are relatively backward, leading to the emergence of a "software crisis" (from the mid-1960s to the end of the 1970s)
- The third stage: software engineering stage, the software industry characterized by productization, serialization, engineering and standardization of software has developed, and software development has software engineering design guidelines, methods and standards that can be followed (70s of the 20th century mid-1980s to mid-1980s)
- The fourth stage: object-oriented stage (from the mid-1980s to the present)
software defect
Software defect: From the internal point of view of the product, the defect refers to various problems such as errors and defects in the process of software product development or maintenance; from the external point of view of the product, the defect refers to the failure or violation of a certain function that the system needs to realize.
The purpose of software testing is to find software defects early and ensure that these software defects are fixed.
Judgment of software defects
- The software does not meet the functions stipulated in the software specification
- The software has an error that is not specified in the product manual;
- Software functions beyond the scope specified in the product specification
- Software testers think the software is difficult to understand, difficult to use, slow to run, or end users think the software is not effective
Causes of software defects
- Characteristics of the software development process itself (software logic and requirements)
- Software project management issues
- team work problem
Software Defect Analysis
For defect analysis, there are four main defect parameters commonly used, which are status, priority, severity, and origin.
state
Status: The current status of the defect (open, fixing, closed, etc.).
priority
Priority: The relative importance with which the defect must be addressed and resolved.
severity
Severity: The relative impact of the defect. The impact on end users, organizations or third parties, etc.
origin
Origin: The originating fault and its location that caused the defect, or the component that needs to be repaired to eliminate the defect.
other
bug report
Defect report:
The defect distribution (density) report shows the distribution of defects in different modules and business units.
The Defect Age report is a special type of Defect Distribution report. The Defect Age report shows how long a defect has been in a particular state, such as "raised". Within the age category, defects can also be classified by other attributes, such as "owner."
The defect trend report displays defect counts as a function of time by status (new, opened, or closed). Trend reports can be cumulative or non-cumulative.
reference
The relationship and difference between software, program and algorithm