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 F
Friday, April 6, 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 (F1 through F6)

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

F1 Testing Component-Based Distributed Systems
(Advanced) (CSTP, Elective)
Dr. John McGregor
F2 Test Management: People and Politics
(Intermediate) (CSTP, Elective)
Judy McKay
F3 Writing Testable Requirements (Basic) (CSTP, #5) Dr. Magdy Hanna
F4 Software Test Automation Scripting Techniques
(Advanced) (CSTP,#6)
Jamie Mitchell
F5 Testing Web and eBusiness Applications: Tools and Architectures (Intermediate)(CSTP, Elective) Dr. G. Bazzana
F6 Building QA Function Step by Step
(Basic)
(CSTP, Elective) 
Dr. Rebecca Staton-Reinstein

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 H - Thursday, April 5, 2001   


Tutorial #F1 (Friday 8:30 - 4:30 p.m.)

F1: Testing Component-Based Distributed Systems (Advanced) (CSTP, Elective)

Dr. John McGregor

Course Description

The course addresses multi-threaded, distributed systems.  The course includes techniques for the construction of effective tests that examine the behavior of individual components, exercise the interactions among components, and test the complete system.  Examples used in the course include components based on the CORBA and JavaBean component models.

 A number of specific techniques are presented that organize test cases so that they are traceable, maintainable and reusable.  Techniques for specifying the concurrent and time-related properties of systems and components are presented.  Specific measures of test coverage are used to measure the effectiveness of the test cases.

Course Objective

The objective of this course is to prepare attendees to effectively test software systems that are composed of components.  Upon completion of this course attendees will be able to:

·        Understand the problems unique to testing object-oriented software.

·        Specify components so they are more testable.

·        Create both static and dynamic test cases for distributed software.

·        Use the DPACT architecture for organizing test cases.

·        Develop an effective test strategy for a project.

 

 

1.      Introduction

Components, Distributed Components, and Distributed Systems

Component Delivery Systems

Design, Deployment, and Testing Issues

Levels of Testing

Case Study - Game Framework

2.      Component Test Process

Managing Test Cases

Automating Testing

Parallel Architecture For Component Testing

Generic Test Harness Class

Building A Test Process

Blending Testing And Development

3.      Component Models

JavaBeans

CORBA Clients, Servants, and Components

DCOM Servers/Clients

Local And Remote Interfaces

OCL Specification Syntax

Concurrency In The Specification

Distribution Specification

4.      Planning For Testing

When And Why

Writing A Test Plan - Component, Integration, System

Test Strategies

Pass/Fail Criteria

Testing Risks

5.      Testing Components

A Well-Rounded Test Suite

Bean Testing

Domain Testing

State Explosion

Multi-Threaded Components and Concurrency Testing

Path Analysis and Testing

Concurrency Faults

6.      Issues, Risks, and Strategies

Issue #1: Testing For Reuse

Issue #2: Interactions Within A Component

Issue #3: Dynamic Behavior

Issue #4: Infrastructure Testing

Issue #5: Testability

Risk #1: Non-Determinism

Risk #2: Component Imperfection

Risk #3: Fundamental Changes

Strategy #1: Operational Profiles

Strategy #2: Failure Statistics

Strategy #3: Create Test Classes

Strategy #4: Local And Remote

7.      Testing Techniques For Distributed Components

Faults In Distributed Systems

Properties To Be Verified

Simple Distributed Systems

Defects With Clients and Servers

Distributed Parallel Architecture For Component Testing

Integration Testing

Standard Design Patterns

Test Patterns

Systems Checklist

8.      Pattern Language for Testing Distributed Components

Isolate Object For Testing

Wrap The OUT To Trap Messages

Use Wrapper Methods To Control

Use A Synchronized Log

Use A Surrogate Client

Test A Complete Protocol

Local Verification Of Test Results

Test All Possible Sequences

Create A Distributed Log

Capture All Remote Exceptions

System Test

9.      Software Reliability

Testing Spectrum

Testing Context

Testing And Software Reliability

Software Reliability

Failure Intensity

Software Reliability Models

Execution Time Failure Intensity

Calculating System Reliability

Component Reliability

Top of Page Tutorials: Series F


Tutorial #F2 (Friday 8:30 - 4:30 p.m.)

F2: Managing the Software Testing Process - People and Politics (Intermediate) (CSTP)

Judy McKay

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

This tutorial will cover the essential management skills for people who lead or manage software development test efforts. These skills include anticipating and overcoming the obstacles inherent in test execution and in communicating test status and results to peers and managers. In addition, the test manager must know how to hiring and motivate a capable, reliable test team. Finally, the test manager will learn how to use external test resources to create a virtual test team.

Attendees Will Learn To:

  • Prepare for the challenges of test execution.
  • Build and retain an effective, loyal test team.
  • Work and communicate effectively with managers and peers.
  • Leverage the test capabilities of your vendors, sales offices, and outside labs while keeping control of test quality and progress.


Tutorial Outline

  1. Overview of Test Project Management
    1. The Need to Manage Testing
      1. Deal with Unique Management Challenges
      2. Keep Test Team Productive
      3. Communicate Contributions to Peers and Management
      4. Manage External Test Contributions
    2. Important Resources for Test Managers
      1. Test Engineers and Test Technicians
      2. Contractors and Consultants
      3. Vendor Testing and External Test Labs
    3. Politics of Testing
      1. Dealing with Managers
      2. Dealing with Peers
    4. Challenging Bug Report Situations
  2. Test Execution Management Challenges
      1. Certitude versus Progress
      2. Managing External Dependencies
      3. Revision and Release Processes
      4. Test System Configuration Management
      5. Reconciling Test Data
      6. Avoiding Debugging Activities
      7. Minimizing Type I and Type II Errors
      8. Holidays and Cultural Issues
  3. Staffing and Managing a Test Team
    1. Defining the Test Team
      1. Size
      2. Skills
      3. Positions
    2. Organizational Models
    3. Qualifications for Testers
      1. Specialization
      2. Professional Pessimism
      3. Balanced Curiosity
      4. Focus
    4. Disqualifications for Testers
    5. Motivating Testers
      1. Loyalty to Staff
      2. Burnout Avoidance
      3. Motivational Errors
    6. Adding Temporary Resources
      1. Roles for Temporary Staff
      2. Contractors
      3. Experts
  4. Test Management Politics
    1. Defining the Test Manager’s Job
    2. Where the Test Team Fits in the Organization
    3. Non-Test Functions in the Test Group
    4. Managing Your Managers
    5. Managing Your Peers
    6. The Politics of Testing and Specifications
    7. External Effects on Testing
    8. Gaining Support for Plans
      1. Selling the Plan
      2. The Importance of Pertinence
    9. Presenting the Results
      1. Delivering Bad News Without Being a Bad Guy
      2. Accuracy and Audience
      3. Bug (Defect) Tracking
        1. Why Track Bugs
        2. Describing Failures Well
      4. Charting Project Progress with Bug Data
        1. Opened/Closed
        2. Root Cause
        3. Closure Period
        4. Subsystem
      5. Test Case Status
  5. Distributed Testing
    1. Choosing Test Partners
      1. Vendors
      2. Third-Party Testers
      3. Sales Offices
    2. Planning the Distributed Effort
      1. Assessing Capability
      2. Developing a Budget
      3. Collating, Coordinating, and Partitioning the Test Effort
      4. Distributed Test Logistics
      5. Planning for Mapping Issues
    3. Managing Distributed Testing
      1. Monitoring Test Execution
      2. Communicating Status and Change of Direction
      3. Handling Political Considerations
    4. Cultural Issues
    5. Building and Maintaining Trust

Judy McKay has managed systems analysis and development teams. She has been an
analyst, developer and DBA as well as a QA manager. She has managed QA for over
13 years. Her experience is with small to large software companies, very large companies
and an internet startup. She's worked in done aerospace and DOD environments as well
as commercial work. She has also managed 3rd level support groups in those same software
companies for about 6 years.

Top of Page Tutorials: Series F


Tutorial #F3 (Friday 8:30 - 4:30 p.m.)

F3: Writing Testable Requirements (Basic) (CSTP)

Dr. Magdy Hanna

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

More information soon!

Dr. Magdy Hanna, is a recognized educator, speaker and consultant in several related areas of software engineering. Dr. Hanna, who is the president of Software Dimensions Consulting and Training, brings over twenty years of experience with building and maintaining software systems. As an assistant professor at the University of St. Thomas, he teaches graduate courses on several software engineering topics. He developed new approaches and methods in software development including the Unified Data Model (UDM), the Data-Driven Object Model (DOM), and the Software Quality Engineering Methodology (SQEngineer). Dr. Hanna holds a Ph.D. and a Master in Computer and Information Sciences from the University of Minnesota. The methodology was developed by Dr. Magdy Hanna and is used for several small to medium size projects.

Top of Page Tutorials: Series F


Tutorial #F4 (Friday 8:30 - 4:30 p.m.)

F4: Test Automation Scripting Techniques (Advanced) (CSTP)

Jamie Mitchell

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

Many automation projects are built around using a single tool to create, track, and run tests. However, these projects often fall far short of their objectives to reduce the cost of testing and time to market. This tutorial will show what must be added to your test automation program to help it become successful.

Owning a state of the art tool is not enough to ensure success; you must combine good testing methodology and adhere to a defined process to leverage the tool efficiently. Software Engineering techniques that have proven successful on software development can easily be adapted to work with test automation.

This tutorial will teach the attendees a working test automation methodology that will enhance any automation tool and increase your chances for success. In addition, a set of processes will be discussed to provide a solid foundation for your test automation program. No one test automation tool will be highlighted; instead, the presenter will concentrate on providing a tool independent methodology which will enhance your testing.

Throughout this tutorial, the emphasis will be on maximizing the return on the investment made in the tools and person hours spent on test automation.

Targeted Audience:

This tutorial will be targeted at all persons involved in using software testing automation tools. It will be useful to experienced test automators and those who are just starting to work with the available tools. Some general knowledge of simple programming concepts will be useful, as coding examples will be used throughout to illuminate the principles being discussed.

Detailed Outline:

The tutorial will cover the following:

  1. Requirements based testing vs. tool driven testing: why the automation tools encourage bad testing techniques and how to avoid them.
  2. Test by Eye methodology: structuring your tests to avoid false negatives and reduce the effort caused by over testing.
  3. "Brick" theory: how to structure your test scripts so that you get more leverage from them in different testing situations.
  4. Standards and guidelines to facilitate the growth of your test automation projects beyond beginner status. 5.Planning ahead to make your test automation self sustaining. Ensuring that your scripts can be run and understood by others.
  5. Extending your tool set through simple programming techniques. Easy to follow pseudo code will be used so the attendees will be able to take the learning's and apply them in their own environment.
  6. Data driven testing: leveraging test scripts into testing many different scenarios.
  7. Using files and databases to enhance your testing.
  8. Leveraging the Windows API to solve problems.


Questions will be encouraged to deal with actual problems that the attendees have experienced.


Jamie L. Mitchell has been involved in test automation projects throughout American Express Financial Advisors as Automator, designer and architect. Jamie has worked with test automation tools since the first ones were released with Windows 3.0, including stints with Prudential Insurance, IBM AS/400 division, and ShowCase Corporation. He was awarded the Master of Computer Science degree in January 1992 from Lehigh University and is a QAI Certified Software Test Engineer.

Top of Page Tutorials: Series F


Tutorial #F5 (Friday 8:30 - 4:30 p.m.)

F5: Testing Web and eBusiness Applications: Tools and Architectures

Dr. G. Bazzana

First of all, peculiarities of Web-based applications will be presented from a technical point of view, explaining their effects on testing practices. Moreover, the tutorial will deal with testing management aspects which are fundamentally affected by the nature of Web applications, including: RAD, regression issues, Testing solution will then be presented, both for static aspects (related to HTML, pictures, XML) and dynamic aspects (ASP, CGI, Proxies, Cookies, etc.). Testing techniques will be presented for the various levels required by Web based applications: syntactic/ syntax test; portability/ usability test; fast loading/ link test; module/ coverage test; integration/ security test; functional/ load/ stress/ performance test. Techniques for maintaining Service Level Agreements after release will be also considered, including: regression testing and operational testing. Room will be devoted also to commercial tools available in order to give the audience an overview of the existing technologies, highlighting also experience reports from their introduction, including ROI analysis. Special emphasis will then be given to the Web Accessibility Initiative (WAI) guidelines that have been issued by W3C and can significantly help testing of Web-based applications. Last but not least, the tutorial will touch the issues raised by integration testing between ERP and Web and in the validation of B2B and B2C solutions. Case studies will cover: testing of e-commerce sites, testing of commercial Internet Web sites, testing of Intranet sites, testing of home banking/ trading on-line applications 

1 - Introduction

Ø      Web testing needs

Ø      Internet/ Intranet/ E-commerce trends

Ø      Impacts on Web testing

Ø      The challenges

 

2 - Web peculiarities

Ø      ISO 9126 for Web applications

Ø      Project development peculiarities

Ø      Technical peculiarities

Ø      QA challenges for the Web

 

3 - Reference technologies

Ø      Architecture of Web based applications

Ø      Web taxonomy

Ø      Technologies and their impacts

Ø      Development tools

 

4 - Testing taxonomy for WWW

Ø      Test levels before shipping

Ø      Test classes after shipping

 

5 - Description of testing techniques for static aspects

Ø      Syntactic testing

Ø      Stylistic testing

Ø      Fast loading testing

Ø      Link testing

Ø      Compatibility testing

Ø      Portability testing

Ø      Usability testing

 

6 - The W3C WAI

Ø      Objectives

Ø      Applicability and importance

Ø      Technical details

 

7- - Testing tools for static applications

Ø      Web testing tools taxonomy

Ø      HTML Validators

Ø      Link Checkers

 

8 - Description of testing techniques for dynamic aspects

Ø      Module testing and coverage issues

Ø      Integration testing

Ø      Security testing

Ø      Functional testing

Ø      Performance testing

Ø      Load/ Stress/ Endurance Testing

Ø      Operational testing

 

9 - WWW Test tools for dynamic testing

Ø      Functional test tools

Ø      Load/ Stress tools

Ø      Operational testing tools

Learning objective:

·          Testing peculiarities for Web applications

·          Testing techniques for Web applications

·          Testing facilities available

·          Web Accessibility Initiative guidelines

Pre-requisites:

·          Knowledge of basic testing techniques

·          Knowledge of Web infrastructure

·          Basic know-how of HTML

At university, Gualtiero Bazzana graduated with honour in Information Science at the University of Milan, in February 1989. His PhD won the special AICA award for topics related to quality in Information Technology. After working as software developer in a telecommunication company and as consultant/ manager in a consulting company he set-up ONION (www.oniongroup.com) where he is Partner and Business Management Director. His activities cover two areas of interest: consulting -projects in software engineering for various industrial companies and research in the field of software quality and networking (especially in the Internet/ Intranet domain). As far as consulting/ projects in industry are concerned, he matured and exploited know-how in conducting various medium sized and large projects for several companies in various application domains  (telecommunications, data processing, MIS, process control, etc.), covering topics like: Internet services, Intranet applications, Supply Chain management, etc. Moreover he has matured significant experiences in the ERP domain, notably with SAP R/3. He has matured significant technical experiences especially in the telecommunications domain (notably: switching systems and GSM mobile radio systems) in CIM and in networking, including Internet/ Intranet/ Extranet services and solutions. He has also dealt with sw development and testing, testing methods and tools, quality planning, test planning, reliability analysis, software product evaluation, process assessment and improvement, definition of quality systems in accordance to ISO 9001 and 9000/3, reviews and inspections, FDA computer system validation and so forth His research activity spanned in various fields of software engineering, ranging from Petri Nets to development methodologies, functional and structural test coverage, metrics and related tools, CAST, reliability evaluation, software development process evaluation and improvement, management by metrics, software product quality evaluation, security technology transfer and total quality management techniques. Moreover, he has co-ordinated several European Research Projects. He has published a book: ("Software Metrics for Product Assessment", McGraw Hill) contributed to 4 other books and published  over 50 papers at international conferences on topics related to software quality and software testing. You may contact him at gb@onion.it

Top of Page Tutorials: Series F


Tutorial #F6 (Friday 8:30 - 4:30 p.m.)

F6: Building QA Function Step by Step (Basic)(CSTP, Elective)

Dr. Rebecca Staton-Reinstein

Despite the incredible pace of technology advancement, the looming Y2K showdown, more strategic uses of information on the Internet and in internal applications, globalization, downsizing, mergers and a plethora of other changes, establishing a viable Quality Assurance function is still as easy and as hard as it ever was.  The easy part is the body of solid practice developed over the last two decades which has established what works best in building, maintaining and continuously improving the QA function.  The hard part is still Agetting  management=s buy in."  How does QA demonstrate its value to Information Technology executives, Project Managers and internal customer management?

Objectives: At the end of this tutorial you will know the basic steps of building, maintaining and continuously improving the QA function.  You will know how to assess your present situation and determine the specific needs of your IT department and its leaders, project managers and internal customer managers.  You will know what the standard Quality Assurance, Quality Control and Quality Improvement practices are and when and how to use them.  You will understand how to apply the quality principles, use the standard quality resources and develop a successful strategic plan.  Of equal importance, you will learn how to speak the languages of your key stakeholders and present a persuasive case for implementing QA.

Tutorial Outline:

1)       Applying quality principles

a)      Using QA, QC and QI effectively

b)      The strategic approach

2)       Definitions

a)      What is quality?

b)      Who is the customer?

c)      Who is the supplier?

d)      Who is my partner?

3)       QA the linkage to the business

a)      Defining the linkage

b)      Using the linkage effectively

c)      What do we need to know?

4)       Establishing the agenda for QA

a)      Surveying stakeholders

b)      Defining the need

c)      Tools and techniques

5)       Getting Started: Bookend Approach

a)      Requirements Control

b)      Change Control

6)       Step By Step QA practices

a)      Risk assessment

b)      Life Cycle implementation

c)      Standards creation

d)      Measurement

e)      Using Maturity Models

f)        Defect analysis

g)      Acquired software QA, QC

7)       Step By Step QC practices

a)      Reviews, Inspections

b)      Testing

c)      Change management

8)       Step By Step QI practices

a)      Process improvement

b)      Applying Statistics

9)       Who's responsible for QA, QC, QI

a)      Responsibilities at all levels

b)      Specific QA responsibilities

10)  Planning QA implementation, maintenance and improvement

11)  Getting management buy in

a)      Persuasive case building

12)  Implementation considerations

a)      Training

b)      Politics

Guidelines, resources and tools

Dr. Rebecca Staton-Reinstein 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 F