Course Taxonomy: Agile Engineering

Zero Trust Security Boot Camp

Part 1:

  • Introductions
  • Brief Evolution of IT Security
  • The Perimeter Model
  • Brief Threat Landscape History
  • Problems with the Traditional Model
  • Brief History of Zero Trust
  • Zero Trust AuthN & AuthZ
  • Zero Trust Tenants
  • Zero Trust Basic Concepts
    • Team Knowledge Check

Part 2:

  • Zero Trust Network Design Part 1
  • Zero Trust 5 Steps of Transformation
  • Zero Trust Threats
    • Team Knowledge Check
  • Zero Trust Access Control
    • Mid-Team Quiz
  • Zero Trust Risk Management
  • Zero Trust Governance
  • Zero Trust Vendor Selection
    • Team Knowledge Check
  • Zero Trust Reference Architecture
    • Team Knowledge Check

Part 3:

  • Zero Trust Network Design Part 2
    • Team Knowledge Check
  • Zero Trust Implementation
    • Team Knowledge Check
  • Zero Trust Migration
  • Zero Trust Challenges
    • Team Knowledge Check
  • Zero Trust Wrap Up
    • Final Team Quiz
  • Ending- Bonus

Certified SAFe® Architect (ARCH)

Part 1: Exemplifying Agile Architecture

1.        Describe Agile architecture

2.       Describe SAFe Architect roles and collaborations

3.       Architect using SAFe principles

Part 2: Architecting for DevOps and Release on Demand

1.        Foster a DevOps culture

2.       Describe how value flows through the Continuous Delivery Pipeline

3.       Architect for and facilitate Continuous Exploration

4.       Architect for Continuous Integration

5.       Architect for Continuous Deployment

6.       Architect for Release on Demand

Part 3: Aligning Architecture with Business Value

1.        Describe how Strategic Themes, Portfolio Canvas, and Portfolio Vision influence architecture

2.       Explain how Value Streams support the business

3.       Explain how Solution Trains and Agile Release Trains deliver value

Part 4: Developing Solution Vision, Solution Intent, and Roadmaps

1.        Align Solution Vision with Strategic Themes and Solution Context

2.       Contribute to Solution Intent

3.       Manage quality with nonfunctional requirements (NFRs) and the Lean quality management system (QMS)

4.       Contribute to Roadmaps

Part 5: Preparing Architecture for PI Planning

1.        Contribute to the Program Backlog

2.       Sequence and prioritize work in the Program Backlog

3.       Contribute to Solution pre-PI Planning

Part 6: Coordinating Architecture throughout PI Planning

1.        Contribute to PI Planning

2.       Contribute to management review and problem-solving

3.       Contribute to Solution post-PI Planning

Part 7: Supporting Continuous Delivery during PI Execution

1.        Guide architecture and Continuous Delivery throughout the PI

2.       Prepare for Iteration Reviews and System and Solution Demos

3.       Relentlessly improve through Inspect and Adapt (I&A)

Part 8: Supporting New Strategic Themes and Value Streams

1.        Align architecture to Enterprise strategy

2.       Evolve the Solution Portfolio

3.       Contribute Enabler Epics to the Portfolio Kanban

4.       Coordinate across Value Streams

Part 9: Leading as an Architect during a Lean-Agile Transformation

1.        Describe how Architects perform as Lean-Agile leaders

2.       Describe how to lead the transition to Agile architecture during a transformation

3.       Develop an action plan to support your organization’s transformation

Part 10: Becoming a Certified SAFe Professional

1.    Becoming a Certified SAFe Professional

Fundamentals of Software Testing

Part 1: Introduction and Overview

Establishes a foundation for the course, provides a workable definition of software quality and shows how testing fits into the overall quality process.

Part 2: What to Test and How to Test it — The Universal Testing Method

