Course Outline
Pre-Requisites
None.
Lessons
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
Cancellation Policy
If a change needs to be made to your public course registration (cancel, transfer, or substitution) ASPE must receive written notice via email at customerservice@aspeinc.com or fax at 919-816-1710. If a cancel or transfer request is made less than 15 business days prior to the class start date, payment will still be due, no refunds will be issued and you will be charged a $200 change fee. Your paid tuition will be available for one year to be used as a credit towards another course of equal value; only one reenrollment opportunity is allowed. Failure to attend the course without written notification will result in forfeiture of the full course price. Student substitutions may be made at any time prior to the start of class free of charge. If ASPE is forced to cancel a course for any reason, liability is limited to the registration fee only.
Training Location
Virtual
Your Address
Your City,
Your Province
Your Country