psqt00south-1.gif (2282 bytes)

Software Dimensions and The International Institute for Software Testing

Present

PSQT/PSTT 2001 East

Win a Free Admission to PSQT/PSTT 2001 East

spacer.gif (849 bytes)
psqtleft.gif (1883 bytes)
spacer.gif (849 bytes)
calls.gif (2148 bytes)
spacer.gif (849 bytes)
Registration.gif (2258 bytes)
spacer.gif (849 bytes)
program.gif (2139 bytes)
spacer.gif (849 bytes)
winfree.gif (2459 bytes)
spacer.gif (849 bytes)
committee.gif (2228 bytes)
spacer.gif (849 bytes)
sponsors.gif (1588 bytes)
spacer.gif (849 bytes)
vendors.gif (1302 bytes)
spacer.gif (849 bytes)
archive.gif (1510 bytes)
spacer.gif (849 bytes)
softdim.gif (2173 bytes)
spacer.gif (849 bytes)
bottom.gif (1023 bytes)

 

Tutorials: Series H
Thursday, April 5th, 2001

Six concurrent tutorials taught by nationally recognized quality experts. Each tutorial is a one full day of an in-depth instruction in a specific software quality topic.

You must specify which tutorial you wish to attend (H1 through H6)

Tutorials marked with (CSTP) count towards the Certification of Software Test Professionals and cover the Body of Knowledge areas as indicated.

 

H1 Object-Oriented Testing for System Testers
(Intermediate) (CSTP, Elective)
Dr. John McGregor
H2 Improving Your Testing, Process Through Measurements (Intermediate)(CSTP, Elective) Ed Weller
H3 Effective Test Design (Intermediate) (CSTP, #2)       Dr. Magdy Hanna
H4 Principles of Software Test Automation (Basic) (CSTP, #6) Jamie Mitchell
H5 Improving Software Quality with Formal Inspection
(Basic) (CSTP, #7)
Dr. Rebecca Staton-Reinstein
H6 Project Management for Modern Software Development (Intermediate) Dr. Timothy Korson

blue_dot.gif (867 bytes)    Series M - Monday, April 2, 2001

blue_dot.gif (867 bytes)    Series T - Tuesday, April 3, 2001

blue_dot.gif (867 bytes)    Series W - Wednesday, April 4, 2001

blue_dot.gif (867 bytes)    Series F - Friday, April 6, 2001   


Tutorial #H1 (Thursday 8:30 - 4:30 p.m.)

H1: Object-Oriented Testing for System Testers (Intermediate) (CSTP, Elective)

Dr. John McGregor

This tutorial counts as one day of training towards the Certified Software Test Professional requirements.

The course takes a broad view of testing, including quality-related issues such as inspections and reviews in addition to dynamic testing of systemsA number of specific techniques are presented that exploit object-oriented design principles to reduce the amount of work required in the testing process.  The goal is to generate the minimal number of test cases while not sacrificing test coverage.

The objective of this course is to prepare attendees to effectively use a formal testing process in testing object-oriented systems. Upon completion of the course attendees will be able to:

·         Understand the object oriented paradigm.

·         Validate early models of the system through static testing.

·         Construct and execute system level test cases.

·         Structure development and test teams more effectively. 

I.          Course Overview

a)         Course goals

b)         Testing context

 

II.        Basic Object-Oriented Concepts

a)         Basic definitions for object-oriented design concepts

b)         These definitions in relationship to testing

 

III.            Testing Object Oriented Models

a)         Reviews

b)         Walkthroughs

c)         Inspections

d)         Criteria for testing

e)         Use case testing

f)          Class diagram testing

 

IV.        System Testing Basics

a)         A philosophy of testing

b)         Functional testing

c)         Interaction testing

d)         Framework testing

V.         Testing State-Based Systems

a)         Testing strategies

b)         Case study - Timer classes

 

 

VI.            Creating System Test Cases

a)         Strategies for system testing

b)         Constructing system test cases

c)         Hierarchical test cases

d)         Allocating tests

e)         Additional test cases

 

VII.            Measuring The Effectiveness Of Component Testing

a)         Types of defects and degree of coverage

b)         Defect metrics

 

VIII.    Tools For System Testing Testing

a)         An architecture for managing test cases

b)         JUnit

 

IX.            Planning for System Testing

a)         Template system test plans

 

X.            Organizing for Testing

a)         Organizational approaches

b)         Testing responsibilities

 XI.              Conclusion


