
Test-Driven Development
Test-Driven Development is a proven way of developing software quickly and purposefully. It involves first writing a failing test and then writing only as much productive code as is needed to satisfy that test. If used correctly, this results in clean code that is 100% tested.
With TDD, one does not need to plan the software design ahead, but the design emerges while developing the software. If you realize that the design could be improved, you refactor the code, secured by the existing tests. This is called the red/green/refactor cycle.
In this training, you will learn about test-driven programming (TDD) and experience directly in mob programming how to proceed and what to look out for.
- You understand the benefits of Test First development
- You can write appropriate guiding tests
- You know the Red/Green/Refactor cycle and can develop software test-driven
This training is aimed at participants who program PHP professionally and have always been unhappy about writing too few tests. The training is not necessarily about promoting TDD as the only true way to develop software, but about recognising the advantages of this approach and being able to switch between methodologies as needed.
Prerequisites are practical experience with PHPUnit and knowledge of object-oriented programming in PHP. The necessary basics are taught in Advanced PHPUnit and Advanced OOP.
-
- You book your training directly online with us. For purchase on account or special group rates contact us or write an email.
- You will receive an email within a short time in which we confirm your participation.
-
Within 48 hours during our business hours you will receive your
Invoice
Companies with their registered office in Germany are of course entitled to deduct input tax from the invoice. For European Union companies based outside Germany, the reverse charge procedure applies. For companies based outside the European Union, no sales tax is due.
- About a week before the first online session, we will send you an e-mail with all the important information about your training. In addition to a link to the video conference, this contains comprehensive information on the technical requirements and any preparations you should make.
-
Introduction
- Welcoming, introducing and collecting expectations (ca. 15 min)
- What is the benefit of writing tests first (ca. 30 min)
- Chicago or London: Inside-out or outside-in? (ca. 30 min)
- Live Demo: Red, Green, Refactor in practice (ca. 60 min)
- Discussion of the work assignment (ca. 15 min)
-
Work Assignment
In order to directly gain your own practical experience, you will work on your work assignment in your own time until the next online session.
Work assignments are designed to take 1 to 2 hours to complete. You decide whether you work on the exercises alone or in a work group. Forming a work group with another training participant you have never met before can be an interesting and instructive experience.
Of course, we will not leave you alone with questions about your work assignments. Between the online sessions, you will receive support via e-mail from the trainer on all questions regarding the previous training content and the work assignments.
-
At the latest until the day before the next online session, you can send your solution to the trainer by e-mail. At the beginning of the next online session, examples selected from all submissions will be discussed and improved by the trainer.
-
Red
- Joint review of selected work assignments (ca. 30 min)
- Q and A (ca. 30 min)
- Getting started with a guiding test (ca. 30 min)
- Mob Programming: How much test is needed for the next step? (ca. 45 min)
- Discussion of the work assignment (ca. 15 min)
-
Work Assignment
In order to directly gain your own practical experience, you will work on your work assignment in your own time until the next online session.
Work assignments are designed to take 1 to 2 hours to complete. You decide whether you work on the exercises alone or in a work group. Forming a work group with another training participant you have never met before can be an interesting and instructive experience.
Of course, we will not leave you alone with questions about your work assignments. Between the online sessions, you will receive support via e-mail from the trainer on all questions regarding the previous training content and the work assignments.
-
At the latest until the day before the next online session, you can send your solution to the trainer by e-mail. At the beginning of the next online session, examples selected from all submissions will be discussed and improved by the trainer.
-
Green
- Joint review of selected work assignments (ca. 30 min)
- Q and A (ca. 30 min)
- Mob Programming: Minimal solutions (ca. 45 min)
- Happy Paths or Edge Cases? (ca. 30 min)
- Discussion of the work assignment (ca. 15 min)
-
Work Assignment
In order to directly gain your own practical experience, you will work on your work assignment in your own time until the next online session.
Work assignments are designed to take 1 to 2 hours to complete. You decide whether you work on the exercises alone or in a work group. Forming a work group with another training participant you have never met before can be an interesting and instructive experience.
Of course, we will not leave you alone with questions about your work assignments. Between the online sessions, you will receive support via e-mail from the trainer on all questions regarding the previous training content and the work assignments.
-
At the latest until the day before the next online session, you can send your solution to the trainer by e-mail. At the beginning of the next online session, examples selected from all submissions will be discussed and improved by the trainer.
-
Refactor
- Joint review of selected work assignments (ca. 30 min)
- Q and A (ca. 30 min)
- When and how should I refactor? (ca. 30 min)
- Mob Programming: It works, now let's make it pretty! (ca. 30 min)
- Summary and Outlook (ca. 15 min)
- Feedback and Closing (ca. 15 min)
-
-
Material
After the last online session, you will receive all materials used in the training, such as presentations, sketches, or sample code, together with supplementary material such as links and references to further literature for follow-up. For some training topics, you will also receive access to additional digital content on the topic of the training.
-
Certificate of Participation
All participants who have attended the online sessions and completed their work assignments will receive a certificate of participation from us.
-
E-Mail Support
Of course, we also support you in integrating what you have learned into your everyday work. We provide support via e-mail on all questions related to the topics of the training for all participants from the last online session until the closing meeting.
-
Closing Meeting
After the end of the email support, you will have another opportunity to ask the trainer your questions in the joint closing meeting (circa 30 minutes).
In addition to an outlook on further topics, the trainer has a few more tips and tricks up his sleeve. And last but not least, we are interested in your final feedback on our training.
-
-
Three to six months after the training, you should consider attending more advanced training to build on the practical experience you have gained up to that point.
We will also be happy to accompany you on your further path in an advisory or coaching capacity. Please contact us.
- four video conferences for knowledge transfer (3 hours each)
- three work assignments of 1-2 hours processing time each with e-mail support during the processing period
- four weeks of email support after the last online session
- joint closing meeting (30 min)
Please note that depending on the training booked, the individual online appointments may each take place at different times of the day.
Technical requirements for attending an online training.
Available online "inhouse"
InquireExclusive and customized?
We are happy to conduct any training exclusively online ("in-house") for you. We adapt the content and focus to your specific wishes and needs and optionally work with examples directly from your code base.