Description
TDD (Test-Driven Development) is a design engineering process based on a very short development cycle.
“Test-Driven Development” for software development requires a thorough review of the requirements or design before any code is written. The development process starts by writing a test case. The code is then tested and improved until the test is passed.
“Test-Driven Development” for software engineering has many advantages. Examples include: faster feedback, effective process, reduced project scope and over-engineering, customer-centric and iterative processes, modular, flexible and maintainable code.
In this course, you will learn detailed information about “Test-Driven Development” which includes all the steps necessary for an effective implementation; you will learn about Unit Tests, User Stories, Design, Code Optimization, Frameworks and how to apply them to existing solutions.
About Education
Education Objectives:
- Understand the principles and applications of “Unit Testing”,
- Understand the importance of Unit Testing in software development and testing processes,
- Learn to write “Effective Unit Tests”,
- Will have knowledge about the features of “effective unit tests”,
- He will learn to use fake objects to isolate the “system under test”,
- Will be able to ensure effective optimization of codes,
- First, he will see the importance of testing and the benefits of “Test-Driven Development”,
- It will use techniques and practices that will help to successfully adopt “Test-Driven Development”,
- “You will learn how to use Acceptance Testing and Behavior Driven Development to improve “Test-Driven Development”.
Training Content:
- MODULE 1 – Agile Overview
What is Agile?
New product development
What is Agile Software Development?
Agile Components
The Role of TDD in Agile Development
Benefits of Agile Development
Being Agile
Unit Tests
Overview of TDD:
What is TDD,
What are the benefits of TDD,
How is TDD implemented?
First development with TDD
- MODULE 2 – Agile Development Principles
Design Principles Overview
Coding Principles
- MODULE 3 – Unit Testing
Fundamentals of Unit Testing
Advanced Unit Test
Frames
Test Executors
Advanced Test Attributes
- MODULE 4 – Test Driven Development
TDD Rhythm
Sustainable TDD
Supporting Applications
Software Design: Basic Principles
Continuously Evolving Design: Refactoring
Applications
Doubles program
Matching Techniques
Eight Wastes of Software Development
Test Automation
- MODULE 5 – Reorganization
Why Refactor?
Reorganization Methods
Reorganization Cycle
Integration Tests
Unit Integration
Mockito / Power Mockito
Use of mock objects
Continuously Evolving Architecture
Test Design
Editing Written Tests
Automation and Documentation
- MODULE 6 – Pair Programming
Doubles program
Advantages of Pairing
Matching Techniques
- MODULE 7 – Acceptance Testing and BDD
Acceptance tests
Best Practices for Effective Testing
ATDD against BDD
- MODULE 8 – Principles and Benefits
Consequences of Not Testing
TDD Solutions
- MODULE 9 – Unit Test Examples
Tails and Stacks
Unit Test Examples
Advanced Reorganization
- MODULE 10 – Testing for Non-Developers
FIT and Fitness
Additional TDD Considerations
Who Should Receive the Training?
- Software Specialists
- Software Architects
- Project Managers
- Enterprise Architecture Specialists
- Test Engineers
- Quality Assurance Specialists
- Business Analysts
- System Analysts
Plan this training institutionally!
This training can be planned in different durations and content specific to your organization. Please contact us for detailed rich content and planning to realize your training objectives.