Dr. John D. McGregor
is an associate professor of computer science at Clemson University and a senior partner in Software Architects, a software design consulting firm, specializing in object-oriented design techniques.  Dr. McGregor has developed testing techniques for object-oriented software and developed custom testing processes for a variety of companies.  Dr. McGregor is co-author of "Object-oriented Software Development: Engineering Software for Reuse" published by Van Nostrand Reinhold. Dr. McGregor is also co-author of A Practical Guide to Testing Object-Oriented Software to be published by Addison-Wesley. He has published numerous articles on testing including a monthly column on testing objects in the Journal of Object-Oriented Programming.

Top of Page Tutorials: Series H


Tutorial #H2 (Thursday 8:30 - 4:30 p.m.)

H2: Improving Your Testing Process Through Measurements

Ed Weller

This tutorial counts as one day of training towards the Certified Software Test Professional requirements.

Improving Your Testing Process Through Measurements

Although testing accounts for up to 50% or more of product development costs, few organizations have measures of their test effectiveness or efficiency. Using the Measurement Framework for Software Test, this introductory tutorial will cover defect tracking, test effort, Test effectiveness and efficiency measures, test progress, measuring testware design, and other elements that give insight to the costs and results of test activities. The tutorial will approach these issues from a large development organization perspective and include legacy and software maintenance issues. Learn how to accurately evaluate the strengths and weaknesses of your test activities s a basis for improvement. 

Introductions and Tutorial Objectives

·        Identify the major concerns with testing

·        Examine test metrics that help us do a better job of managing test

·        Keep a “real world” perspective - What’s useful, and more importantly, what’s useable?

Setting the Stage

·        What are your biggest problems with test?

·        How can Measurement help?

·        What should we measure?

·        Definitions

Test Metrics

·        Effort Metrics

·        Testware Metrics

·        Test Execution Metrics

·        Test Evaluation Metrics

·        Evaluation and Planning Metrics

·        Product Metrics

 

Effort

·        Definitions

·        Who provides it

·        How it is used

·        Test planning and tracking

 

Testware

·        Test development metrics

·        Test Objective Inventory

·         Combining Effort and Task Measures

 

Execution

·        Who provides it

·        What should be collected

·         How is it used?

  • How good are the tests
  • Problem Priority/Severity
  • Regression Testing
  • Cautions

 

Evaluation

·        Effectiveness

·         Efficiency

·        How are these used?

  • The “defective fix” problem
  • How good is the product
  • Cautions

 

We Can’t Do Everything, So What’s First?

·        Inventory

·        Plan, Check, Do, and Act

·        Grow Incrementally

 

Summary and Wrap-up

·        Where are you?

·        Keep it Simple!

·         Where are you going?

·         Communicate!

Edward F. Weller is a Fellow at Bull HN Information Systems in Phoenix, AZ, where he is responsible for the software processes used their mainframe operating systems group. Prior to joining Bull HN, he was a Technical Staff Engineer and manager of the Systems and Software Engineering Process Group at Motorola’s Satellite Communications Division, where he was responsible for developing systems and software processes for the IRIDIUM® project.  He is an authorized Lead Assessor in the SEI Appraiser Program for CMM-Based Appraisals for Internal Process Improvement. He is also affiliated with Software Technology Transition, providing SEI appraisal and inspections and metrics consulting.

He received the IEEE Software  “Best Article of the Year” award for his September, 1993, “Lessons From Three Years of Inspection Data”, and was awarded the Best Track Presentation at the 1994 Applications of Software Measurement conference for “Using Metrics to Manage Software Projects”. He is a member of the SEI’s Software Measurements Steering Committee, the DoD Software Best Practices Initiative Steering Committee, and was the first Co-Chair of the Software Inspection and Review Organization, a special interest group promoting the use of inspection process. Mr. Weller has 30 years experience in hardware, test, software, and systems engineering of large scale hardware and software projects and is a Senior Member of IEEE.  Mr. Weller received his BSE in Electrical Engineering from the University of Michigan, and MSEE from the Florida Institute of Technology.

Top of Page Tutorials: Series H


Tutorial #H3 (Thursday 8:30 - 4:30 p.m.)

