questions: 1. What changes do we have to make? 2. How will we know that we’ve done them correctly? 3. How will we know that we haven’t broken anything? 6
but not just any changes. We want to make functional changes that deliver value while bringing more of the system under test. At the end of each programming episode, we should be able to point not only to code that provides some new feature, but also its tests. Over time, tested areas of the code base surface like islands rising out of the ocean. Work in these islands becomes much easier. Over time, the islands become large landmasses. Eventually, you’ll be able to work in continents of test-covered code. - Michael C. Feathers (Author of Working Effectively with Legacy Code) 18
difficult or much easier. • Changing code could involves behavioral change(functional change). • Four reasons to change software. • To make it safe people change with care, but not a silver bullet. • Teams tend to avoid change due to fear. • Changing on good project usually make developer confident. • How to make life easier ? pind down the behavior with unite test. 21