Testers follow the same basic process that scientists use; we follow the principles of experimentation and measurement. In this course, we map your testing method back to those principles and show how, at each step in your testing, you’re making complex decisions about what to test and how to test it. Utilizing a combination of skills, tactics, practices, and tools – this section helps build a base that testers in any context (of any skill level) can apply to solve testing problems.

  1. Model the Testing Space. Compose, describe and work with visual models of the software to identify relevant dimensions, variables, and dynamics so you can develop an effective test strategy.
  2. Determine Test Coverage. Understand a variety of common measures of test coverage and choose the most appropriate ones for each project; determine the scope of testing; establish a structure to track test coverage
  3. Determine Test Oracles. Identify the sources of truth to determine whether the application has passed or failed tests; review common formal and heuristic oracles 
  4. Determine Test Procedures. Define what test procedures and test cases are; identify common test procedure types; learn how to document test procedures in a practical, efficient manner
  5. Configure the Test System. See how to ensure you have everything needed to support testing; discuss common challenges to test configuration; consider test lab requirements and realities
  6. Operate the Test System. Learn how to manage tester contact with the application under test (AUT); discuss different methods of interaction with the system to address different testing objectives; identify common artifacts and practices related to test operation
  7. Observe the Test System. Learn what empirical data to capture about the application under test and how to preserve testing interactions for review and reproducibility; consider common tools used to assist with test observation; identify common problems and human tendencies related to observation
  8. Evaluate Test Results. Discuss possibilities and probabilities related to test results (not every test failure is a bug!); identify typical test result evaluation tasks; consider performance test results interpretation; learn key factors related to defect communications
  9. Report Test Results. Learn how to make credible, professional reports of testing results and testing progress that address the varied needs of your target audiences; identify guiding principles for report design; review best practices and examples for defect reporting, progress status reporting, and quality statistics reporting

Part 3: Test Case Strategies

The heart of good testing is coming up with good test cases.  In this section, we will define what makes test cases “good”, and discuss these strategies for identifying test cases in specific contexts:

  1. White Box strategies
  2. Black Box strategies
  3. Input and data-based strategies
  4. User interface oriented strategies
  5. Business Process flow strategies
  6. Strategies based on your personal and organizational experiences

Part 4: Common Phases of Testing

Different testing activities take place as the software progresses through its life cycle. (Agile testers perform these same testing activities, even though they are not project phases.) This section explains the common phases of software testing, including the purpose of each, who normally performs it, and the typical types of tests that are done.

Test phases or types discussed:

  1. Unit and Software
  2. Integration
  3. System and System Integration
  4. Product Readiness
  5. Regression
  6. User Acceptance

Part 5: Approaches to Testing

Different approaches to testing are used to address different testing objectives and different project conditions. Some approaches are more formal, lengthy, traceable, and reproducible. Others are more free-form, quicker, less traceable, and less reproducible. The range of such approaches forms a continuum from which testers select the optimal combination for a given project. The best selection of approaches addresses the needs for both positive and negative testing.

  1. The Testing Approach Continuum
  2. Scripted Testing
  3. Freestyle Testing
  4. Middle-Ground (Charters, Checklists, Scenarios)

Part 6: Non-Functional Testing

Without question, functional testing is a must-have for software quality. However, there’s more to the picture than that. This section describes several key types of non-functional testing and identifies, what their scope is, and what techniques or best practices apply. 

  1. Performance
  2. Usability
  3. Accessibility
  4. Security
  5. Portability
  6. Localization

Part 7: Platform Specialization

Software is not just on the desktop—it runs on numerous platforms, and it all needs to be tested. This section takes multiple platforms into consideration and identifies each platform’s unique challenges, and the best testing approaches for each given platform.

  1. Web-Based
  2. Mobile
  3. SOA (Service-Oriented Architecture)
  4. Telephony and Voice
  5. DW/BI (Data Warehouse and Business Intelligence)
  6. COTS/MOTS – Package Implementations (COTS)

Part 8: Test Automation — Bonus Section

There have been many organizations that have set out to implement automation testing in their projects, and many of them have failed. This section identifies the different types of tools and practices that fall into the “automation” category and helps set realistic expectations and goals for automated testing. Learn how to optimize your automation testing investment and plan properly for long-term success. This is a bonus section that is discussed as time permits.

  1. Automated Test Tools
  2. System Monitor Tools
  3. File/Database Comparison Tools
  4. Static Analysis Tools

