Agile Testing

This (2-days public, 3-days online) program will contrast traditional vs. Agile testing, the necessary changes and the roles each play in testing.

Course Outline

Delivered by ASPE, ICAgile Member Organization

Transition sound yet traditional test practices into an Agile development environment and achieve responsive high-level quality.

Using a step-by-step approach, this course documents how to transition from traditional test practices to an Agile testing approach. Quickly master the goals of the Agile transition, then implement and monitor testing in the high-speed Agile testing environment. Once and for all, break the cycle of continually sliding back into old test habits and align your testing with a smooth Agile transition.

Acquire the practical skills and knowledge to successfully test an Agile software project. Get informed on transition, roles, methods and reliable technologies. Get an introduction to high-speed methods, explore their use, and immediately return to the office with new found confidence and skills.

You Will Learn:
-Agile Testing
-Testing Practices
-Quality Practices
-Pairing and Collaboration
-Unit Testing & Test Driven Development
-Continuous Integration
-Acceptance Testing
-Functional Testing Web Applications
-Hands-On Critiquing the Product
-User Acceptance Testing
-Using Tools to Test Complexity and Critique the Product
-High-Speed Testing Techniques
-Iterating to Testing Agility

 

I. Agile Testing
We will discuss the testing and it's role in software quality. Quality is the collective responsibility of the team from business analyst to developer to tester to customer. Traditional waterfall "over-the-wall testing" can be inefficient and frustrating. We will discuss typical challenges and pitfalls in this traditional approach and start to contrast how Agile Teams test differently.

 

  • Poor Quality creates Drag
  • Integrating the Team into an Agile Testing mindset
  • Understand hard & soft constraints to adopting Agile Testing
  • Getting the Customer to participate in Quality decisions

II. Testing Practices

The benefits that various types of testing provide to the team will be reviewed. Additional discussion will focus on the how and what to automate to shorten feedback cycles.

  • Testing Quadrants
  • Automation
  • Unit Tests
  • Integration Tests
  • Acceptance Tests
  • Functional Tests

III. Quality Practices

Understanding that getting feedback is as important as testing. We will discuss techniques that provide feedback on the quality of software and the effectiveness of the process.

  • Pairing & Collaboration
  • Inspections
  • Reviews
  • Demos

IV. Unit Testing & Test Driven Development (TDD)

We will introduce Unit Testing and Test Driven Development. The benefits and process of TDD and how it can lead to better overall design and simplicity and engage the Developer in the test processing will be discussed.

  • Unit Testing Principles
  • Test First vs. Test Last
  • Unit Testing Legacy Applications
  • TDD Rhythm: Red, Green, Refactor
  • TDD influence on Design
  • Supporting Continuous Refactoring

V. Continuous Integration

The concept of Continuous Integration and the CI Attitude will be discussed. Continuous Integration provides an essential role in maintaining a continuous process for providing feedback to the team.

  • Discuss the Attitude of Continuous Integration
  • Benefits & Practices of Continuous Integration
  • Continuous Feedback
  • Continuous Builds
  • Continuous Inspections
  • Continuous Testing
  • Continuous Deployments

VI. Acceptance Testing

The discipline of Acceptance Testing can lead to better collaboration with both the customer and the team. Automating Acceptance Tests can provide an invaluable tool to support the creation higher quality software and continue to support the team from story to story and sprint to sprint.

  • Acceptance Criteria
  • Writing Acceptance Tests
  • Acceptance Test Driven Development
  • Automating Acceptance Tests
  • Behavior Driven Development

VII. Functional Testing Web Applications & Web Services

As we develop a functioning application we can perform higher-level and coarser grained functional tests. Functional testing software, web applications and web services will be explored.

  • Functional Testing Applications
  • Testing Web Applications
  • Testing Web Services

VIII. Hands-on Critiquing the Product

Everything can't be automated, nor should it. We will discuss manual technique that will help us critique the product and provide valuable feedback. We will discuss when and how these testing techniques should be used effectively.

  • Exploratory Testing
  • Scenario Testing
  • Usability Testing
  • User Acceptance Testing

IX. Using Tools to Test Complexity and Critique the Product

Tools can be used to testing complex, critical attributes of the software. We will discuss when and tools should be used to test the complex, critical qualities of software.

  • Performance & Load Testing
  • "ility" Testing
  • Security Testing