H3: Effective Test Design (Intermediate) (CSTP, #2)

Dr. Magdy Hanna

This tutorial counts as one day of training towards the Certified Software Test Professional requirements.

This course will cover the test design phase of the testing lifecycle.   It starts with coverage of test case design techniques both for black and glass box testing.  This includes Equivalence Class partitioning, Boundary Value Analysis, Cause-Effect Diagram, and Decision Tables.  The second part of the course will cover test design activities and writing Test Design Specification including documenting test conditions, test cases, test scripts and procedures, and expected results.

Presentation Outline:

1. Test Case Design Techniques

Strategies for generating test cases

Black Box testing

Equivalence Class Partitioning

                Boundary Value Analysis

                Cause-Effect Diagram

                Decision Tables 

Glass Box testing

Statement/decision/condition coverage

                Path coverage

                Program complexity and basis path coverage

 

2.   System Test Planning

Why plan

Developing a test strategy

Components of a test plan

A test plan template

Creating a systems test plan

 

3.   Systems Test Design

Test design basics

Test design activities

Deliverables of the test design phase

Conditions and test cases

Procedures and expected results

Major areas of system testing

Business requirement testing

Preparing the Test Design Specification

                Defining test conditions

                Testing for missing business requirements

                Defining test cases

                Identifying data needed to execute tests

                Defining baseline data

                Determining expected results

                Defining test cycles

A Systems Test Specification template

 

Biography:

Dr. Magdy Hanna is a recognized educator, speaker and consultant in several related areas of software engineering.  Dr. Hanna brings over 20 years of experience with building and maintaining software systems.  As a consultant, he helped many organizations define and improve their software processes using disciplined software engineering approaches.  As an associate professor at the University of St. Thomas, he teaches graduate courses on several software engineering topics with emphasis on practical software quality techniques.  His distinguished seminars on various topics have been highly rated by software professionals. 

Top of Page Tutorials: Series H


Tutorial #H4 (Thursday 8:30 - 4:30 p.m.)

H4: Principles of Software Test Automation (Basic) (CSTP, #6)

Jamie Mitchell

This tutorial counts as one day of training towards the Certified Software Test Professional requirements.

This one day course investigates what does and does not work in establishing a corporate test automation program.  Various examples of failed automation projects will be presented with a 20-20 viewpoint as to why they failed. Lessons learned will then be presented with recommendations for structuring a successful, scalable automation program.  Throughout the tutorial, the emphasis will be placed on ensuring that long-term return on investment (ROI) is maximized.

Some of the topics which will be presented are managing sponsor expectations, gathering requirements, setting standards and guidelines, piloting a first effort, scaling up the effort, and how to ensure the best chances for long term success.  Several different models of automation architecture will be presented.  Real world examples of enhancing the automation program through innovative design and development are included.

Biography:

Jamie Mitchell is a Software Test Automation Specialist with BenchmarkQA, Inc.  He is highly skilled with the implementation of software test automation tools from the major vendors.  Additionally, he has developed a considerable supporting infrastructure to significantly increase the flexibility, ease of use, and efficiency of the tools.  Jamie has worked with test automation tools since they were first released with Windows 3.0.  He served as the Lead Automation Engineer at American Express Technologies Organization for over two years.  He has been involved in implementing test automation projects with IBM’s AS400 Division, Showcase Corporation, The Mayo Clinic, Prudential Insurance, Hutchison Technology, Parametric Technology Corporation, and Online Business Systems.  Jamie was awarded the Master of Computer Science Degree from Lehigh University, is a QAI Certified Software Test Engineer, an automation seminar instructor and board member for International Institute for Software Testing, and a contributing editor for the Journal of Software Testing Professionals.

Top of Page Tutorials: Series H


Tutorial #H5 (Thursday 8:30 - 4:30 p.m.)

H5: Improving Software Quality with Formal Inspection

Dr. Rebecca Staton-Reinstein

Success in Formal (Fagan) Inspections is no longer debated. This powerful process has stood the test of time and many companies throughout the world depend on it for maintaining and improving the quality of systems and software. The discipline inherent in Formal Inspections helps structure the activities and provides clear guidelines. However, the execution of the sessions is a human activity dependent on good communication. Formal Inspection participants learn the purpose, structure and procedures for Inspections. In well deployed implementations, Moderators receive additional training in the skill necessary to manage the Inspection process and the group dynamics which can either enhance or derail the process. This course introduces the participant and moderator skills.


Tutorial Outline

  1. Overview of Formal Inspections
  2. Background, data and results using Formal Inspections
  3. The place of Inspections in QA/QC and maturity models
  4. The structure of the Formal Inspection
    1. Planning
      1. Planning the Inspection
      2. Choosing the Team or Coordinating Resources
      3. Preparing the Team
    2. Overview
      1. Planning the Overview
      2. Conducting the Overview
      3. Managing follow up to the Overview
    3. Preparation
      1. Planning the Inspection
      2. Providing participants with Inspection materials
      3. Coordinating with Project Team
      4. Reviewing entry and exit criteria and Inspection materials
    4. Inspection
      1. Recording Preparation data
      2. Conducting the Inspection
      3. Recording Defects
      4. Deciding on follow up activities including re-inspection
      5. Resolving conflicts
      6. Preparing Inspection Report
    5. Rework
      1. Coordinating Rework activities
      2. Approving Rework or Reconvening Inspection Team
    6. Process Improvement
      1. Providing Input for Process Improvement
  5. Communication and Management Skills
    1. Effective communication
    2. Managing group dynamics
    3. Managing conflict
    4. Motivating Inspection Teams
    5. Organizing effective Inspection sessions
  6. Using inspection data
    1. Improvement of software
    2. Improvement of processes
    3. Defect Studies
    4. Ongoing Measurement
  7. Implementation Considerations in the "Real World"


Rebecca Staton-Reinstein, President of Advantage Leadership, has had a successful career as an organizational leader, educator and management consultant.  From 1986 to 1989 she established Quality Assurance functions in two major insurance companies.  Dr. Staton-Reinstein is on the faculty and develops courses for the American Management Association.

Top of Page Tutorials: Series H


Tutorial #H6 (Thursday 8:30 - 4:30 p.m.)

H6: Project Management for Modern Software Development (Intermediate)

Dr. Timothy Korson

 

This course is designed to meet the needs of today’s project managers as they transition to managing software development projects that use modern, distributed, component-based technologies. This course is not an in-depth introduction to project management. It assumes a basic understanding of project management activities. The focus is on the differences between the project management techniques associated with classical, waterfall software development methods and those required for modern iterative/incremental methods. These differences are in the areas of planning, estimating, development processes, metrics, managing risk, fostering reuse, managing the team, and ensuring quality.

Course Objective

The objective of this course is to prepare attendees to manage projects that use modern, distributed, component-based technologies. The course is also useful for technical team leaders. Upon completion of the course attendees will be able to:

  •  Understand the differences between modern and classical project management.

  • Effectively use the distributed, component-based software development life cycle including the iterative/ incremental development approach.

  •  Perform these project management activities:

  • Plan the work

  • Measure the work

  • Manage risk

  • Resource planning

  • Foster reuse

  • Control change

  • Ensure quality

  • Communicate with stakeholders

  • Manage the project team

OUTLINE:

Introduction To Project Management

     Top 10 Principles of Modern Software Management

     Definitions – project, stakeholder, project management

     Why do software projects fail

            Fail to properly manage risk

            Don’t build the right thing

            Blindsided by technology

Modern Software Engineering Activities, Principles and Processes

     Classical system requirements

         (IEEE 830 standard)

     Object oriented requirements

     Development process – activities, expertise

            System Engineering

            Domain Analysis

                 Use Cases

                             Use case hierarchy

                 Class Diagrams – UML model

          Application Analysis

          Application Design

            Class Design and Development

          Application Assembly

     Iterative/incremental development process

     7 Habits of Successful Projects

     Top 30 Principles of Software Engineering

Direct Project Management Issues

     Planning the work

          Negotiate the deliverables

       Define the increments and their schedules

          Determine release dates

     Planning for resources

        Estimating techniques (top-down, bottom-up, parametric)

        What to estimate (size, scope, schedule, time, money, people)

     Managing the project team

          Organize around deliverables, not tasks

            Core team roles

            Service team roles

          Involving clients and users

     Ensuring quality

            Quality targets

            Quality control

            Quality assurance

     Fostering reuse

            Reuse approaches

     Managing risk

            Sources of risk

            Risk management strategies

     Measuring the project

          Goal/Question/Metric approach

            Product metrics

            Process metrics

          Resource metrics

     Communicating with stakeholders

     Automated Tools

            For the developer

            For the project manager

            For both

Pitfalls Of Object Oriented Development

     For all the wrong reasons

     Confusing training with skill

     Prototypes vs. finished products

     Not enrolling management

     Underestimating the resistance

     Abandoning good software engineering practices

     Lying to yourself and others

     Focus on design, neglect of analysis

     Ignorant Management

     Overconfidence in the technology

Summing It Up

     Top 10 Principles of Modern Software Management

        Timothy Korson is a senior partner of Korson-McGregor, and the Dean of the School of Computing at Southern Adventist University.  Dr. Korson has extensive industrial experience in applying object-oriented techniques.  Dr. Korson is co-author of the book Object Centers of Excellence and is a frequent tutorial speaker at major conferences worldwide.

Top of Page Tutorials: Series H