Part 9: Behavior Driven Development (BDD) & Test Driven Development (TDD) — Bonus Section

BDD and TDD are related approaches to software development that came out of the Agile movement and have proven to have a significant positive impact on software quality. This section provides an introduction to the concepts so testers can be prepared to adopt them together with developers and other project members using iterative development methods. This is a bonus section that is discussed as time permits.

  1. Test-Driven Development activities
  2. Behavior-Driven Development activities
  3. Tools for Different Languages

Part 10: Managing Testing Projects

Whether you lead a team of testers or work as the lone tester on a project, effectively managing the testing work is key to your ability to successfully test the software on time with the resources at hand.  In this section, we will address the basics of managing your work in a way that is relevant to individual contributors and lead leads alike.

  1. Planning for Testing (Universal Testing Method Steps 1-4)
  2. Requirements Traceability
  3. Test Resource Needs
  4. Testing Risks and Issues
  5. Testing Entry and Exit Criteria
  6. Measuring Testing Progress

Fundamentals of Secure Application Development

Part 1: Secure Software Development

  1. Assets, Threats & Vulnerabilities
  2. Security Risk Analysis (Bus & Tech)
  3. Secure Dev Processes (MS, BSI…)
  4. Defense in Depth
  5. Approach for this course

Introductory Case Study

Part 2: The Context for Secure Development

  1. Assets to be protected
  2. Threats Expected
  3. Security Imperatives (int&external)
  4. Organization's Risk Appetite
  5. Security Terminology
  6. Organizational Security Policy
  7. Security Roles and Responsibilities
  8. Security Training for Roles
  9. Generic Security Goals & Requirements

Exercise: Our Own Security Context

Part 3: Security Requirements

  1. Project-Specific Security Terms
  2. Project-Related Assets & Security Goals
  3. Product Architecture Analysis
  4. Use Cases & MisUse/Abuse Cases
  5. Dataflows with Trust Boundaries
  6. Product Security Risk Analysis
  7. Elicit, Categorize, Prioritize SecRqts
  8. Validate Security Requirements

Exercise: Managing Security Requirements

Part 4: Designing Secure Software

  1. High-Level Design
    1. Architectural Risk Analysis
    2. Design Requirements
    3. Analyze Attack Surface
    4. Threat Modeling
    5. Trust Boundaries
    6. Eliminate Race Objects
  2. Detail-Level Design
    1. Secure Design Principles
    2. Use of Security Wrappers
    3. Input Validation
    4. Design Pitfalls
    5. Validating Design Security
    6. Pairing Mem Mgmt Functions
    7. Exclude User Input from format strings
    8. Canonicalization
    9. TOCTOU
    10. Close Race Windows
    11. Taint Analysis

Exercise: A Secure Software Design, Instructor Q and A

Part 5: Writing Secure Code

  1. Coding
    1. Developer guidelines & checklists
    2. Compiler Security Settings (per)
    3. Tools to use
    4. Coding Standards (per language)
    5. Common pitfalls (per language)
    6. Secure/Safe functions/methods
      1. Stack Canaries
      2. Encrypted Pointers
      3. Memory Initialization
      4. Function Return Checking (e.e. malloc)
      5. Dereferencing Pointers
    7. Integer type selection
      1. Range Checking
      2. Pre/post checking
    8. Synchronization Primitives
  2. Early Verification
    1. Static Analysis (Code Review w/tools)
    2. Unit & Dev Team Testing
    3. Risk-Based Security Testing
    4. Taint Analysis

Exercise: Secure Coding Q and A

Part 6: Testing for Software Security

  1. Assets to be protected
  2. Threats Expected
  3. Security Imperatives (int&external)
  4. Organization's Risk Appetite
  5. Static Analysis
  6. Dynamic Analysis
  7. Risk-Based Security testing
  8. Fuzz Testing (Whitebox vs Blackbox)
  9. Penetration Testing (Whitebox vs Blackbox)
  10. Attack Surface Review
  11. Code audits
  12. Independent Security Review

