|
|
|
Tutorials: Series H
|
| 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 |
Series M - Monday, April 2,
2001
Series T - Tuesday, April
3, 2001
Series W - Wednesday, April
4, 2001
Series F - Friday, April 6,
2001
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
systems. A 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.
a)
Course goals
b)
Testing context
a)
Basic definitions for object-oriented design concepts
b)
These definitions in relationship to testing
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
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
a)
Template system test plans
a)
Organizational approaches
b)
Testing responsibilities
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
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.
· Identify the major concerns with
testing
· Examine test metrics that help us do
a better job of managing test
· Keep a real world
perspective - Whats useful, and more importantly, whats 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
· Definitions
· Who provides it
· How it is used
· Test planning and tracking
· Test development metrics
· Test Objective Inventory
· Combining Effort and Task Measures
· Who provides it
· What should be collected
· How is it used?
· Effectiveness
· Efficiency
· How are these used?
· Inventory
· Plan, Check, Do, and Act
· Grow Incrementally
· 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 Motorolas 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 SEIs 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
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
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
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 IBMs 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
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
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 todays 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:
Effectively use
the distributed, component-based software development life cycle including the iterative/
incremental development approach.
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
Dont 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