{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

Week 8 Paper [TDD].docx - SWEN 603 Spring 2017 Week 8 Short...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
SWEN 603 Spring 2017 Week 8 Short Paper – Test Driven Development Test-driven development (TDD) is a style of programming that utilizes unit testing, coding, and refactoring. The unique idea behind TDD is that developers run tests first and write code after, which is why it is also appropriately referred to as ‘test-first programming.’ Considering that TDD is one of the most frequently used agile practices in the industry (Bissi, Neto, & Emer, 2016), it comes as no surprise that this type of programming offers unique benefits. But inversely, it does present some drawbacks, as well as scenarios where it may be more or less appropriate to use. In order to understand the appeal or distain for TDD, it is important to first understand its process. An essential part of Extreme Programming (XP) development, TDD has gained popularity and use in many other agile methodologies (Larman, 2004). Developers follow steps in a cyclic fashion in order to produce code that is acceptable for the system. Figure 1. TDD cycle (Luiz, 2015) Also known as the red-green-refactor cycle, TDD is carried out through a series of fail, pass, and redesign/refactor cycles; this is depicted in Figure 1. Developers design a unit test, run the test to ensure it fails, write the simplest code that will allow the test to pass, ensure it does pass, and then refactor the code to eliminate redundancies and improve code structure. This is then
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
repeated until the proper or desired code is achieved; only then should the developer move on to the next feature.
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}