Exercise: Testing Software for Security

Part 7: Releasing & Operating Secure Software

  1. Incident Response Planning
  2. Final Security Review
  3. Release Archive
  4. OS Protections:
    1. Address Space Layout Randomization
    2. Non-Executable Stacks
    3. W^X
    4. Data Execution Prevention
  5. Monitoring
  6. Incident Response
  7. Penetration Testing

Exercise: A Secure Software Release

Part 8: Making Software Development More Secure

  1. Process Review
  2. Getting Started
  3. Priorities

Exercise: Your Secure Software Plan

Applying Enterprise Business Architecture

Part 1: Business Architecture Organizational Maturity & Roles

Organizational and individual expectations will be set for the workshop. The roles and competencies relevant to the business architecture activities will be discussed. Is your organization ready to support the effort?

  1. What to Expect
  2. Enterprise Support
  3. Business Architecture Maturity Levels
  4. Business Architecture Capabilities
  5. Business Analyst and Architect Synergy
  6. What Do Architects Do
  7. More Advanced Competencies

Activity: Competency Assessment

Part 2: Understand the Enterprise & Business Architecture Key Concepts

The value proposition for building a business architecture and industry best practices will be introduced. This information can also be used to sell the business architecture concept to the enterprise.

  1. The Shift: Strategic to Tactical
  2. Part of the Enterprise Architecture
  3. Benefits of Aligning Architectures
  4. What is Business Architecture
  5. Capture the Knowledge in Blueprints
  6. Build Relationship Maps for Decision Making
  7. Outcome Driven Business Architecture
  8. Why Have a Business Architecture?

Activity: Tactical or Strategic, Selling the Business Architecture

Part 3: Bodies of Knowledge and Frameworks

There are many frameworks that exist that can provide guidance for building the business architecture. But what is out there, what are the benefits and challenges of each and how do I know which combination is right for me? We will provide you with guidance to help you make that decision.

  1. Frameworks Overview
  2. Zachman Framework
  3. TOGAF®
  4. DODAF
  5. FEA
  6. Relevant Bodies of Knowledge
  7. BABOK®
  8. BIZBOK®

Activity: Which Framework to Apply

Part 4: Common Architectural Building Blocks

There are some common elements to business architectures regardless of the framework that should be considered. We will step through those elements or building blocks.

  1. Architecture Requirements
  2. Architecture Boundaries
  3. Applying the Context Diagram and Solution Views
  4. Architecture Structure
  5. Which Components, Relationships and Views
  6. Modeling Hints and Tips
  7. Notations and Modeling Languages
  8. BIZBOK®

Activity: Stakeholder Views, Building Blocks Reality Check, Name Two Quiz

Part 5: Set the Stage: Understand the Business

Understanding the business is critical to the business architecture’s success. This needed business information can be presented in different ways. We will look at a few of the most common ways this information is or can be captured and used to build your business architecture.

  1. Needed Inputs to the Business Architecture
  2. Business Model Canvas and Benefits of Asking Business Model Questions
  3. Strategy and Benefits of Asking Strategy Questions
  4. Balanced Scorecard
  5. Business Operating Model
  6. Identifying Business Scenarios
  7. Assess Maturity and Capabilities

Activity: Applying Business Model & Business Operating Model, True or False Quiz

Part 6: Create a Roadmap

There is a general approach to creating a business architecture that we will logically step through, but many elements should still be considered to tailor the approach. We will look at both so you can develop your own roadmap to success.

  1. Architecture Development
  2. Define Boundaries and Analyze Stakeholders
  3. Select Components, Frameworks and Notations
  4. Identify Elicitation, Analysis Techniques and Tools
  5. Why Approaches Vary
  6. Create a Business Case
  7. Present to Management
  8. Presenting Complex Content

Activity: Agenda for Future State Model, Challenge Scenario, Prepare for Building

