Automated Testing: End to End
Keep your software soft with the right automated tests at the right level.
What you'll learn
We shouldn't live in fear of our code. Long-term customer satisfaction, product agility, and developer happiness are crucial. A quality suite of automated tests helps achieve this. This practical course covers how and what to test at the unit, integration, and functional UI levels; and how to bring them all together with continuous integration build server.
Table of contents
- Module Overview 1m
- Introducing Unit Testing 3m
- Good Practices 3m
- What Makes a Good Unit Test? 2m
- The Three Conceptual Phases of a Test 2m
- Examples of Bad Unit Tests 2m
- Introducing Testing Frameworks 4m
- NUnit Fundamentals 2m
- Demo: Writing and Running Your First NUnit Unit Test 7m
- Advanced NUnit 7m
- TDD and Unit Testing 2m
- State-based and Interaction-based Unit Tests 3m
- Testing in Isolation using Fakes 4m
- Demo: State-based Testing with Moq 8m
- Demo: Interaction-based Testing with Moq 4m
- Demo: State-based Testing with Configured Moq Behaviour 3m
- Module Summary 1m
- Module Overview 1m
- Introducing Integration Testing 2m
- Good Practices 2m
- Different Levels of Integration Testing 1m
- The Importance of Dependency Inversion 2m
- Testing Internal Classes Work Together 1m
- Demo: Testing Internal Classes Work Together 7m
- Testing External Component Interaction 2m
- Isolating External Components with the Gateway Design Pattern 2m
- Demo: Testing External Component Interaction 6m
- Testing Internal Logical Subsystems 1m
- Demo: Testing Internal Logical Subsystems 4m
- Testing Internal Application Service Layer 2m
- Demo: Testing Internal Application Service Layer 2m
- Demo: Refactoring the Subsystem Test 5m
- The Right Mix of Integration Tests 2m
- Module Summary 1m
- Module Overview 1m
- Introducing Functional UI Testing 3m
- Choosing a UI Automation Tool 4m
- Introducing the WatiN Web Application Testing Framework 1m
- WatiN Fundamentals 6m
- Demo: Writing Our First Functional UI Test with WaitN 8m
- The Physical Object Model (POM) Style 2m
- The Logical Functional Model (LFM) Style 2m
- Demo: Creating POM Style Tests 10m
- Demo: Refactoring to LFM 5m
- Advanced Considerations 2m
- Module Summary 1m
- Module Overview 1m
- Introduction to Continuous Integration 2m
- What’s a Build Pipeline? 2m
- Our Build Pipeline: Overview 1m
- Introducing the TeamCity Build Server 3m
- Our Build Pipeline: Phase One 2m
- Demo: Pipeline Phase One - Building the Banking Site 8m
- Demo: Pipeline Phase One - Running Unit Tests 3m
- Demo: Pipeline Phase One - Running Integration Smoke Tests 3m
- Demo: Pipeline Phase One - Deploying Banking Site to Test Server 3m
- Demo: Pipeline Phase One - Running UI Smoke Tests 3m
- Our Build Pipeline: Phase Two 1m
- Demo: Pipeline Phase Two - Running Full Integration Tests 5m
- Our Build Pipeline: Phase Three 1m
- Demo: Pipeline Phase Three - Running Full UI Tests 3m
- Advanced Considerations 2m
- Module Summary 1m
Course FAQ
One of the greatest advantages to automated testing is early detection of defects. Defects become more and more expensive to fix when found later and can damage user trust.
Automated testing shouldn't completely replace manual human testing. Both automated and manual testing have their strengths and weaknesses but automated testing can significantly streamline operations.
This course is great for both independent developers and leaders who want to improve their processes.
This practical course covers how and what to test at the unit, integration, and functional UI levels; and how to bring them all together with continuous integration.
You don't need to have taken any test automation training courses previously, by the end of this course, you'll have learned the principles and practical application of automated testing and be able to apply them to your own projects.