TDD

Modifying a Feature you own this product

This free project is part of the liveProject series TDD for a Shopping Web Site
prerequisites
basic Spring MVC • basic JUnit • basic JavaScript • basic SQL
skills learned
white-box and black-box testing and how to choose between them • refactoring an end-to-end test to be less coupled to the implementation • using TDD to implement a full stack feature
Steven Solomon
1 week · 4-6 hours per week · INTERMEDIATE
filed under

placing your order...

Don't refresh or navigate away from the page.
This free project is part of the liveProject series TDD for a Shopping Web Site explore series
Check your email for instructions on accessing Modifying a Feature (liveProject)
continue shopping
adding to cart

Look inside

In this liveProject, you’ll reduce a test’s coupling to the implementation (thereby reducing the tests’s dependence on the details of how the code works) and extend a feature using test-driven development for an e-commerce record store. You’ll begin by applying techniques to increase test readability, then implement a full stack feature that requires changes to all layers of the system. Lastly, you’ll tidy up by refactoring the implementation to reduce conceptional duplication, making the code easier to read and maintain.

project author

Steven Solomon
Steven Solomon is a Staff Software Engineer at GitHub. He has been writing software professionally since 2007, and has worked in many sectors, including music publishing, retail, finance, loyalty, healthcare, and education. As a team lead, Steven mentors other engineers in the strategic adoption of agile thinking and techniques, allowing them to continuously improve until they find a sustainable balance to how they approach work. One agile practice that he is particularly passionate about is test-driven development (TDD), which he has used over the past 10 years to help teams deliver and demo working software every single week.

prerequisites

This liveProjects is for Java software engineers with an intermediate level of experience using Spring MVC to build web applications. To begin this liveProject, you need to be familiar with the following:


TOOLS
  • Basic Spring MVC
  • Basic JUnit
  • Basic JavaScript
  • Basic HTML
  • Basic React
  • Basic SQL
TECHNIQUES
  • Basic Unit Testing

you will learn

This liveProject will prime you on the basics of test-driven development, and using it to drive bug-free development of new features.


  • The attributes of a well formed unit test
  • White-box and black-box testing, and how to choose between them
  • Refactoring an end-to-end test to be less coupled to the implementation
  • Using TDD to implement a full stack feature
  • Refactoring for improved readability, and reduced conceptional duplication

features

Self-paced
You choose the schedule and decide how much time to invest as you build your project.
Project roadmap
Each project is divided into several achievable steps.
Get Help
While within the liveProject platform, get help from other participants.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
RECENTLY VIEWED