Software Testing Techniques

Registration Fee: $995.00 per person

Team Registration Fee (3 or more attendees): $895.00 per person

- Classroom Open Enrollment Public Seminars
- Virtual Classroom Open Enrollment Public Seminar
- On-Site at Your Classroom
- Our Private Virtual Classroom 
Duration and Availability
- On Site at your Location - 2 Days 
- Open Enrollment or Private Virtual Classroom - 4 sessions @ 3.25 hours over four days
Companies rely on software more than ever to provide and manage information with strategic and operational importance and to provide key decision support. Rising customer expectations for fault-free, requirements-exact software have increased awareness of the importance of software testing as a critical activity.
This seminar provides proven, practical solutions to real-world software testing issues and problems. You will review a complete life cycle approach for systematically performing the testing process. The seminar also gives you the opportunity to apply the testing techniques discussed in practical in-class exercises. You will take home numerous phase-by-phase checklists to ensure your ability to apply methods back on the job. You will also use a sample software test plan exercise to prepare an action plan for implementing key elements of the seminar approach in your own organization.

What You Will Learn
  • Understand the importance of adopting a life cycle approach to software testing. 
  • Define specific testing tasks in a phase-by-phase examination of the development life cycle, building testing efforts into every phase at critical points.
  • Learn to avoid the three common, and costly, misconceptions about software testing efforts.
  • Review and discuss "The Ten Proven Principles of Software Testing" and see how each will impact your testing efforts.
  • Examine the six factors that affect software testability and define testability metrics for each important factor.
  • Learn to define responsibilities in testing - Who is responsible for what at what levels? Review sample ways to organize test teams.
  • Define "Black-Box" and "White-Box" test case design. 
  • Define these testing techniques and know when and how to use each: equivalence class testing, cause-effect graphing, basis path/flowgraph, state and event testing, notation/cyclomating complexity, boundary testing and syntax testing.
  • Define the seven key components of effective test documentation.
  • Walk through the eight steps of test plan preparation and receive valuable worksheets for each step.
Who Should Attend
This seminar is intended for any software professional with an interest in learning how to improve the quality and effectiveness of their organization's existing software testing efforts. It is also valuable for those who are in initial start-up stages of formal testing efforts. The seminar material is not technology-specific or confined to any one operating or computing environment.
Appropriate audiences include IT managers, software testing and quality assurance staff, systems analysts, programmer analysts, business analysts, project managers, IT audit professionals and other software development project team members.
For on-site seminars, PESG offers a complete software testing curriculum and provides tailored versions according to client training objectives and target training audiences. For example, the following seminar components/versions are also available:
  • Software Testing Techniques for Analysts
  • Software Testing Techniques for Developers
  • Object Oriented Testing Techniques for Analysts
  • Object Oriented Testing Techniques for Developers
Virtual Classroom Schedule
Virtual classroom sessions are conducted as follows:
1:00 PM to 4:15 PM DAILY, Eastern Time (New York) or 
7:00 AM to 11:00 AM DAILY, Eastern Time (New York)
Introduction to Software Testing
  • Why testing is important
  • Life cycle approach to testing
  • Testing economics
  • Factors that influence error correction costs
  • Testing and quality assurance
The Life Cycle Approach to Software Testing
  • Traditional approach to software testing versus a life cycle approach
  • Definition of the life cycle approach
  • Critical elements of life cycle testing and quality assurance
  • Benefits of the life cycle approach: quality, cost, error reduction
  • Typical requirements phase errors and how to avoid them
  • Typical design phase errors and how to avoid them
  • Tester tasks conducted during the requirements phase and during the design phase
  • Typical coding phase errors and how to avoid them
  • Coding through implementation issues and tester tasks
  • Maintenance phase issues, tools and techniques and tester tasks
Principles of Software Testing
  • Software testing misconceptions
  • Testing definitions and a model for software testing
  • White box testing
  • Black box testing
  • Testing levels, objectives, responsibilities and techniques
  • Sample ways to organize independent test teams
  • 10 Principles of software testing
  • Goals for a systematic testing process
  • Limitations of software testing
Test Case Design Techniques – Part One
  • Black box test case design techniques
  • Equivalence class testing
  • Guidelines for identifying equivalence classes
  • Guidelines for writing equivalence class tests
  • Boundary testing
  • Guidelines for writing boundary tests
  • Decision tables as a testing tool
  • General decision table format
  • Sample decision tables
  • Steps in developing decision tables
  • Simplifying and verifying decision tables
  • Decision trees as a testing tool
  • Decision tree structure
  • Steps in building and testing decision trees
  • Sample decision tree
  • Cause-effect graphing and cause-effect graphing symbols
  • Steps in building a cause-effect graph
  • State and Event Testing - Guidelines for state and event testing
Test Case Design Techniques – Part Two
  • Things developers can do to make software testing easier
  • Things that make software testing easier
  • Software testability indicators
  • Guidelines for designers
  • Design and code metrics
  • Coupling
  • Module coupling concepts
  • Types of module coupling: Content coupling, Common coupling, External coupling, Control coupling, Stamp coupling, Data coupling
  • Comparison of coupling attributes
  • Cohesion
  • Module cohesion concepts
  • Types of module cohesion: Coincidental cohesion, Logical cohesion, Temporal cohesion, Procedural cohesion, Communication cohesion, Informational cohesion, Functional cohesion
  • Comparison of cohesion attributes
  • Control Flow Complexit
  • Module Structure
  • White Box Testing Coverage Criteria
  • Basis Path Testing
  • Representing programs as flowgraphs
  • Flowgraph notation and terminology
  • Calculating cyclomatic complexity
  • Steps in basis path testing method
Software Test Planning and Documentation
  • Components of test documentation
  • Sample test plan formats
  • Steps in test plan preparation
  • Determine test plan requirements
  • Determine requirements to test
  • Define test sets
  • Evaluate test traceability
  • Define resource requirements
  • Define testing schedules
  • Prepare and refine test plan
  • Publish and maintain test plan