Buy it Today!
Randy's book, Surviving the Top Ten Challenges of Software
Testing, will help you solve some of your toughest testing problems: people problems!
Click on the image to buy it from bn.com.
User-Oriented Practices for Software Quality
Add to cart
Now, more than ever before, more responsibility is being placed on software users to define and validate the systems they acquire. This three-day course presents two important sides of user involvement in software projects: gathering and documenting user requirements, and testing from the user perspective.
The instructor for this course will be a facilitator and designer of many user acceptance tests in a variety of project settings.
This presentation is for anyone who needs to understand and apply solid techniques for user-oriented activities on a project.
This is a basic course in understanding the process of gathering, defining, testing and managing user requirements. On the final day, we will discuss how to plan, perform and evaluate user acceptance testing.
This course is ideal for people who are just learning about the importance of user requirements, or for those who need a defined process for requirements management and user acceptance testing.
This is a practical interactive seminar which uses team exercises to reinforce the process taught in the class. Your instructor will be a certified instructor in the software engineering field. You will learn the terminology, process, and challenges of requirements management in the real world. As a result of attending this seminar, you should have a good working knowledge of user requirements and what it takes to gather, design, test and manage a complete set of user requirements for a project. In addition, you will know how to plan a user acceptance test that can be used for a variety of projects.
This workshop will help you become more comfortable and confident in performing the requirements management process in just about any role on the project, including business analyst, user, system designer, project manager, QA analyst or tester.
You will emerge from this three-day session knowing how to define the right problem, talk to the right people, document the right needs, build the right system, and test the system using a defined baseline of requirements as the target. You will also leave with a knowledge of how tools can help you perform requirements management and user acceptance testing. You will also learn about how to deal with some of the most common people problems in user acceptance testing.
Return on Investment
- Learn how to define and solve the right problem and avoid spending tons of money building the wrong system.
- Learn how to find problems in requirements before they ripple through the rest of the project, where they are much more costly to fix.
- Understand the key issues in gathering and defining user requirements.
- Learn how to design tests that adequately cover requirements and business events.
- Get the most out of your existing investment in user requirements and use cases and how to leverage that investment.
- Advance your career by reinforcing your software engineering expertise.
Who Will Benefit
- Project managers
- Business analysts
- System designers
- Software engineers and developers
- QA analysts
- Test analysts
The program requires only basic IT knowledge or experience. Technical documentation knowledge or experience is not a pre-requisite.
This course is presented on an in-house basis only unless offered as a special public course.
Contact us for information about how to bring this course into your organization.
Content and Structure
Module 1 - Exploring Requirements
- What is Development?
- What is the Requirements Process?
- What Is A Requirement?
- What a Requirement Isnt
- What is Requirements Management?
- The Overall Objective
- Why We Arent Very Good At Requirements
- Problems With Requirements
- Why Are Requirements Important?
- Where Defects Originate
- Where Testing Resources are Used
- The Relative Cost of Fixing Defects
- Case Study Defining A Simple Requirement
- Assessing the Requirements Process in Your Organization
- Making Sense of Your Score
Module 2 - Problem Analysis
Module 3 - Techniques for Getting the User Perspective
- Five Step Process
- Step 1 Define the Problem to be Solved
- Step 2 Understand the Root Causes
- Root Cause Analysis
- Fishbone Chart
- How to Describe the Root Causes of a Problem
- Context-free Questions
- How Can Context-free Questions be Used?
- The Sources of False Assumptions
- Step 3 - Identify the Affected People
- Step 4 Define the Scope of the Solution
- Step 5 Identify Solution Constraints
- Modeling Techniques
- Business Modeling
- System Modeling
- E-R Diagrams
- Process Flows
- Data Models
- Problem Solving Exercise
- Getting the Right People
- Questions to identify the right people
- Who is a Customer?
- Who is a User?
- A Short Process for Getting the Right People
- Interview Techniques
- Preparing for the Workshop
- Marketing the meeting
- Responsibilities of the Facilitator
- Sample Agenda
- Conducting the Session - Things to Pay Attention To
- Brainstorming Process
- Types of Storyboards
- Tools for Storyboarding
- Helpful Hints for Storyboarding
- Use Cases
- Use Case Components
- Use Case Model
- Sample Use Case
- JAD Sessions
- Role Playing
- Types of Prototypes
- The Prototyping Cycle
- Dealing With Conflicts
- Exercise Role Playing to Develop a Requirement Definition
Module 4 - Documenting Requirements
- IEEE/ANSI SRS Standard Document
- Major Topics that Should be Addressed in Requirements
- Desirable Attributes of Requirements
- Categories of Specification Statements
- Sizing of Requirements
- Testable requirements
- Readability of Requirements
- Common Problems with Requirements
- Tools Used for Defining Requirements
- Defining the Problem to be Solved
- Statement of Work
- Risk Analysis
- Types of Prototypes
- Use Cases
- Use Case Components
- Four Phases of Use Cases
- Facade - Outline and high-level description
- Filled - Broadening and deepening
- Focused - Narrowing and pruning
- Finished - Touching up and fine tuning
- Process for Writing Use Cases
- Business Rule Catalog
- Five Types of Business Rules
- Technical Methods for Defining Requirements
- Decision Trees
- Entity-Relationship (E-R) Diagrams
- Object-oriented models
- Data Flow diagrams (DFDs)
- Finite-state Machines
- State-Transition Diagram
- Tools for Documenting Requirements
- Books that Discuss Modeling and
Module 5 - Requirements Management
- Scope Management
- Managing Expectations - Understanding Tradeoffs
- Tips for Managing Expectations
- Nine Steps to Conflict Resolution
- Refinement of Requirements
- Requirements vs. Design
- Change Control
- Where Does Change Come From?
- Three Ways to Deal With Change
- How to Control Change
- Change Control Process
- Tools for Change Control and Requirements Management
- Case Study Changing a Requirement
Module 6 - Testing Requirements
- Ten Quality Measures
- Verification Methods
- Ambiguity Walkthroughs and Reviews
- Technical Reviews
- Why Perform Early
- Exercise Perform an Ambiguity Review
- Developing Test Cases from Requirements
- Requirements-Based Test Conditions
- Adding Traceability
- Tools for Test Case Design from Requirements
- Exercise Define Test Cases from a Requirement
Module 7 - Dealing With Problems in the Requirements Process
- Scope Creep Solutions
- Excessive Change Solutions
- How to Get Cultural Acceptance of Requirements
- How to Start
- How to Start Earlier
- When to Stop
Module 8 - User Acceptance Testing
- What is User Acceptance Testing?
- Methods of User Acceptance Testing
- The User's Role in Testing
- An Overview of the User Acceptance Testing Process
- Working Definitions
- The User Acceptance Test Planning Process
- Setting UAT Objectives
- Organizing the UAT Team
- What to Look For in Testers
- Defining Acceptance Criteria
- Developing Test Scenarios
- Developing UAT Scripts
- Developing Business Cases
- Defining Functional Test Cases
- Building a Test Cycle Matrix
- What is a Test Cycle
- Why Use Test Cycles?
- Building a Test/Function Matrix
- Estimating UAT Time and Resources
- UAT Materials
- Finalizing the Test Plan
- Execute User Acceptance Tests
- Selecting Test Tools
- Training Team Members
- Manual vs. Automated Methods of UAT
- Tracking UAT Process
- The Role of Regression Testing in UAT
- Documenting UAT Results
- UAT Pitfalls to Avoid
- Managing Attitudes and Conflict
- Addressing User Attitudes
- Addressing Developer Attitudes
- Addressing Management Attitudes
- Recording Defects
- Writing the UAT Final Report
Module 9 - People Issues in UAT
- The Role of Testing in a Project
- Working with Developers
- Working with Users
- Keeping Management Informed of Progress
- Managing Expectations
- What Can a Tester Reasonably Assess or Recommend?
- Checklists and Templates
- Course notebook with slides, worksheets, checklists, complete examples and supporting text
- You will have the basic information needed to gather and define good requirements, and plan and execute an effective test of a software application.
Online Course - Unit Testing
Online Course - Gathering, Documenting and Testing User Requirements!
New Course Series - IEEE Standards
Join Our Free Newsletter
"Leaders are made, they are not born. They are made by hard effort, which is the price which all of us must pay to achieve any goal that is worthwhile." -- Vince Lombardi