psqt00south-1.gif (2282 bytes)

Software Dimensions and The International Institute for Software Testing

Present

PSQT/PSTT 2001 North

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 M
Monday, October 8th, 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 (M1 through M6)

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

 

M1 Principles of Software Testing (Basic) (CSTP, #1) Dr. Magdy Hanna
M2 Testing Web and eBusiness Applications I: Fundamentals (Basic)(CSTP, Elective) Ross Collard
M3 Software Inspections for Testers (Basic) (CSTP, #7) Dorothy Graham
M4 Software Test Automation: Architecture & Implementation
(Intermediate) (CSTP,#6)
Linda Hayes
M5 Introduction to Process Definition
(Basic)
Judy Bamberger
M6 Becoming Web-Savvy in a Day (Basic) Dr. Russ Shermer

blue_dot.gif (867 bytes)    Series T - Tuesday, October 9, 2001

blue_dot.gif (867 bytes)    Series W - Wednesday, October 10, 2001

blue_dot.gif (867 bytes)    Series H - Thursday, October 11, 2001

blue_dot.gif (867 bytes)    Series F - Friday, October 12, 2001   


Tutorial #M1 (Monday 8:30 - 4:30 p.m.)

M1: Principles of Software Testing (Basic) (CSTP, #1)

Dr. Magdy Hanna

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

This course is essential for every one who performs software testing on a day to day basis. Even if you have been doing it for a couple of years, you will get a clear understanding of the "good" and disciplined software testing practices. This course will also cover the different levels of software testing and how to effectively perform them. Topics to be covered include the full testing lifecycle, tracking test cases and test conditions to requirements, usability and user interface testing, unit, integration, system and regression testing.

Dr. Magdy Hanna is a recognized educator, speaker and consultant in several related areas of software engineering. He is the President of Software Dimensions Consulting and Training, and Chairman of the International Institute for Software Testing and brings over 20 years of experience with building and maintaining software systems. As an associate professor at the University of St. Thomas, he teaches graduate courses on several software engineering topics.

Top of Page Tutorials: Series M


Tutorial #M2 (Monday 8:30 - 4:30 p.m.)

M2: Testing Web and eBusiness Applications I: Fundamentals
                (Basic), (CSTP, Elective)

Ross Collard

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

Welcome to the wonderful world of the Web.  Along with exciting opportunities, we have impatient bosses and users, incompatible browsers, new (and buggy) tools, rapidly changing technologies, sites that tend to crash if you blink twice, eager hackers and interminable waits.  This session covers the basics of making sure that our bosses and users are not unpleasantly surprised after we say: "Yup. It's ready to go.  I'd swear my paycheck on it"

 Tutorial Objectives

 Attendees will learn the following: 

  • The Common Risks and Quality Issues of Web Sites
  • How to develop a Test Plan for a Web Site
  • How to Test Web Site Features, Content and Navigability
  • How to Test in an Iterative, Rapid Application Development World
  • How to Manage the Web Test Facilities
  • How Automated Tools for Web-based Testing Work
  • How to Monitor Service Levels in Live Operation
  • How to Manage Deadline Pressures 

Tutorial Outline: 

Overview of Web-Based Application Testing

   A Framework for Testing Web-Based Applications

   Web-Based Testing and Quality Issues

   Web Site Testing Approach

   Web-based Application Testing Checklist

   Web Page Test Case Checklist 

Web Testing Procedures

   The Web Site Test Plan

   Test Case Design Methods

   Evaluating Test Results

   Problem Reporting, Follow-up and Re-Testing

   “Web Time”: Handling Deadline Pressures 

Web Site Feature Testing

   Testing Features and Content

   Testing Process Flows, Navigability and Links

   Positive/Negative and Boundary Value Testing

   Risk-Based Testing

   Exploratory Testing

   Common Sources of Errors 

Testing in an Iterative, Rapid Application Development World

   Stability and Change Management

   Component Re-Use and Integration Testing

   Coordinating Development and Testing

   Change and Regression Testing

    Testing Changes

    Re-Testing Unaffected Features after Changes 

Establishing and Managing the Web-based Test Lab

   Equipment and Facilities Needed

   Test Tools

   Test Case Libraries

   Test Processes and Support Tools 

Automated Tools for Web-based Testing

   Functions of Automated Test Tools

   Why Automate Testing?

   Assessing Readiness for Test Automation

   Automated Test Tool Disadvantages

   Resource Impact of Automation

   Automated Tool Selector

   Load or Stress Testing Tools

   Test Data Generation Tools

   Compatibility Checking Tools

   Network Monitoring Tools

Managing Deadline Pressures 

Ross Collard is a software testing consultant.  His clients have included: Amazon.com, American Express, Anheuser-Busch, Banamex, Bank of America, Baxter Healthcare, Bechtel, Blue Cross/Blue Shield, Boeing, British Airways, the CIA, Ciba Geigy, Cisco, Citibank, Dell, EDS, Exxon, General Electric,  Goldman Sachs, the Federal Reserve Bank, Ford, Fijitsu, Hewlett-Packard, Intel, Johnson & Johnson, JP Morgan, Lucent, McGraw Hill, Merck, Microsoft, Motorola, NASA, Nortel, Oracle, Procter & Gamble, Prudential, IBM, the U.S. Air Force, Worldcom and Yahoo.  Ross has taught software testing for Harvard and U.C. Berkeley.

Top of Page Tutorials: Series M


Tutorial #M3 (Monday 8:30 - 4:30 p.m.)

M3: Software Inspections for Testers (Basic)(CSTP, #7)

Dorothy Graham

Inspection is the single most effective quality improvement technique for software and its related documents including test documents. A mature Inspection process can find up to 80% of the defects present, and can find them early in the life cycle, when they are much cheaper to fix.

 

This workshop will give you hands-on experience in applying the Inspection process, as described in the book "Software Inspection" by Tom Gilb and Dorothy Graham. Attendees are required to bring their own documents to be sample inspected during the workshop, such as test plans, test policy or strategy documents, requirement specifications or other document that will be used to derive tests from. Although the technique can be used for code or test cases, it is more effective on higher level documents.

 

The Inspection technique, when properly applied, can have a dramatic effect on the quality of written documents within all aspects of software development and testing. It is most appropriate for those who already have an established document review culture, but who want to become more effective and efficient in improving written documents of all types.

  

Topics:

Introduction, including how Inspection differs from other review techniques

Planning and documents: the role of the Inspection Leader, entry and exit criteria, chunking and sampling, Rules, checklists and procedures.

Checking, logging and editing: Roles, individual checking, kickoff and logging meetings

Practical work Inspecting real documents (brought by attendees)

Exit, improvement and conclusions: editing and follow-up, metrics, effectiveness and efficiency, process improvement, how to get started

Dorothy Graham is from Grand Rapids Michigan, but a UK resident for over 20 years, Dot has degrees in Mathematics, and worked for Bell Labs in New Jersey and for Ferranti Computer Systems and The National Computing Centre in Manchester, England. Dorothy is co-author with Mark Fewster of "Software Test Automation", published in 1999, and is co-author with Tom Gilb of "Software Inspection" published in 1993, both by Addison-Wesley. She was the originator and co-author of The CAST Report, on Computer Aided Software Testing tools. She has been involved in testing conferences since 1991 and was program chair for the first European testing conference in 1993. Sometimes described as a "technical entertainer", she is a popular and stimulating speaker at international conferences and seminars.

Top of Page Tutorials: Series M


Tutorial #M4 (Monday 8:30 - 4:30 p.m.)

M4: Software Test Automation: Architecture and Implementation (Intermediate) (CSTP, #6)

Linda Hayes

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

Course Objectives

  • Learn Test Automation Concepts
  • Design Test Library Architecture
  • Develop Project Implementation Model
  • Tasks, Roles, Skills, Responsibilities, Deliverables


Course Agenda

  • Automation fundamentals
  • Design principles
  • Selecting a tool
  • Test library architecture
  • Project plan
  • Test library management
  • Results and metrics


Automation Fundamentals

  • Why Test Tools Fail
    • Hard to set up
    • Hard to maintain
    • Repeatability
    • Leverage
    • Accumulation
  • Return on Investment
  • Critical Success Factors
    • Prioritization
  • Pilot Project
    • Build Model for Roll-Out
    • Track Progress
  • Common Mistakes
    • Inadequate Expertise
    • Insufficient Time, Resources
    • Unsuitable Application
    • Writing a Program to Test a Program
    • Recording Manual Steps
    • Lack of Planning
    • Unrealistic Expectations


Design Principles

  • Maintainable
  • Reusable
  • Optimized
  • Data Independent
  • Context Independent
  • Result Independent
  • Documented Dependencies
  • Synchronized
  • Documented
  • Test Templates


Selecting a Test Tool

  • Platform
  • Operating system
  • Database
  • Middleware
  • Other applications
  • Protocol
  • Development Tool kit(s)...
    • Object vs. Analog Mode
    • Custom controls
    • Evaluating


Test Library Architecture

  • Overview
  • Components
    • Setup
    • Signon
    • Drivers
    • Monitor
    • Log Error
    • Recover
    • Log Test
    • Signoff
    • Reports
    • Cleanup


Cycles

  • Setup test environment
  • Load application
  • Establish initial context
  • Execute sequence of suites
  • Cleanup test environment
  • Example Cycle Driver


Suites

  • Sequence of scenarios
  • Context
  • Documentation
  • Example Suite Driver


Scenarios

  • Verifies requirement
  • Sequence of steps
  • Input actions, data
  • Verify output data, states
  • Example Scenario Driver


Steps

  • Individual action
  • Verifies context
  • Mouse clicks, data entry
  • Result verification
  • Logs results, recovers
  • Pass or fail
  • Continue or abort
  • Example Steps


Function

  • Individual instance of action against object class
  • Single function serves all instances
  • Single point maintenance
  • Executes step
  • Script commands
  • Logic and error handling
  • Example Function


Application Map

  • Windows
  • Objects
  • Object Classes
  • Example Map


Benefits of Architecture

  • Shields testers from script language
  • Scenarios are data files
  • Single point maintenance
  • Only one occurrence of any function
  • Automatic synchronization
  • All steps flow through single point
  • Reusable across applications
  • Functions, drivers are generic
  • Develop test cases, scripts earlier


Division of Effort

  • Test Developers
  • Application expertise
  • Cycles, Suites, Scenarios
  • Test data
  • Script Developers
    • Technical Expertise
    • Functions, Utilities
    • Application Map
    • Indirection


The Project Plan

  • Planning Session
  • Application Review
  • Test Case Design
  • Test Architecture
  • Test Execution
  • Library Management
  • Project Report


The Test Team

  • Team Leader
  • Test Developer(s)
  • Script Developer(s)
  • Library Manager
  • Supporting Roles
    • Customer Liaison
    • Development Liaison
    • Systems Liaison


Test Library Management

  • Test Library Manager role
  • Define and monitor procedures
  • Change Control
  • Version Control
  • Configuration Management
  • Central repository
  • Documentation is key


Test Library Maintenance

  • New requirements
  • New Windows, Objects
  • New Object Classes
  • Menu Changes
  • Procedural Changes


Benefits

  • Test Team Coordination
  • Prevent obsolescence
  • Maintenance Impact


Results and Metrics

  • Test Log
  • Analyzing Test Results
  • Analyze Impact of Changes
  • Trendline Analysis


Course Summary

  • Follow Architecture for Efficient Development
  • Allocate Roles and Responsibilities
  • Divide Tasks According to Skills
  • Manage Test Library for Effective Maintenance
  • Collect Results and Metrics for Management

 

Linda Hayes is an industry pioneer and leading expert in test automation. She publishes a monthly column in Datamation on software quality, Quality Quest, is the author of the Automated Testing Handbook and co-editor with Alka Jarvis of Dare to be Excellent. She is a widely published author of award-winning articles and frequent speaker on testing and automation around the world.

   

Top of Page Tutorials: Series M


Tutorial #M5 (Monday 8:30 - 4:30 p.m.)

M5: Introduction to Process Definition (Basic)

Judy Bamberger

Targeted Audience

This workshop on Process Definition, Introduction is targeted to people who are defining their business processes or who will be shortly.  Participants may be members of a software engineering process group, an integrated product development team (cross-functional team), a corporate-wide process/quality team, or others.  The workshop does not assume any familiarity with software engineering or the Capability Maturity Model.

Portions of this workshop have been presented to people at all levels of many organizations - executives, project managers, software engineers, support staff, members of a software engineering process group, and more.  Many organizations are using this method now for defining processes and the basic controls to measure the effectiveness of those processes.

Workshop Objectives

At the end of the workshop, the participants will have:

      Viewed several techniques for representing defined processes

      Used two of those to represent the definition of a simple process

      Participated in and learned one simple, powerful, consensus-based method for defining work processes

Workshop Notes

This workshop is intended to provide an introduction to and practice with process definition techniques.  This workshop is not limited to software practitioners; it is appropriate for anyone or any team that needs to define its processes.

The method being taught is presented in a well defined series of small steps, designed specifically to ensure that consensus is built among the key stakeholders through each step.  The key contribution of this particular process definition method is this:  it produces the process definition itself and the concurrence among those who will be using it - both at the same time.

Most of the exercises will be done in teams (5-8 people at a table).

Maximum enrollment is 20 when offered for a single company.  There is no maximum enrollment when offered publicly.

The workshop will run for one full day.  There are two sessions of approximately three hours.  Mid-session breaks will be provided.  The instructor will be available after the day's session for additional discussion.  There is no required preparation before this workshop; there is no required "homework" during this workshop.

The attendees will receive copies of all workshop materials, including:

    A copy of the presentation materials

      Materials required to support the exercises[1]

Workshop Outline

            Background

      This module motivates the reasons for and benefits of having defined processes. 

            Representing Defined Processes

      Several different process representation techniques are presented, including process flow, N-squared, time and role, activity network, EITVOX (Entry, Input, Task, Verification, Output, and eXit).  Real-world examples are used to demonstrate each technique.

    A Method for Process Definition that Really Works!

      The method for defining processes is introduced, along with a simplified example that walks through each step:  identifying products and services produced and customers for them, creating the context diagram that captures this information and is the bridge to the process being defined, identifying process steps, ordering them, identifying roles involved, spreading the process steps across the roles, drawing and annotating the flow between the process steps, identifying key process metrics and opportunities for improvement.  This section is the bulk of the workshop.  A simple example is used to provide the participants with hands-on practice to facilitate their learning. 

[1]These would be identified completely and well ahead of time.

Judy Bamberger is a consultant specializing in project management, software process definition and improvement, quality techniques (e.g., formal inspections, metrics), leadership, team building, facilitation, and managing change.  Ms Bamberger is an Authorized Lead Assessor in the SEI CBA-IPI method and a key author of the Capability Maturity Model for Software.

Top of Page Tutorials: Series M


Tutorial #M6 (Monday 8:30 - 4:30 p.m.)

M6: Becoming Web-Savvy in a Day (Basic)

Dr. Russ Shermer

Concepts covered:

Moving an Information Technology career from the client-server world to the web is as significant of a change as the move was away from mainframes. Yet, other than a little web-surfing, most IT professionals struggle with the Internet vocabulary and make no pretense of understanding the underlying technologies. When properly presented, this dazzling array of technology is quite easy to understand.

This one day course focuses on understanding and using web tools and technology. Project Managers, developers, testers and business analysts will benefit from this hands-on overview. Participants will leave this course with an increased confidence and awareness of Internet technology.

Class participants will receive a comprehensive introduction to web technology. Web site architecture, networking protocols, routing, ports, standard services, basic web page construction, server side includes, common languages and terminology, security and firewalls, as well as basic performance and functional testing strategies will all be covered. 

Detailed Outline: 

  1. Web vs. the traditional Client/Server mentality
  2. TCI/IP Network Routing – Tying computers together
  3. HTTP  – How your browser talks to web servers
  4. HTTPS – Secure web transactions
  5. FTP – The File Transfer Protocol
  6. HTML – A simple formatting language
  7. Image Formats and Design Considerations
  8. CGI – server side active content
  9. JavaScript – client side active content
  10. Java applets  -- the downloadable web program
  11. Functional Test Approaches
  12. Performance Considerations
  13. Internet Security Awareness
  14. Firewalls – keeping the outside out
  15. Proxies – hiding the inside
  16. Review

The attendee will learn: 

·          A basic Internet vocabulary

·          The differences between client-server and web architectures

·          What services, ports and protocols are and why they are so important

·          How web servers communicate HTML to browsers using HTTP

·          Why security issues on the Internet are so significant

·          Some basic strategies for Internet performance and functional testing

Russ Shermer has a Ph.D. in computational physics and has been developing computer-based solutions for fifteen years. He wrote a cross-platform test automation tool and has worked with several of the major testing tools for over five years. While at Spherion, he lead the effort to define and deploy a test automation methodology at the national level and lead test automation initiatives for a dozen Fortune 500 clients. Over the past year, Russ has been providing quality and performance services over the web.

Top of Page Tutorials: Series M