Part 7: Build the Knowledgebase

  1. Leverage What You Have – Existing Assets
  2. Adding More Models and Maps
  3. Organizational Model
  4. Functional Decomposition Model
  5. Swim Lane and Value Streams
  6. Business Capabilities and Services
  7. Relationship and Alignment Maps

Activity: List Business Capabilities, Which Maps, Pick One Quiz

Part 8: Use the Business Architecture

  1. Business Architecture Engagement Model
  2. Sell to the Enterprise
  3. Adoption Assessment and Organizational Acceptance
  4. Get Others to Leverage the Business Architecture
  5. Quickly Build Trust with Stakeholders
  6. Be an Advisor, Find Opportunities
  7. Connect to Tactical Projects
  8. Reusing Organizational Assets

Activity: Reuse Examples, Lessons Learned

Software Tester Certification Boot Camp

Part 1: Course and Exam Overview

  1. ISTQB and ASTQB overview
  2. Exam format
  3. Study and exam-taking tips
  4. Course flow and agenda topics
  5. Outline of the daily schedule (varies on day 3)
  6. Explanation of supplementary material

Part 2: Fundamentals of Testing

  1. Testing overview and key terminology
  2. Common testing principles
  3. Basic test process
  4. Psychology of testing
  5. Code of ethics
  • Interactive Session: Testing missions and test objectives
  • Pop Quiz: Seven testing principles
  • Interactive Session: Context drivers for testing

Part 3: Testing throughout the Software Life Cycle

  1. Software development models
  2. Test levels and test types
  3. Maintenance testing
  • Interactive Session: Understanding test impacts of software development models
  • Interactive Session: Illustrating verification and validation for better understanding
  • Interactive Session: Linking test levels with entry and exit criteria
  • Interactive Session: Compare and contrast black box and white box testing
  • Interactive Session: Understanding goals, targets, and issues within test levels
  • Interactive Session: Compare and contrast test types using examples

Part 4: Test Management

  1. Test organization
  2. Planning and estimation
  3. Progress monitoring and control
  4. Configuration management
  5. Risk and testing
  • Incident management
  • Pop Quiz: Understanding project constraints
  • Pop Quiz: Test team organizational structures
  • Pop Quiz: Driving more accurate test estimates
  • Pop Quiz: Choosing a test approach
  • Interactive Session and Pop Quiz: Performing risk assessment
  • Pop Quiz: Identifying incidents
  • Hands-on Exercise: Write an incident report
  • Hands-on Exercise: Perform a review session
  • Interactive Session: Developing oracles

Part 5: Test Design Techniques

  1. The test development process
  2. Specification-based techniques
  3. Structure-based techniques
  4. Experience-based techniques
  5. Selecting test techniques
  • Pop Quiz: Using specification-based techniques
  • Interactive Session: Review tests designed with equivalence partitioning
  • Hands-on Exercise: Use equivalence partitioning as a test design method
  • Hands-on Exercise: Use boundary value analysis to create tests
  • Interactive Session: Analyze and map out complex logic in requirements
  • Hands-on Exercise: Use a decision table to develop tests
  • Interactive Session: Walk through a state model
  • Hands-on Exercise: Use a state model to build tests
  • Pop Quiz: Use case basics
  • Interactive Session: Generate tests from use cases
  • Interactive Session: Analyze code flow with control flow diagrams
  • Hands-on Exercise: Develop structural tests for code and analyze coverage
  • Pop Quiz: Differentiate experience-based techniques
  • Pop Quiz: Choose a test technique

Part 6: Static Techniques

  1. Static testing techniques
  2. The review process
  3. Static analysis by tools
  • Review test sets to evaluate test design*
  • Perform a peer review and feedback session (these practice sessions are embedded elsewhere to perform reviews on real targets)

Part 7: Tool Support for Testing

  1. Types of tools
  2. Effective use of tools
  3. Introducing tools into an organization
  • Pop Quiz: Test frameworks
  • Pop Quiz: Understanding probe effect
  • Pop Quiz: Pros and cons of tools
  • Pop Quiz: Piloting a tool

Part 8: Course Wrap-up

  1. Exam tips, procedures, and guidelines
  2. Exam cram
  • Open review session
  • Practice exam review

