JoeDemasco.Com     Welcome To My Site
 
   IT Consulting, Mentoring & Training

Popular Seminars
  Requirements Definition
  Project Management
  Software Testing
  Object-Oriented Methods

 


Object-Oriented Testing for Developers
Learn how to systematically test object-oriented applications

Course Objectives

This course will provide participants with practical solutions to object-oriented testing issues and problems, and will expose participants to set of techniques for systematically approaching the testing of object-oriented software applications. The methods taught in this course can be adapted to any organization.



What You Will Learn
  • How to view testing as a formal process
  • Step-by-step guidelines for performing systematic object-oriented testing
  • Testing roles & responsiblities
  • Testing levels for object-oriented applications
  • Techniques for designing effective tests
  • Practical testing standards and documentation
  • Testing deliverables and work products
Who Should Attend

This course is intended for designers, programmers and testers who are involved in developing or maintaining object-oriented software applications, and who have a desire to learn about how to improve the quality and effectiveness of the testing process.

Attendees should have a basic background and understanding of object-oriented concepts and terminology. Experience in object-oriented design or programming is helpful. Based upon specific client needs, training in the prerequisite object-oriented background topics can be provided as an additional part of the course material. Course Outline

Introduction to Object-Oriented Testing
  • Quick review of object-oriented terminology
  • Testing object-oriented vs. traditional applications
  • Specific problems inherent in object-oriented testing
  • How object-oriented development life cycles impact testing
Object-Oriented Testing Principles
  • Testing definitions
  • Object-oriented testing levels
  • Some object-oriented testing issues
    • Class testing
    • Testing inheritance hierarchies
    • Component & cluster testing
  • Role of development models in object-oriented testing
    • Class diagrams
    • Sequence diagrams
    • Collaboration diagrams
    • State models
    • Use cases
  • Establishing responsibilities
The Object-Oriented Testing Process
  • Importance of using a repeatable testing process
  • Mapping the testing process to the project life cycle
  • Traditional development life cycle
  • Iterative/incremental life cycles
  • Taking a life cycle approach to testing
  • What to test at each life cycle phase
  • How to test at each life cycle phase
  • Deliverables & work products at each life cycle phase
  • Step-by-step developer testing tasks
  • Test traceability
Test Design Techniques -- Part 1
  • Principles of systematic test design
  • Kinds of testing needed for object-oriented applications
    • System-level testing requirements
    • Integration & collaboration testing
    • Class-level testing requirements
    • Testing inheritance structures
    • Testing overloaded & overridden methods
    • Testing polymorphic bindings
  • Estimating how many tests are required
  • Deriving tests from requirements
  • Deriving tests from use cases
  • Operational scenarios
  • Traceability issues
  • Completion criteria & guidelines
Test Design Techniques -- Part 2
  • Black-box techniques for testing classes
    • Input space partitioning
    • Extreme point testing
    • Decision tables & trees
  • Class-level coverage testing
    • Method coverage
    • State coverage
    • Structural coverage
    • Exception coverage
  • Completion criteria & guidelines
Test Planning & Documentation
  • Types of test documentation
  • Sample documentation formats
  • Step-by-step planning & documentation tasks
Seminar Length: 2 Days

---------------------------------------------------------
To discuss your on-site training needs with me, please call 301-873-0771 or email me at joe@joedemasco.com.