An introduction to one of the engineering practices of Agile development - test-driven development (TDD).
To be determined
This training allows you to explore the basics of test-driven development. First by understanding the key principles of the approach, then practicing them in the development of a complex multi-layer application.
You will learn about unit test frameworks used in test-driven development approaches in modern programming languages. We’ll also cover some theory of unit testing with Java code samples, useful for beginner developers regardless of the methodologies used in the project.
We’ve developed this course for software developers (no restrictions related to the development platform). It is useful for both experienced developers who already do unit testing and want to introduce TDD practices into the project development process, as well as junior developers looking for an introduction to the basics of unit testing.
1. Unit Tests
1.1. Testing is a method to ensure the software product quality
1.2. Levels of testing: system, integration, and unit testing
1.3. Goals and objectives of unit testing
1.4. Module definition
1.5. Difference between unit testing and debugging
1.6. Organization of unit testing
1.7. Use of mock-and stub-objects
1.8. Notion of code coverage
1.9. Coverage levels
1.10. Coverage analysis
1.11. Legacy code and unit tests
1.12. Why developers do not want to implement unit tests
1.13. Best practices of writing unit tests
1.14. xUnit: unit testing tools
2. Practice
3. TDD
3.1. Terms and definitions
3.2. What is TDD
3.3. TDD development cycle
3.4. TDD patterns
3.5. Patterns of red and green stripes
3.6. Advantages and disadvantages of the approach
3.7. Specifics of the application
3.8. TDD and code documentation
3.9. Implementation into development process
3.10. Standard errors
4. Practice
4.1. Application development using TDD
Analysis of results