Course 307:
Advanced Software Testing for Quality Analysts

(4 days)

 

Course Description

Software Quality Assurance is the organization that takes responsibility for the final verification that the software delivered by a solution team has met all the requirements for use in the business, and achieves the expected level of quality. This course explores testing techniques for obtaining that assurance in all stages of software testing, focusing on the creation and maintenance of test cases, procedures, and scenarios. The course also delineates the testing management responsibilities and roles.

Learning Objectives

After completion of this course, a student will be able to:

  • Describe the processes of various levels of testing and the management of the testing processes
  • Create system test level scenarios for non-functional requirements and quality conditions as well as functional specifications
  • Select the appropriate tools and techniques for various testing challenges
  • Determine the most effective testing and inspection strategy for projects of varying complexity and size
  • Understand the concepts of managing the software test process from initiation to product delivery, including the test team

Who Should Attend

Experienced quality analysts and testers, test managers, and anyone who has previously attended ROI course 306: Effective Software Testing Methods.

Prerequisites

Knowledge and experience equivalent to Course 306: Effective Software Testing Methods


Course Outline

Chapter 1: Software Testing Overview

  • Chapter Objectives
  • Testing Concepts
    • Testing in the System Development Life Cycle (SDLC)
    • Test Stages
  • Test Processes
    • Workshop: Defining a Process
    • Test Process Models
    • Test Analysis
    • Test Design
    • Test Execution
  • Test Planning
    • Planning and Control
    • Testing for Success
    • Measuring the Success of Testing
    • Entrance and Exit Criteria
    • Workshop: Entrance and Exit Criteria
  • Testing and Risk
    • Risk Reduction Through Testing
    • Addressing Risk in the Life Cycle
  • Summary
    • To Sum Up

Chapter 2: Test Management

  • Chapter Objectives
  • Test Management Issues
    • Business Case for Software Testing
    • Test Early, Test Often – Testing During Definition and Development
    • The Test Environment
    • Managing the Test Environment
    • Test Case Management
    • Exercise: The Test Environment
    • Test Readiness
    • Impact of Configuration Management
    • Staffing Issues
    • Estimating Testing Costs and Duration
    • Measurement and Metrics
      • How Do You Know You are Successful?
      • Strategic Metrics
      • Tactical Metrics
    • Test Program Direction
      • Overview of Testing Policy
      • QA Policy
      • Test Policy
      • Test Strategy
    • Test Documentation
      • Discussion: Why Documentation?
      • Why Document Tests?
      • Test Documents
      • Test Plans
      • TCER
      • Test Procedure Specification
      • Test Design Specification
      • Execution Test Documents
      • Release Notes
    • Summary
      • To Sum Up

Chapter 3: Unit Testing Techniques

  • Chapter Objectives
  • Unit Testing Concepts
    • Goals of Unit Testing
    • Pragmatics of Unit Testing
    • Risk-Based Testing
    • Planning Unit Testing
    • How Unit Testing Is Done
    • Creating Isolation
    • The Test Harness
    • Activity: Constructing a Test Harness 
    • Static Analysis
    • Dynamic Analysis
  • White Box Testing
    • White Box Testing Methods
    • What Is Done in White Box Testing?
    • What You Can Expect?
    • Complexity Analysis
    • The Formula
    • Evaluation
    • Impact on Testing
    • Exercise: Path Coverage
    • Writing White Box Test Cases – Techniques
    • Writing White Box Test Cases – Guidelines
    • Exercise: Writing White Box Test Cases
  • Black Box Testing
    • When to Do Black Box Testing
    • Risk-Based Testing
    • Requirements-Based Testing
    • Benefits and Drawbacks of Black Box Chapter Testing
    • Types of Unit-Level Black Box Testing
    • Advance Warning with Black Box Testing
    • Constructing Black Box Unit Test Cases
    • Black Box Unit Test Case Guidelines
    • Activity: Black Box Unit Tests
  • Unit Testing in Object-Oriented Environment
    • General Approach
    • Testing the Classes and Methods
  • When Are We Done?
    • Discussion: When Are We Done?
    • Completion Criteria for Testing
    • Typical Completion Criteria
    • Measuring Completion
  • Managing Unit Testing
    • Test Procedure Process
    • Unit Testing Methods
    • Test-Driven Development
    • Special Considerations
    • Exercise: Sharing Test Procedures
  • Automating Unit Tests
    • Types of Automated Chapter Tests
    • White Box and Path Testing Tools
    • Black Box Testing Tools
    • Application of Automation at the Unit Level
  • Summary
    • To Sum Up

Chapter 4: Integration Testing

  • Chapter Objectives
  • Integration Testing Concepts
    • Goals of Integration
    • Integration Test Design
    • Planning the Integration Test Process
    • Example Integration Test Process
  • The Order of Integration
    • General Principles
    • Alternate Orders of Integration
    • Integrating Object-Oriented Systems
    • Workshop Determining the Order of Integration
  • Builds
    • Smoke Test
    • Build Order
    • Types of Builds
    • A Good Build
    • Managing the Build Process
  • The Testbed Database
    • Integration Test Data
    • Creating a Testbed Database
    • Maintaining the Testbed Database
    • Tips for an Efficient Applicable Testbed
  • Managing Integration Testing
    • Build Sequences
    • Continuous Integration
    • How Continuous Integration Is Done
    • Benefits and Drawbacks
    • Multiple Branches and Variants
    • Incident Reporting at the Integration Level
  • Automating Integration Tests
    • Automated Build Procedures
    • Daily Build and Smoke Test
    • Integration Tools
    • Timing of the Automation
  • Workshop: Creating Integration Test Procedures
  •  Summary
    • To Sum Up

