Course Overview
Software testing on an Agile team is fundamentally different than traditional approaches to testing. This three-day course will introduce you to contemporary testing principles and practices used by Agile teams to deliver high-quality increments of software on regular iterations.
Key Learning Areas
- Visual Studio Online
- Team Projects
- Managing a backlog
- Planning a sprint
- Creating a test case
- Reporting a bug
- Create and run a unit test
- Calculate code coverage
- Concurrent testing (NCrunch)
- Microsoft Test Manager
- Coded UI tests
- Web performance tests
- Load tests
- Exploratory testing
- Automated builds
- Visual Studio Agents
Course Outline
This course contains several models, each covering a different set of Agile practices and related tools.
Agile Software Development
- Agile values and principles, the Scrum framework
- Cross-functional teams, Agile testing behaviors
Agile Software Requirements
- Requirements vs. specifications, acceptance criteria, and estimation
Planning and Tracking Quality
- Forecasting and planning a sprint, defining done, reporting bugs
Development Tests
- Unit testing, code coverage, Test-Driven Development (TDD)
Acceptance Tests
- Acceptance testing, integration testing, UI testing
- Performance testing, load testing, non-functional requirements
- Acceptance Test-Driven Development (TDD)
Exploratory Tests
- Exploratory testing, testing “tours”
Build and Test Automation
- Automated building and testing, Continuous Integration (CI)
Getting Done
- Overcoming common dysfunctions, attributes and behaviors of high-performance Agile teams
Who Benefits
This course is appropriate for all members of a software development team, especially those team members performing testing activities – regardless of skill level. This course also provides value for non-testers (managers, Scrum Masters, coaches, etc.) who want a better understanding of what Agile software testing involves.
You should take this class if any of these issues sound familiar:
- Release dates and budgets are missed due to low quality and bugs
- Testing activities are performed at the end of the sprint/iteration or release
- No collective ownership or collaboration exists between the developers and testers
- The team tests the wrong things at the wrong time
- No automated tests, no regression tests, and no idea of the quality of your software!
Prerequisites
No technical skills or experience are required. Knowledge of Agile and Scrum is a plus.