Best Practices in Agile Testing
A Three-Day Workshop

Certified Software Test Professional – Associate Level

Course available as online self-paced
Course available as online Interactive
Course available to schedule for your team
Learn More
Applicable Certifications:
CSTP-A #1&2

This a course is the agile version of our popular course titled "Best Practices in Software Test Planning and Design". Therefore, it also satisfies the educational requirements of the Certified Software Test Professional– Associate Level certification.

The course is conducted as a workshop where attendees will learn a very effective test design methodology by working in teams or individually in a workshop setting. The course instructor draws on his 35 years of experience in every aspect of the software test process to teach only what has proven to work and produce the best results.


This course is essential to every software professional involved in software testing:

  • Test engineers, test Leads, and test analysts interested in effectively planning, designing, and controlling all test activities.
  • User acceptance testing teams responsible for verifying system and functionality based on user scenarios.
  • Development teams interested in performing effective unit and integration testing.
  • Development and test managers interested in gaining better control over the different test activities and the quality of the software product.

Attendees will learn a systematic approaches to software testing in Agile project using a scenario-based approach. The methodologies have been used by organizations of all sizes and have proven to considerably reduce the number of defects in released products.

Whether you have been doing testing for a number of years or you have just started, we guarantee that you will learn very practical methods and techniques that will help you improve your performance and the performance of those around you. You will learn a number of testing practices that you might have not done before.

In addition to the scenarios-based methodology, the course will also cover more formal but practical test design techniques such Equivalence Class Partitioning, Boundary Value Analysis, Cause-Effect Diagram, Decision Tables and Decision Trees. The course will also cover test design and test planning activities including documenting test conditions, test cases, test scripts and procedures, and expected results.

At the end of the course, attendees will write the exam for the Certified Software Test Professional – Associate Level certification.


Day 1

Module 1: Concepts, Terminology and Methodology

  • A deeper look at why we test – the testing mindset.
  • Testing defined
  • Testing concepts and test design methodology
  • User Stories and Acceptance Criteria
    • Working with incomplete User Stories
    • Learning how to ask the right questions about a user story.
  • Scenarios and scenario-based development and testing
    • Breaking down user story to scenarios
    • Positive and negative scenarios
    • Validating scenarios
    • Scenarios as a way of preventing defects

Day 2

Module 1 (Continue)

  • Designing Test Cases Based on Scenarios
    • Positive and negative test cases
    • Identifying the critical components of a test case
    • Table driven test design
  • Test sets and Test Scripts
    • Separating test data from sceripts
    • Reusable scripts
  • Strategies for Software Testing
  • Black box/Glass box/Gray box testing

Module 2: Best Test Design Practices

  • Testing without requirements or with poor requirements
  • Coping with fast pace incremental and highly iterative development processes
  • Quality requirements: the unspoken of and the untestable
  • Pre-designed tests Vs ad hoc testing
  • Exploratory testing based on scenarios
  • Systematic Negative Testing (no guessing)
  • Tracking your test execution progress for effective status reporting
  • Getting the most out of your Regression Testing with Impact Analysis
  • Understanding the Test process: Test Planning, Test Design, and Test Execution
  • Static Vs Dynamic Testing

Module 3: Testing levels

  • Unit testing
  • Integration testing
  • System testing
  • Major areas of systems testing
  • Usability and GUI testing
  • GUI navigation diagrams
  • User acceptance

Day 3

Module 4: Test Case Design Techniques for Unit, system and user acceptance testing

Strategies for generating test cases

  • Requirements-Based Test Design Techniques
    • Equivalence Class Partitioning
    • Boundary Value Analysis
    • Cause-Effect Diagram
    • Decision Tables
  • Code-Based Test

Module 5: System Test Planning

  • Why plan
  • Developing a test strategy
  • Test documentation
    • Components of a test plan
    • A test plan template
    • Creating a system test plan
    • Identification of the test plan
    • Systems test environment.
    • Systems test objectives and scope.
    • Systems test approach.
    • Systems test staffing and responsibilities
    • Hardware/software/network requirements
    • Testing tools
    • Systems test deliverables.
    • Systems test tasks.

Module 6: Systems Test Design

  • Test design basics
  • Test design activities
  • Deliverables of the test design phase
  • 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
Course Instructor: Dr. Magdy Hanna

Dr. Hanna is a recognized educator, speaker and consultant in several areas of software engineering. His distinguished seminars on various topics have been highly rated by software professionals. His experience with software goes back to the mid 1970’s, when he worked as a developer at the NCR Center and the American University in Cairo, Egypt. Over the last thirty-five years, Dr. Hanna has worked in all aspects and capacities of software projects and processes. He has trained over 50,000 professionals around the world over the last 20 years. His passion and enthusiasm for testing, process improvement, and software engineering are contagious.

Dr. Hanna is Founder, CEO, and Chairman of several organizations:

  • International Institute for Software Testing (www.iist.org), leading educational and professional development organization that provides education-based certifications to software test and quality professionals around the world. Dr. Hanna serves as the Chairman of Advisory Board for the Certified Software Test Professional (CSTP) and the Certified Test Manager (CTM) credentials.
  • International Institute for Software Process (www.spinstitute.org), leading professional development organization that provides education-based certifications to software process improvement professionals around the world. Dr. Hanna serves as the Chairman of Advisory Board for the International Software Process Improvement Certification (ISPIC).
  • International Conference on Practical Software Quality and Testing, (www.PSQTconference.com).
  • International Conference on Software Process Improvement, (www.icspi.com).
  • RommanaTM Software (www.Rommanasoftware.com). In this role, he is the Chief Architect of an Integrated Software Lifecycle Management System.

Dr. Hanna also served as Editor-in-Chief of the Journal of Software Test Professionals, a publication of the International Institute for Software Testing, now the Bug Free Zone (www.iist.org/bug-free-zone.php). As a professor of Software Engineering at the University of St. Thomas , he taught graduate courses on several software engineering topics with emphasis on practical software quality techniques. Dr. Hanna consults with companies to define and improve their software processes using disciplined software engineering approaches.

Dr. Hanna developed new approaches and methods in software engineering including the Scenario-Based Development and Testing (SBDT), Requirement-Based Project Management (RBPM), Software Quality Engineering Methodology (SQEngineer), the Unified Data Model (UDM), and the Data-Driven Object Model ( DOM ). Dr. Hanna and his instructors conduct hundreds of free online webinars each year.

Dr. Hanna holds a Ph.D. and a Masters Degree in Computer and Information Sciences form the University of Minnesota, also a Masters in Operations Research from Cairo University, and B. Sc. in Petroleum Engineering from Suez Canal University, Egypt.