Training for Java programmers. This is an advanced training for people fluent in Java and willing to improve their skills in creating clean and testable code. Java-enabled architects and testers who want to learn and experience the benefits of using TDD are also welcome.
Test-Driven Development is a way of programming, which focuses on starting the development process by revealing our intentions. By defining tests, which are examples of behaviour that our code is supposed to realise, we create a problem domain model in our minds, drive and develop the design of the code, and finally provide ourselves with tools for automatic verification of code correctness. This has enormous positive influence on our work: we get safer and more certain coding, less often use of a debugger, less defects, better design and more readable code. This way of coding is completely different to what we normally know, and much more pleasant.
It’s a mixed workshop-presentation model. Not only will you get the theory of driving development by tests, but more importantly you’ll be able to work that way guided by a person who programs like this on a daily basis and leads teams that develop software this way. Expected results of participation in the training:
- You’ll understand techniques for creating high-quality code
- You’ll learn What different test types mean
- You’ll see and practice the TDD cycle, will learn how to design your code to make it testable and readable
- I’ll show you some libraries that enable testing on different levels
- And all of this you’ll learn in the most effective way – by practicing TDD during a series of workshops. This will let you finish the training with the feel and knowledge of what the TDD is and how to apply it in your daily work.
Detailed Training Program
1. Basics – you’ll learn what TDD is, you’ll see the benefits of using this approach and will create first programs this way
- Why can TDD help you
- Applying TDD cycle
- Safe refactoring of test-covered code
- Using your IDE to higher extent (automated refactoring, code generation)
2. TDD mechanics – a set of knowledge and practices needed to perform TDD in your daily work
- Keeping the right pace and rhythm at work
- How to choose the next test
- Test naming
- Advanced JUnit
3. Testing collaborating objects – a working OO program is a set of objects that exchange messages. You’ll learn how to test them in isolation, so that tests are simple and execute fast
- Using test doubles to isolate object under test
- Mockito library
- Test-driving UI layer
- Test-driving DB layer
4.A bit broader view – we’ll systematise ideas around TDD
- ATDD, BDD
- Classical and mockist (London school) testing approaches
5.Object-oriented design – learn to design code in such a way, that it’s more readable and tests are easy to write
- Testability
- OO heuristics
6. The way forward
- Maintainability of tests
- Legacy code
- Introducing TDD to the team
Тренер – Николай Алименков.
Николай является экспертом в разработке приложений на Java и управлении командами. Имея опыт разработки более 8 лет, уже более 6 лет Николай работает с Agile методологиями. На текущий момент практикующий технический лидер и Scrum Master. Алименков Николай имеет большой опыт в применении инженерных практик (TDD, CI, юнит тестирование, т.д.). Николай является автором тренингов и тренером по тестированию приложений, планированию, организации QA процесса, инженерным практикам.
Николай – активный участник и докладчик на международных конференциях. Огранизатор и идеолог конференций Selenium Camp, JEEConf, XP Days Ukraine и IT Brunch. Создатель «Клуба анонимных разработчиков». Также он является активным членом сообщества Agile Ukraine.
Тренинг пройдет в тренинг-зале компании Ciklum, партнера конференции, по адресу г. Минск, ул. Змитрока Бядули, д. 11А (БЦ "Азимут") , комната 511
Обсуждение