Duration
4 days
OVERVIEW
The Test-driven Development training course delivers a hands-on view into how TDD can be used by developers, project managers, and the quality assurance teams to create higher quality software.
Ensuring every student has the same understanding of standard software testing procedures, the TDD training course begins with an examination of common test terminologies, practices, benefits, and pitfalls. The course then moves into a discussion on the theory and practice of test-driven development, the applicability of TDD in modern software development paradigms and how it can be leveraged within different software engineering processes.
Once the foundation has been laid, the Test-driven Development course transitions into a hands-on learning lab, where students learn the processes and practices of test-driven development in the creation of a basic application.
The Test-driven Development can also be delivered as a 3-day workshop, focused on helping apply TDD within your own project.
BENEFITS
- Understand software testing concepts: Unit test, regression test, integration test, user acceptance tests, continuous testing, etc.
- Describe the testing process: Defining a test plan, implementing the plan, measuring the success
- Understand and implement the test-driven development process: Define test, implement test, define functionality, implement functionality, test, refactor, repeat
- Set up a test-driven development infrastructure
- Define and execute a test plan using testing framework
- Working with continuous and integration testing tool
- Incorporate TDD into your organization: Advice, tips, tricks, and pitfalls
DAY 1
What Is Test-driven Development?
- Why Adopt TDD
- Benefits of TDD
- The history and value of TDD.
- The five practices that comprise TDD
- Impact of Adopting TDD
How Do I Adopt TDD?
- The Test-First mindset, and using it as Just-In-Time problem analysis.
- Refactoring as Just-In-Time design.
- Emergent Design and simple design
- Infrastructure Changes Required
- Adoption Planning
- Measuring and Monitoring Adoption
- Adjusting
DAY 2
Testing Concepts
- Test Plans, Cases, and Suites
- Unit Testing
- Integration Testing
- Continuous Testing
- Robustness Testing
- Acceptance Testing
Test-driven Development Concepts
- Test-driven Development
- Where to Begin TDD
- TDD Patterns
- TDD Best Practices
Testing Tools
- Unit and Integration Testing
- Automated Testing
- Continuous Testing
- Robustness Testing
- Code Coverage Analysis
Refactoring
- What is Refactoring?
- Refactoring Concepts and Best Practices
- Identifying and Implementing Potential Re-factorings
- Testing Refactored Code
DAY 4
Web Tier Testing
- Automated UI Testing (Functional Testing)
- Automated Load Testing
- Unit Testing
- Out-of-container Unit Testing (Middle-Tier)
- In-container Unit Testing
Testing Legacy Code
- What to Do With Legacy Code
- Common Approaches for Testing Legacy Code
- Exploring Dependencies
- Creating Loose Couplings
Continuous Integration Testing
- What Is CI?
- Setting Up a CI Environment
- Incorporating Tests Into the CI Environment
NoteActivities on high team interaction and role-plays will be incorporated during training session with all participants to further facilitate and strengthen candidates understanding on Test Driven Development concepts and methodology in an overall manner.
Programme scope, delivery arrangements and suitability are confirmed during enquiry.