Chapter 5: System Testing

  • Chapter Objectives
  • System Testing Concepts
    • Goals of System Testing
    • Repeatable System Tests
    • Risk-Driven Strategy for System Test Phase
    • Requirements-Driven System Testing
    • Planning System Testing
  • System Testing Scenarios
    • System Test Scenario Design
    • Scripted
    • Controlled
    • Selection Criteria
    • Risk
    • Example System Test Scenario
    • Order of Testing
    • Exercise: Creating Functional System Test Scenario
    • System Test Taxonomy
    • Non-Functional Testing
      • External Interface
      • Performance
      • Capacity
      • Accuracy
      • Response Time
      • Availability
      • Interoperability
      • Reliability
      • Portability and Scalability
      • Business Continuity
      • Documentation Testing
  • Test Scenario Types
  • Exercise: Define System Tests (Workshop: 20 minutes)
  • Instrumentation
  • Usability Testing
  • Workshop: Usability Testing Scenario
  • Web Testing
  • Web Test Team
  • Web Testing Guidelines
  • Web Testing Methods
  • Exercise: Web Site Testing
  • Security Testing
  • Principles of Computer Security
  • Security Test Cases
  • Trade-Offs
  • Exercise: Security Test Planning
  • Managing the System Test Stage
    • Exploratory Testing
    • Automation and Instrumentation
    • Preparation
    • Scheduling
    • Team Interaction
    • Incident Reporting in the System Test Stage
    • Exercise: Creating Non-Functional System Test Scenario
  • Automating System Tests
    • System Test Automation
    • Forms of Automated System Tests
    • Performance Measurement Tools
    • Point Testing
    • Automated Scenario Testing
    • When to Apply Automated Testing
  • Alpha and Beta Testing
    • Alpha Testing
    • Beta Testing
    • Field Certification
  •  Summary
    • To Sum Up

Chapter 6: Acceptance Test

  • Chapter Objectives
  • Acceptance Testing Concepts
    • Goals of Acceptance Testing
    • Exercise: Acceptance Testing in your Organization
    • Acceptance Test Environment and Duration
    • Planning the Acceptance Test
  • Preparation, Execution, Analysis
    • Acceptance Test Scenarios
  • Preparing Acceptance Test Cases
  • Involving Users in Acceptance Test
  • Analysis of Tests
  • Alternative Acceptance Test Methods
  • Managing the Acceptance Test Stage
    • Who Does The Testing? Exit Criteria
    • Managing Non-testers During Acceptance Testing
    • Reviewing and Reporting
    • Incident Reporting in the Acceptance Test Stage
    • Escalation Methods
    • Deployment Readiness
  • Automating Acceptance Tests
    • FitNesse and Other Open Source Approaches
    • Workshop: Creating the Acceptance Test Scenario
  •  Summary
    • To Sum Up

Chapter 7: Improving the Testing Process

  • Chapter Objectives
  • Applying Standards
    • Types of Applicable Standards
    • Profiling the Standards
  • Test Improvement Approaches
    • The Testing Maturity Model
    • STEP
    • Other Test Process Approaches
  • Regression Test Approaches
    • Purpose of Regression Testing
    • Regression Testing Approaches
    • Tips and Techniques
  • Applying Automation
    • Discussion: Why Automate?
    • Cost/Benefits of Test Automation
    • Overall Approach
    • Automation Tips and Cautions
  • Test Tool Taxonomy (Includes HP Test Tools)
    • Functional Testing Tools
    • Test Management Tools
    • Performance Tools
    • Regression Testing Tools
    • Static and Dynamic Analysis Tools
    • Test Execution
    • Non-Functional Requirements Testing Tools
  • Managing Test Automation
    • Testing Life Cycles
    • Introducing Test Automation into the Organization
  • Tool Deployment
  • Test Process Management Tools
  • Automated Test Management
  •  Summary
    • To Sum Up

Chapter 8: Managing the Test Team

  • Chapter Objectives
  • Intra-team Relationships
    • Test Team (Workshop: 20 minutes)
    • Test Team Skill Set
    • Roles on the Test Team
    • Intra-Team Dynamics
  • Inter-team Relationships
    • Developer – Tester Issues
    • Developer – Tester Interactions
    • Tester – Management Interactions
  • Managing the Team
    • Team Coalescence
    • Goals and Objectives
    • Delegation
    • Delegating the Test Activities
    • Motivation
    • Status Reports
    • Why Do We Test?
  • Summary
    • To Sum Up
    • Keys to Success

Chapter 9: The Bottom Line

  • Ideas to Use
  • Where to Go for More Information

Please Contact Your ROI Representative to Discuss Course Tailoring!