Developing Applications with an Emphasis on Quality
Private Training

Course Summary

This is a practical hands-on seminar to cover the critical path of test driven development and the steps involved in the early introduction of testing into the development process. Students will lean and standardize on the terminology, processes, and challenges of incorporating testing into development in the real world. They will also be able to eliminate those costly early software defects that commonly prevent the long term testing to take place. This workshop will allow developers to create software that will enhance maintainability and reduce the costs associated with modifications and enhancements, and gain a comprehensive working knowledge of testing and what it takes to design and conduct an effective test of software, regardless of the technology.

Audience
Programmers, developers and managers who are looking to improve quality within the development organization.
Course Length
2 Days
Prerequisites
None.

Objectives

Learn to develop test cases and test plans.

Know how to identify appropriate metrics to measure progress, performance and quality.

Learn techniques to ensure that an information system protects data and maintain functionality.

Detailed Outline

  1. Introduction to Testing & QA
    • Objectives & Observations
    • Impediments, Opportunities, and Managing
    • Responsibilities during Testing
    • Testing Definitions
    • Starting Testing Early vs. Late Start Testing
    • Quality Assurance, Quality Control, IS Quality Assurance
    • Quality Tools / Steps / Suggestions
    • Opportunities to improve the Testing Process
    • Comparing / Contrasting Development Life Cycles (Waterfall/Agile/TDD)
    • Understanding TDD
    • Implementing DTT into YOUR process
  2. Major Software Development and Testing Issues
    • Functional specifications and design documents
    • Preparing and validating the specifications
    • Specification Problems/ Defect Classification
    • Detailing the Scripts and cases
    • Implementing the Scripts into the Code
    • Using some of the Common Tools
    • Unit vs. System or Acceptance Testing
    • Positive and Negative Testing
    • Applying to use Cases for Testing
    • Regulating the Change Control Process
  3. Test Methodologies & Extracting the Tests
    • Setting Test Objectives and Identifying Tests
    • Benefits of Using Testing Methodologies
    • Computing/Applying Test Coverage
    • BVT – Boundary Value Testing
    • DBT – Decision Based Testing
    • Decision Tables
    • State Machines
    • Test Factor Analysis
    • OATS – Orthogonal Array Testing System
  4. Risk Analysis
    • Ascertaining the Value of a Test
    • Assessing the Level of Risk
    • Assigning a Relative Cost to Testing
  5. Documenting the Testing
    • Unit Testing
    • Creating and Auditing the Unit Test Plan
    • Integration Testing and System Testing
    • System/Acceptance Testing
    • Creating and Auditing the System Test Plan
    • Regression Testing
    • Defining the Traceability Matrix
    • Operability/Usability Testing
  6. Defect Classification
    • Identifying/Classifying functional specifications defects
    • Identifying/Classifying design defects
    • Identifying/Classifying coding defects
    • Identifying/Classifying testing defects
    • Defining/Enforcing the coding/testing standards
  7. Test Execution and Evaluation
    • Exploring the Test Logs
    • Test Logging Scenarios
    • Exploring the Defect Tracking Report
    • Retesting and Follow-up Procedures
    • Understanding the Value of Root Cause Analysis