How to Test Legacy Code (Emily Bache)
Вставка
- Опубліковано 20 лип 2024
- You need good tests before you can refactor legacy code. It’s easy to spend absolutely ages on that part. Unfortunately these kinds of unit tests often turn out to be not that useful and can miss refactoring mistakes you make. In this session I’d like to show another approach to writing tests for legacy code. I’ll demonstrate how it works using the Gilded Rose refactoring kata and explain the theory using Kent Beck’s test Desiderata.
Outline
- What is legacy code
- Writing unit tests for legacy code
- The tests you want to write and why you can’t
- Demo: Combination Approvals
- Theory: Composable and Specific Desiderata
- Conclusions
ABOUT EMILY
Emily Bache is an independent consultant, UA-camr and Technical Coach. She works with developers, training and coaching effective agile practices like Refactoring and Test-Driven Development. Emily has worked with software development for 25 years, written two books and teaches courses on platforms including Pluralsight and O'Reilly.
A frequent conference speaker, Emily has been invited to keynote at prestigious developer events including EuroPython, Craft and ACCU. Emily founded the Samman Technical Coaching Society in order to promote technical excellence and support coaches everywhere.
- LinkedIn: / emilybache
- Twitter: / emilybache
- GitHub: github.com/emilybache
- Mastodon: sw-development-is.social/web/...
- Website: bacheconsulting.com/
- UA-cam: / @emilybache-tech-coach
TECH EXCELLENCE
- Subscribe to our UA-cam channel / @techexcellence
- Join our Meetup Group www.meetup.com/techexcellence
- Follow us on LinkedIn / techexcellenceio
- Follow us on Twitter / techexcellence_
- Join our Discord Community / discord
TIMESTAMPS
0:00 Intro
2:09 Agenda
3:35 About me
5:31 Working with Legacy Code
7:19 Code Demo Gilded Rose
8:47 What are good tests?
11:49 Approach #1: Unit Tests
19:37 Approach #2: Rewrite
30:32 Approach #3: Combination Approvals
58:06 Live Q&A
#testdrivendevelopment #tdd #unittesting #testing #testautomation #refactoring #softwareengineering #agile #techexcellence - Наука та технологія
This is the Gilded Rose github repo:
github.com/emilybache/GildedRose-Refactoring-Kata