The traditional testing process is reactive, struggling
uphill after all the possible errors have been made. Agile test-driven
development writes tests prior to code, continually reviews code through
pair programming, and emphasizes frequent “acceptance” (integration)
testing of small code implementations—all of which help produce cleaner
program code quicker. As much of an improvement as it is, agile
test-driven development could do even better by also applying concepts and
techniques of the powerful Proactive Testing™ process that identify
numerous test conditions which traditional and test-driven approaches
ordinarily overlook, including up to two-thirds of showstoppers and much
of the extensive rework which terms like “refactoring” tend to obscure.
Following the CAT-Scan Approach™, this interactive workshop describes a
Proactive Testing™ model and methods that enable agile (and other)
development to deliver far better systems even quicker and cheaper, while
also helping overcome traditional user, manager, and developer resistance
to testing. Exercises enhance learning.
Participants will learn:
-
Test-related advantages of agile test-driven
development, and its seldom-recognized limitations.
-
A truly agile structured Proactive Testing? process
that actually can deliver better quality while cutting time, effort, and
aggravation for users, developers, and managers.
-
Testing’s role in getting more accurate, complete,
and testable REAL requirements.
-
Low-overhead test planning/design techniques that
spot and prevent ordinarily-overlooked defects.
-
Proactive Integration and User Acceptance Test
strategies that agile testing misses.
WHO SHOULD ATTEND:
This course has been designed for testing professionals
and others who manage and perform testing of software products, and also
for analysts, designers, and system/project managers who need to know how
Proactive Testing™ can cut software development time and effort.
OUTLINE:
AGILE ADVANTAGES AND LIMITATIONS
Rationale for agile avoiding overhead
The Agile Manifesto
eXtreme Programming characteristics
User story requirements
Pair programming continuous code review
Test-driven test-first development
Agile “acceptance testing”
Refactoring as an expected practice
Factors limiting Agile’s actual effectiveness
PROACTIVE TESTING™ OVERVIEW
Earlier is cheaper, defect economics
Need for metrics on frequency and impact
Developer perceptions vs. actual results
CAT-Scan Approach? to find more errors
V-model and objectives of each test level
Dynamic, passive and active static testing
Reactive testing—out of time, but not tests
Proactive Testing? Life Cycle model
REAL, business requirements provide value
Product/system/software requirements
Conventional UAT misconceptions
Test activities that save the developer’s time
TEST PLANNING VALUE NOT BUSYWORK
Risk elements, impact and likelihood
Reactive approach tests higher risks more
Proactive Testing™ tests risks earlier too
Identifying commonly-overlooked risks
IEEE Standard for Test Documentation
Master and Detailed Test Plans
Stomach ache metric, prevent showstoppers
Letting testing drive development
DETAILED TEST PLANNING/DESIGN
Graphical technique to simplify integrations
Integration test plans prevent schedule slips
Black Box functional testing
Functionality Matrix identifies test designs
White Box structural testing
Structural testing of use cases
Identifying overlooked scenarios, conditions
Developing reusable test designs
Structured brainstorming
Checklists and guidelines to fill the gaps
Formal/informal test design specifications
Selecting scaled subset based on risk
Speaker’s Bio:
Robin F. Goldsmith, JD is an internationally recognized
authority on software development and acquisition methodology and
management. He has more than 30 years of experience in requirements
definition, quality and testing, development, project management, and
process improvement. A frequent featured speaker at leading professional
conferences and author of the recent Artech House book, Discovering REAL
Business Requirements for Software Project Success, he regularly works
with and trains business and systems professionals.