Re: [extremeprogramming] The principle behind How Test-Driven Development Works
"Dave Nicolette" <[email protected]> Sat, 30 Nov 2019 09:25:46 +0100
| Newsgroups | gmane.comp.programming.extreme-programming |
|---|---|
| Message-ID | <CANCM4b+BbczNBa27u7_tf=NV25hapEtPSZoB3hv7-md8PxJV=w@mail.gmail.com> |
All good, but...why present to the manager? On 11/30/19, Slava Imeshev via Groups.Io <[email protected]> wrote: > Hi Guilherme, > > Guided self study is study of the subject by an engineer where they read > some comfortable number of pages per week, take notes and present to their > manager. > > The goal is to cover gaps in their abilities as software engineers. There’s > days my favorite subjects are unit testing, OOP/OOD and refactoring for > engineers. > > It works because it switches engineers from sleeping through the book to > looking for information actively. > > As for testing untestable, I just start a Zoom or a Skype meeting with a > teammate, refactor the class so that the dependencies are expressed as > interfaces (extract method, extract class, extract interface) and then write > a unit test to cover new logic and changed methods using mocks. The teammate > grabs the keyboard any time they want. > > Regards, > > Slava Imeshev > > >> On Nov 29, 2019, at 7:20 PM, Guilherme Froes <[email protected]> >> wrote: >> >> >> Hi Slava! >> >> These days I just automatically launch a guided self study of refactoring >> for any member of the team who doesn’t have it. A fun and highly >> educational pair programming exercise is ‘making untestable testable’ when >> I take a class that a teammate declared untestable, refactor it and cover >> with unit tests under an hour. >> >> This guided self study and pair programming exercise sound really >> interesting. Do you have something about this that you could share or is >> it something you create ad-hoc? >> >> Thanks! >> >> -Guilherme Froes >> >>> Em sex., 29 de nov. de 2019 às 01:13, Slava Imeshev via Groups.Io >>> <[email protected]> escreveu: >>> I totally agree. TDD is hard if not impossible without designing to best >>> practices. >>> >>> One design principle that seem to work consistently is Inversion of >>> Control (IoC) aka Dependency Injection aka Programming to interfaces >>> because one of its natural side effects is enabling use of mocks in unit >>> tests. >>> >>> The second important component is knowledge and use of refactoring when >>> dealing with a legacy code base because it enables making code testable. >>> These days I just automatically launch a guided self study of refactoring >>> for any member of the team who doesn’t have it. A fun and highly >>> educational pair programming exercise is ‘making untestable testable’ >>> when I take a class that a teammate declared untestable, refactor it and >>> cover with unit tests under an hour. God bless Martin Fowler. >>> >>> Regards, >>> >>> Slava Imeshev >>> >>> >>>>> On Nov 29, 2019, at 2:05 AM, Charlie Poole <[email protected]> >>>>> wrote: >>>>> >>>> Most folks I know who are experts at TDD consider that design is part >>>> of it. Some have even said "It might be called Test Driven Design." >>>> However, traditionally, it isn't called that. My personal view is that >>>> "Development" includes Design, so calling it TestDrivenDevelopment is >>>> most appropriate. Those who prefer "Design" appear to think that >>>> Development simply means programming, which is not what the word means >>>> for me. A further problem with "Test Driven Design" is that many folks >>>> still think of design as something that happens before development, >>>> rather than as part of it. >>>> >>>> I've seen that some people use ATDD for testing at the story level, >>>> others call it TDD. I prefer separate names but they both have design >>>> elements as part of the "development." >>> >> >> > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#160367): https://groups.io/g/extremeprogramming/message/160367 Mute This Topic: https://groups.io/mt/39414677/2417047 Group Owner: [email protected] Unsubscribe: https://groups.io/g/extremeprogramming/leave/4902963/619838065/xyzzy [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-