Systems Engineering

Systems Testing and Quality Assurance

Overview

It should be a goal of every system development project to deliver a system free of defects, on time and in a cost-effective manner.  This course is designed to give students the practical skills and the specific techniques to build the zero defect concept into their methods of building and maintaining systems.  The primary emphasis of the workshop is to avoid errors rather than do re-work to correct them.

Our approach is straightforward. We believe there is a direct and demonstrable relationship between the quality of the requirements analysis, the quality of the test plans that result, and the quality of the operational system.  Here are some of the benefits your organization will receive: slashed time and cost of re-work and systems maintenance, systems built more quickly, increased user confidence in system quality, and reduced or eliminated errors in operational systems.

Why You Should Take This Course

Upon completion of this workshop, students will be able:

  • Incorporate the Zero Defect concept into their methods of building and maintaining systems
  • Develop an integrated design, construction and test plan
  • Develop practices that prevent errors from occurring prior to system testing
  • Verify & validate the quality of the system during each phase of a system’s life cycle
  • Conduct inspections and structured walkthroughs
  • Explain the role of smoke testing
  • Document and use test results (metrics) to pinpoint functions of the systems development process that need improvement
  • Design effective test cases using white-box and black-box techniques
  • Use various systems tests:  stress, volume, regression, etc.
  • Create test objectives and acceptance criteria

Course Outline

Systems Testing and Quality Assurance

Introduction

  • What is quality?
  • What causes quality problems?
  • Definition of errors (per IEEE)
  • Sources by phase of systems life-cycle
  • What are the costs associated with a lack of quality?
  • What are the costs associated with having quality?
  • DIRFT: Doing It Right The First Time

Systems Life-Cycle Concepts

  • Phases
  • Costs by phase
  • Establishing quality before design and coding
  • Defining testable requirements
  • Testing the concept-of-operations
  • Planning for systems acceptance
  • Using CASE technology
  • The role of testing and debugging
  • Configuration management
  • Baseline concept
  • Techniques for controlling changes
  • Adjusting to changing requirements
  • Documentation requirements

Testing Concepts

  • Definition
  • Economics of testing
  • Relating priorities to risks
  • Who does what testing
  • Monitoring test effectiveness
  • Paradox:  purpose vs. commonly used measure of success (“no errors”)
  • Use of test matrices

Test-Case Design

  • Defining specific test objectives
  • Black box vs. white box techniques
  • Black box techniques
    • Equivalence partitioning
    • Boundary-value analysis
    • Cause-effect graphing
    • Error guessing
  • White box techniques
    • Statement coverage
    • Decision coverage
    • Condition coverage
    • Decision/condition coverage
    • Multiple-condition coverage
  • Using the techniques together for maximum effectiveness
  • Generating test data
  • Assembling the test cases into test specifications

Testing Strategies (Discussion of Advantages and Disadvantages)

  • Big bang vs. incremental
  • Top‑down vs. bottom-up
  • Modified top-down
  • How strategy affects test-case design
  • Error seeding
  • Regression Testing
    • Definition
    • Why it is critical
    • When to do it
  • Testing prepackaged software

Types of Testing

  • Module testing and integration
  • Smoke testing
  • Procedure testing
  • Function testing
  • System testing
    • Volume
    • Stress
    • Usability
    • Recovery
    • Sewiceabiiity
    • Etc.
  • Acceptance testing
  • Installation testing

Creating the Test Plan

  • Using a phased approach (affected by strategy employed)
  • Contents
    • Test specifications
    • Objectives
    • Completion criteria
    • Schedules/cycles
    • Responsibilities
    • Methods/tools to be used
    • Test-case libraries to be used
    • Standards to be followed
    • Computer resources
    • Tracking procedures and error disposition
    • Debugging procedures
    • Reporting requirements
  • Determining test-completion criteria (i.e. knowing when to stop)
  • Who is to create the plan?
  • When is the plan to be created?

Inspections, Walkthroughs, Types

  • The concept of Peer Reviews
  • Inspections
  • Structured Walkthroughs
  • When to use: determination of review milestones and objectives

Debugging

  • Problem recognition and identification
  • Specifying the problem or defining the deviation
  • Searching for distinctions
  • Generating possible causes: what’s changed?
  • Deducing the most probable cause(s)
  • Testing for true “cause(s)”

Fixing Errors

  • Traps and pitfalls
  • How to test fixes
  • The role of regression and smoke testing
  • Designing changes into existing programs
  • Error analysis: a tool for improvement

Getting Better

  • Using the test plan
  • Developing system metrics
  • Monitoring system performance versus system objectives
Search UMBC Training Centers