PMI: 14 PDUs
Transition sound traditional test practices into an Agile development environment. Just enough, just in time, with responsive high level quality.
Learn how to:
- Understand the key differences between traditional and Agile Testing practices
- Develop a transition plan to move from traditional test practices to Agile testing
- Construct a Lean Testing Framework to expedite Agile delivery
- Operate in a time constrained development cycle without losing testable value
- Develop Iteration 0 Test Plans that guide test design development
- Use High Speed test methods to supplement and support story-based testing practices (Exploratory, Pairwise, Pareto techniques)
- Capitalize on Test Development through Use & Reuse Management
- Integrate Team Testing into Agile Projects
- Build Lean Test Artifacts for Regression Testware
- Engage stakeholders in quality trade-off decision-making
- Coach story card contributors in test case construction
- Gain exposure to automation support opportunities
By using a step-by-step approach, this course will document how to transition from traditional test practices to an Agile testing approach. Learning the goals of Agile will help you transition, implement and monitor testing in the High Speed Agile Testing environment.
Agile principles add value to your organization.
Building on traditional risk based test practice we are now being challenged by incremental delivery. To address, and not inhibit, we examine the concept of pair testing. Strengthening relationships, in a team setting, helps to build a sense of common purpose. Working in parallel eliminates hand-offs, late stage testing, and an opportunity for incremental confirmed component delivery. This program builds on what we know, and adapts to what we have… Agile delivery. Traditional methods become a barrier under new development methods and place further pressure on the test team to feel a sense of value compromise. The new found, high speed test delivery, opens new areas of opportunity to build strength in product quality, process improvement and test confidence.
Learn to transition to Agile testing practices across the entire release cycle.
Despite changes in methods and approaches we continually slide back into old test habits. Often we leave methods behind, rather than transition from them. We throw everything away and do a wholesale replacement without putting to bed the reasons for change. Most testing works but only within the development context that it was framed. The program will reflect tradition against Agile testing, what changes we must make and the role that we will play. Testing is not a service but an integrated part of the development team.
Acquire the practical skills and knowledge to successfully test an Agile software project.
The 2-day program will introduce you to high speed methods, and explore their use so that you can immediately step from the classroom into the office with new found confidence. We will discuss transition, roles, methods and technologies that can be relied upon to deliver speed and optimum flexibility. You will start to feel a new sense of flexibility, confidence and enthusiasm (maybe for the first time in your entire development career).
Immediate Benefits of Participating in this Workshop
- Understand how to transition your traditional testing methods to an Agile High Speed Test approach.
- Understand the level of adaptation of traditional test methods based on a changing development context.
- Address risk as a foundation for project delivery and use to focus resources.
- Understand how much and where to thin your test process for speed without loss of certainty (Lean Testing).
- How Lean principles apply Just-in-Time and Late-as-Possible techniques for creating efficient workflow.
- Develop the skills and the team to effectively conduct Exploratory testing.
- How to utilize defect and delivery knowledge as a means of a rapid Pareto base that can be relied upon by testers, development teams and management.
- Learn how to estimate test effort, not as a separate project component, but as an integrated part of the Agile project estimates.
- Acquire appreciation for the role of automation as an expedient support tool.
- Understand the concept of Pairwise testing and how a subset of our test suite, when pragmatically developed, can return a higher confidence yield.
- Exposure to a proper understanding of the Agile team role and how it places a challenge on traditional, end-stage service delivery.
- Low cost and highly effective tools for the tracking and managing of testing resources across the entire development team.
- Exposure to collaborative development vehicles to facilitate test resource coordination (SharePoint,Wiki, Agile project tools…).
- Embrace UserStories and how these micro requirement documents bear significant contributory value for testers.
- How to utilize skeletal design to form a framework for test suite development, management and use for regression testing.
- Gain insight into the power of testing and Entrance / Release criteria as an effective tool for workflow efficiency.
- Develop an approach that will ensure regression test capabilities arising from the Agile testing enterprise.
- Understand the value of 'chunks' as a way of managing work delivery and facilitate result summation.
- Open and commercial tools that should/could be used to support testers.
- Become aware of the shift in roles in the development-test-business owner community and how collaborative delivery makes sense.
- Learn how to improve the requisite skill sets you and your team will need to become truly adaptable and agile.
- How to recover defect costs through knowledge utilization — know where to farm for errors or the absence of errors.
- Build speed and flexibility in a wide array of project development scenarios, not just Agile projects.
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
- 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
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