At the conclusion of the software testing training course, you will have the opportunity to take the ISTQB™ Certified Tester —Foundation Level exam. The exam is held at 3:30 p.m. on the third day of the course. The ISTQB™ Certified Tester —Foundation Level certification exam is independently administered by the American Software Testing Qualifications Board, Inc. (ASTQB).

Effective User Acceptance Testing

Part 1: What UAT Is and Is Not

  • We will begin by describing how UAT differs from other software testing and how it fits into various software development lifecycles (including Waterfall and Agile). Along the way, we'll define a variety of key terms and identify the players.

Part 2: Understanding the Business Need

  • Business Need has many dimensions from correct computations to ease of use. We will explore each of those dimensions so you can ensure that your UAT addresses each of them in an appropriate way.

Part 3: What Could Go Wrong?

  • Of all the things we could test, which should we focus on? We will apply Risk-Based testing to focus our UAT where it will be most valuable.

Part 4: "U" is for User

  • Effective UAT includes testing from the standpoint of all of the users (both active and passive ones). We will discuss ways to identify all of the users and ensure that their viewpoints are included in our UAT.

Part 5: Incremental UAT

  • UAT is usually the final gate before deployment, but any problems found at that point in the project can be costly and time-consuming to correct. So we will introduce an incremental approach to UAT that can be integrated into any software development lifecycle (even Waterfall). This incremental approach enables you to identify issues earlier (when they are easier to fix), and reduces the likelihood of unpleasant surprises at the project's end.

Part 6: Preparing Test Data

  • Good tests require appropriate test data. We will discuss how to identify and prepare test data that will enable good Acceptance Testing. Along the way we will discuss the limitations, dangers and (in some cases) illegality of using production data for testing, and we will look at options for addressing those issues.

Part 7: The Acceptance Test Plan

  • As the old adage says, "Fail to plan; plan to fail." The plans for UAT will be different from those for other testing activities. We will provide guidance for UAT plans, including how to find the "sweet spot" of providing enough guidance to ensure effective and repeatable tests, while enabling the testers to exercise the system as they will use it after it is deployed.

Part 8: Performing UAT

  • Testing is more than just using a computer. We will provide guidance for how Acceptance Testers should operate while performing UAT. We will discuss following UAT plans as well as going beyond them to explore how the system works. We will also discuss evaluating test results, reporting issues and raising questions.

Part 9: "A" is For Acceptance

  • We will finish with a discussion of deciding if the system is acceptable or not. We will explore this both from each tester's perspective, and for UAT as a whole. Along the way, we will talk about "minor" defects, unresolved issues, and what it means for the system to be "good enough" in a particular context.

Agile Testing (ICP-TST)

Part 1: Agile Testing Mindset

Much like Agile itself, many of the Agile testing techniques where espoused well before the Agile Manifesto was created. But Agile testing is much different from testing performed during traditional software development approaches. This topic anchors the ideas of Agile testing in earlier work, while also providing insight into the major differences between Agile testing and testing performed as part of traditional (phased-based) software development.

The 12 Principles of the Agile Manifesto establish guiding principles for not only the Agile movement but Agile testing as a discipline. The Agile mindset includes: Quality is not “owned” by a particular role in Agile; Testers become facilitators of the team’s quality efforts; Agile testing provides critical insights and feedback into the software process. This topic helps learners understand how the Agile Manifesto is realized within an Agile testing process and approach, and to adopt the requisite Agile mindset.

  1. Overview of Agile Testing
    • Origins of Agile Testing
    • Agile Testing vs. Traditional Approaches
  2. Mindset & Culture
    • Agile Testing Principles
    • Whole Team Approach
    • Building Quality In
    • Continuous Improvement and Feedback
    • Ingraining The Agile Testing Mindset (Hands-on Exercise)

Part 2: Testing Techniques

Testing activities can be broken into various categories (or Quadrants) of testing based on their purpose and value. Automated testing can be performed at various levels (the automation pyramid) within a software application, and appropriate testing techniques must be applied to each. This topic provides the learner with a sound understanding of the purpose of various categories of testing, opportunities for automation, and testing techniques so they can be applied appropriately and at the right time within an Agile environment.

