Professional Documents
Culture Documents
Technology
Chapter 2 Concepts
李鹏飞( Pengfei
Li )
pengfei.li@hbut.edu.cn
Chapter 1 Review
Software Testing
Requirments Contradictions Find
Defects
Quality
Customer
Expectations
2.1 Software Defects
Process quality: 流程 产品
CMM ( Capability Maturity Model).
ISO 9000 商业环境
SPICE ( Software Process Improvement and Capability
dEtermination)
- Functionality
- Usability
- Reliability
- Performance
- Capacity non-functional
characteristics
- Scalability
- Service manageability
- Compatibility
- Extensibility
software quality
characteristics (ISO 9126)
Functionality : A set of properties related to a set of
functions and their specified properties, where functions are
those functions that satisfy an explicit or implicit
requirement
Reliability : A set of attributes related to the ability of
software to maintain its level of performance over a specified
period of time and conditions
Usability : A set of attributes related to the effort and
evaluation required by a set of prescribed or potential users
to use the software
software quality
characteristics (ISO 9126)
Efficiency : A set of properties related to the
relationship between the performance level of software and the
amount of resources used under specified conditions
Maintainability : A set of properties related to the
effort required to make a specified modification
Portability : A set of properties related to the ability of
software to transfer from one environment to another. Each of
these quality features corresponds to several sub-features.
ISO/IEC 9126
Software Quality Model
Boehm Model
Two standard systems of
ISO/IEC 9126-1991
16
Latest quality standards:
ISO25000 series
ISO/IEC25000 SE
Systems and software Quality Requirements and Evaluation (SQuaRE)
Internal qualityexternal
quality quality in use
18
Internal quality and
external quality
Internal quality and
external quality
Quality in use
21
Quality in Use for Web Portal
22
2.1.2 definition of software bugs
http://en.wikipedia.org/wiki/Grace_Hopper
缺陷 – Defect, Bug
ISO 29119
(1) a flaw in a component or system that can cause it to fail to perform
its required function.
(2) any condition that deviates from expectation based on
requirements specifications, design documents,
NOTE Defects may be found during, but not limited to, reviewing, testing,
analysis, compilation, or use of software products or applicable documentation
Phenomenon of software
defects
Functions, features are not
implemented or partially implemented
Poorly designed
Actual results do not match expected
results
Operation errors, including
interruptions, system crashes,
interface confusion
Incorrect data results and
insufficient precision
Other problems that users cannot
accept, such as long access time and
unsightly interface
How software defects
come into being
① Technical issues
Algorithm error, syntax error, calculation and precision
problem, interface parameter passing mismatch
② Teamwork issues
Inadequate communication, misunderstanding
③ Software issues
Document errors 、 user scenario
Problems caused by time inconsistency
Self-recovery of the system or off-site backup of data,
catastrophic recovery, etc.
Software Defects
Composition
6%
15%
54%
25%
Specificaiton design
coding others
Distribution of software
defects at different stages
Defects
prevention
Early discovering of defects
70-90% before testing
Defects
Before the actual program testing, more defects can be found through the review and
review meeting. Defects in specifications will be gradually discovered in the process of
requirements analysis and review, design, coding, testing, etc., but cannot be found in
one stage of requirements analysis.
Cost of defects
2.3 classifications of
software testing
phases
Acceptance Test
System test
Integration test
Unit test
methods
functional test
Robustness Test White- Black-
performance test box test box test
Accessibility testing
Security test
reliability test
objectives
Different classifications
programmers
others
technical
professionals
recorder
user
formal
informal
execution
Pass- walk- Peer Inspecti
round throu review on
gh
static testing and dynamic
testing
formal
informal
management review
technical review
document review
Process review
Requirements and Design
Review
Event-driven
Functional test
Data-driven test
conclusion
2.6 software testing levels
49
Testing purposes
Functionality and
User Interface
Security Efficiency
Acceptance Testing User Acceptability
System function
System testing Security
Robustness
Efficiency
Integration Testing
coding Robustness
Efficiency
debug
Unit testing
http://www.appperfect.com/products/java-unit-test-features.html
Integration testing
http://blogs.msdn.com/b/seliot/
http://www.thetestingplanet.com/2011/11/the-future-of-software-testing-part-one-testing-in-production /
2.7 Software Test Plans and
Use Cases
Organization and management of software testing work:
formulate test strategies and test plans, confirm the test
methods and specifications adopted, control the test
progress, and manage test resources.
Implementation of testing work: Compile standard-
compliant test documents, build test environments,
develop test scripts, and collaborate with development
organizations to implement testing activities at various
stages
Testing Workflow
Test plan
Mechanisms
Test cases
testing efficiency.
Good test cases are continuously reused, making the
knowledge
2.8 Responsibilities and Requirements
of Professional Testers
QA/test manager: personnel management, resource allocation, test
method improvement, etc.;
lab manager: set up, configure and maintain the test environment
in the lab
Internal auditor: review process, establish test templates, track the
quality of defect test reports, etc.;
test team leader: responsible for project management, test plan,
test cases, task scheduling, etc.
Test designer/senior test engineer, review of product specification,
design of test cases, solution of technical problems, training and
guidance, execution of actual test tasks; general (junior) test
engineer, execution of test cases and related test tasks
A day in the life of a
Microsoft test engineer
…
Qualities of an Excellent
Test Engineer