Test Driven Development (TDD), and Refactoring Legacy Code Using C#
Duration: 4 Days (Face-to-Face or Remote-Live), or 28 hours of coursework with personal facilitation over a four week span (On-Demand)
US Price: $2095 (Face-to-Face or Remote-Live), or $1495 (On-Demand)
Delivery Options: Attend face-to-face in the classroom, remote-live or via on-demand training
Registration: Click here to view upcoming schedules and register for face-to-face sessions, click here to register for live remote attendance sessions, or click here to register for on-demand training with a start date that is convenient for you.
Description
This course provides students with hands on experience learning Test Driven Development (TDD) using NUnit and Microsoft's Visual Studio. Students build unit tests using mocks, fakes, stubs and drivers, and address issues working with databases and other systems. Students learn how to create tests that assure that code will meet and exceed requirements. The course shows how regression testing assures that code that receives “test coverage” will not break existing systems, because tests are passed before code is checked in.
Students spend time working with the issues involved in refactoring legacy code, safely cutting into an already deployed system. Students are shown how to look for, or create “seams” to more safely improve code or add features, and work on identifying “code smells” that need attention in a productive system. Finally, students will explore dependency issues as well as techniques to better understand and improve complex systems.
Comprehensive labs using C# provide facilitated hands on practice that is crucial to the development of competence and confidence with the new skills being learned.
Prerequisites
C# programming experience and an understanding of object-oriented design principles. The Learning to Program with C# course or equivalent knowledge provides a solid foundation.
Course Overview
Why TDD? Think Twice, Write
Production Code Once
|
Basic Unit Testing
|
Comprehensive Unit Testing Concepts
|
Mocks, Fakes, Stubs and Drivers
|
Database Unit Testing
|
Refactoring Basics
|
Patterns and Anti-Patterns in TDD
|
Refactoring Legacy Code
|
Code Coverage
|
Risks Changing Legacy/Production Systems
|
Related Training
Course |
---|
ASP.NET Web Forms Programming Using C# |
ASP.NET MVC Programming Using C# |
Windows Forms Programming Using C# |
Windows Presentation Foundation Programming Using C# |
WCF Programming Using C# |