X. High-Speed Testing Techniques

We'll introduce some techniques that can speed the testing process and provide faster feedback to the team and customer.

  • Risk Based Testing
  • Pairwise Testing
  • Pareto Technique

XI. Iterating to Testing Agility

How do we ever get there? We will discuss pragmatic techniques to iterate your team and organization to Testing Agility. We will discuss and craft a roadmap for your team and organization based off the practices and techniques discussed.

  • Prioritize regularly
  • Realize Constraints
  • Challenge Constraints
  • Keep moving forward
  • Automate, Automate, Automate
  • Roadmap & Planning

I. Agile Testing
We will discuss the testing and it's role in software quality. Quality is the collective responsibility of the team from business analyst to developer to tester to customer. Traditional waterfall "over-the-wall testing" can be inefficient and frustrating. We will discuss typical challenges and pitfalls in this traditional approach and start to contrast how Agile Teams test differently.

  • Poor Quality creates Drag
  • Integrating the Team into an Agile Testing mindset
  • Understand hard & soft constraints to adopting Agile Testing
  • Getting the Customer to participate in Quality decisions

II. Testing Practices

The benefits that various types of testing provide to the team will be reviewed. Additional discussion will focus on the how and what to automate to shorten feedback cycles.

  • Testing Quadrants
  • Automation
  • Unit Tests
  • Integration Tests
  • Acceptance Tests
  • Functional Tests

III. Quality Practices

Understanding that getting feedback is as important as testing. We will discuss techniques that provide feedback on the quality of software and the effectiveness of the process.

  • Pairing & Collaboration
  • Inspections
  • Reviews
  • Demos

IV. Unit Testing & Test Driven Development (TDD)

We will introduce Unit Testing and Test Driven Development. The benefits and process of TDD and how it can lead to better overall design and simplicity and engage the Developer in the test processing will be discussed.

  • Unit Testing Principles
  • Test First vs. Test Last
  • Unit Testing Legacy Applications
  • TDD Rhythm: Red, Green, Refactor
  • TDD influence on Design
  • Supporting Continuous Refactoring

V. Continuous Integration

The concept of Continuous Integration and the CI Attitude will be discussed. Continuous Integration provides an essential role in maintaining a continuous process for providing feedback to the team.

  • Discuss the Attitude of Continuous Integration
  • Benefits & Practices of Continuous Integration
  • Continuous Feedback
  • Continuous Builds
  • Continuous Inspections
  • Continuous Testing
  • Continuous Deployments

VI. Acceptance Testing

The discipline of Acceptance Testing can lead to better collaboration with both the customer and the team. Automating Acceptance Tests can provide an invaluable tool to support the creation higher quality software and continue to support the team from story to story and sprint to sprint.

  • Acceptance Criteria
  • Writing Acceptance Tests
  • Acceptance Test Driven Development
  • Automating Acceptance Tests
  • Behavior Driven Development

VII. Functional Testing Web Applications & Web Services

As we develop a functioning application we can perform higher-level and coarser grained functional tests. Functional testing software, web applications and web services will be explored.

  • Functional Testing Applications
  • Testing Web Applications
  • Testing Web Services

VIII. Hands-on Critiquing the Product

Everything can't be automated, nor should it. We will discuss manual technique that will help us critique the product and provide valuable feedback. We will discuss when and how these testing techniques should be used effectively.

  • Exploratory Testing
  • Scenario Testing
  • Usability Testing
  • User Acceptance Testing

IX. Using Tools to Test Complexity and Critique the Product

Tools can be used to testing complex, critical attributes of the software. We will discuss when and tools should be used to test the complex, critical qualities of software.

  • Performance & Load Testing
  • "ility" Testing
  • Security Testing

X. High-Speed Testing Techniques

We'll introduce some techniques that can speed the testing process and provide faster feedback to the team and customer.

  • Risk Based Testing
  • Pairwise Testing
  • Pareto Technique

XI. Iterating to Testing Agility

How do we ever get there? We will discuss pragmatic techniques to iterate your team and organization to Testing Agility. We will discuss and craft a roadmap for your team and organization based off the practices and techniques discussed.

  • Prioritize regularly
  • Realize Constraints
  • Challenge Constraints
  • Keep moving forward
  • Automate, Automate, Automate
  • Roadmap & Planning

Training Location

Virtual
Your Address

Your City, Your Province
Your Country