Developer testing of individual software units and associated components is critical to detecting implementation defects within the software. Unit and component tests are leveraged within TDD as well. This topic helps the learner to thoroughly understand the purpose and approach to successfully implementing unit and component testing on Agile projects and how testers support developer testing during development cycles.

Test-Driven Development (TDD) and its derivatives, Acceptance Test-Driven Development (ATDD), Behavior-Driven Development (BDD) and Spec by Example are techniques for assuring that Stories are implemented in a manner that satisfies the customers’ needs. This topic helps the learner to thoroughly understand the purpose and approach to successfully implementing these techniques on Agile projects.

Testing of User Stories is critical to successful development of software within an Agile project. This testing is often performed using the techniques above but can be done in other ways as is appropriate or necessary. This topic enables the learner to thoroughly understand the various options for testing User Stories during software development; this is an extension to ATDD to include boundary conditions and other types of testing such as exploratory testing.

  1. Categories of Testing
    • Agile Testing Quadrants of Categories
    • Automation Pyramid – Introduction
    • Testing Techniques
  2. Collaborating with Developers
    • Unit and Component Testing
    • Pairing Between Developer and Tester
  3. Example Driven Development
    • Acceptance Test-Driven Development (ATDD)
    • Behavior-Driven Development (BDD)
    • Spec by Example
  4. Feature and Story Testing
    • User Story Testing
    • Feature Testing
    • Exploratory Testing
    • Non-Functional Testing

Part 3: Agile Testing Process

Testing during an Agile project is team-oriented, so it is common for every member of the team to provide some level of testing support. This includes the Product Owner and other Business Representatives and the programmers in addition to the testers. This topic provides the learner with an understanding that within an Agile project, the entire project team is responsible for testing activities, with a specific focus on how this affects specific roles.

Lightweight planning and documentation are typical of Agile projects. The best Agile projects do just enough planning and documenting to support project activities and the needs of the end users. This topic provides the learner with an understanding of how lightweight test strategy and planning is performed on Agile projects, and how decisions are made regarding what type of test documentation, records, metrics, and reports are needed and how much is enough.

Agile projects employ a variety of techniques around the delivery of the product, including Time-boxed Iterations and Continuous Delivery, that all have a very strong focus on testing. This topic helps the learner to appreciate all of the various ways that testing is used in the “End-Game” activities (which don’t just happen at the end of the Agile project!)

Multiple environments are often necessary to support testing activities during iterations and the release process. This topic provides the learner with an understanding of the typical test environments that must be set up and maintained to support testing activities during iterations and releases and how the product must be managed as it progresses through those environments.

Distributed teams are a fact of life in most organizations and must be dealt with to make Agile testing initiatives successful. This topic provides the learner with an understanding of how communication and coordination of testing activities can be most effective on distributed teams.

  1. Roles and Responsibilities
    • Team-Based Testing Approach
    • Typical Business Representative Role in Testing
    • Typical Programmer Role in Testing
    • Typical Tester Role in Testing
    • Role of Test Managers in Agile
  2. Test Strategy and Planning
    • Different Strategies Based on Levels of Precision
    • During Iteration Planning/Kickoff
    • Lightweight Test Plan Documentation
    • Defect Tracking and Management
    • Results Reporting
    • Test Metrics
    • Regression Tests
  3. Successful Delivery
    • Time-Boxed Delivery
    • Continuous Delivery
    • Post-Development Test Cycles
    • Iteration Wrap-Up
    • Definition of a Release/End Game
    • User Acceptance Test (UAT)
    • System-Wide and Cross-Team Testing
    • Post-Release Testing
    • Documentation for Regulatory Requirements
  4. Test Environments and Infrastructure
    • Typical Environments for Test
    • Build Pipeline
    • Automated Builds
    • Testing the Proper Build
    • Test Data Management
  5. Working on Distributed Teams
    • Distributed Team Communication
    • Distributed Team Coordination