Software Testing - Introduction  

Code:

IS130-005

Series:

Information Management

Duration:

2 days

Quality Concepts
Incorrect Assumptions about Quality
- Quality is the same as excellence
- Quality cannot be measured
- Quality is expensive
- Quality can be tested into a product
- Quality depends on people

Software Quality
Software & the quality triangle
Software quality gaps
"Triangular" maturity models
Software product quality
ISO 9126 quality characteristics
Software product measurement
Software process quality
Software development life cycle (SDLC)
Defect injecting activities
Defect removing activities
Rising cost of rework
Containing defects
Software process measurement
Software process improvement

Techniques for Improving Software Quality
Limitations of software testing
Verification & validation
Quality improvement techniiques
Repair, rework & scrap
Iterative development
Requirements validation
Reviews
IEEE 1028-1997 standard for software reviews
Reviews & verification
Reviews & validation
Configuration management
Defect prevention

Software Quality & Risk
Software testing
Popular assumptions
- Possible to test all paths
- Possible to test all inputs
The facts
Risk-based testing
A risk-driven quality strategy
Idnetify risk content
Identify risks
Analyse risk impact on quality
Plan quality improvement strategy

Introduction to Software Testing
Test terminology
Test dimensions
Test target
Test objectives
Expected test outcomes
Testers

Test Cases
Test case design techniques
Black-box
Glass-box
Grey-box
Test-first
Error guessing
Test case coverage
Black-box coverage goals
Glass-box coverage goals
Managing test cases
Test procedures

Black-Box Testing Techniques
Black-box test model
Equivalence partitioning
Boundary value analysis
State transition testing

Glass-Box Testing Techniques
Glass-box test model
Glass-box coverage criteria
Statement testing
Branch/decision
Branch/condition

Unit Testing
Static anlaysis
Dynamic testing
Unit testing strategies
Top-down
Bottom-up
Unit testing tools
Source code coverage tools
Unit testing process
Unit testing completion criteria

Integration Testing
Functional integration
Object-oriented integration
System integration
Business process integration
Product integration
Enterprise integration

Systems Testing
Functional system testing
Testing software quality characteristics
Concurrency testing
Interoperability
Compatability testing
Security testing
Performance testing
Reliability testing
Recovery testing
Installation testing
Localisation testing
System testing process
Problem reports
System testing completion criteria

Acceptance Testing
Overview of acceptance testing
System vs. acceptance testing
Acceptance testing & the SDLC
Acceptance testing & third-party software
Acceptance testing approaches
End-to-end testing
Automating acceptance testing
Acceptance testing completion criteria


Software Testing - Introduction


This 2-day course is essential for those who want to understand how software testing is used as a technique for improving software quality.

Outcomes include:

  • understanding of the role of testing and how this relates to the goal of improving software quality.
  • understanding of the limitations of sofwtare testing and alternative quality improvement techniques
  • ability to select and apply the appropriate testing technique at each stage of the SDLC.
  • practival experience in planning and designing software test cases

Prerequisites:


Familiarity with software design and development.  This course is ideal for Testers, Developers, Business Analysts, Systems Analysts, Software Architects and Designers.   It is also suitable for Methodologists, Quality Assurance and Process Improvement staff.