TDD

Modifying a Feature you own this product

This project is part of the liveProject series TDD for a Shopping Website
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

pro $24.99 per month

  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose one free eBook per month to keep
  • exclusive 50% discount on all purchases

lite $19.99 per month

  • access to all Manning books, including MEAPs!

team

5, 10 or 20 seats+ for your team - learn more


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.

This project is designed for learning purposes and is not a complete, production-ready application or solution.

book resources

When you start your liveProject, you get full access to the following books for 90 days.

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 and our expert mentors.
Compare with others
For each step, compare your deliverable to the solutions by the author and other participants.
book resources
Get full access to select books for 90 days. Permanent access to excerpts from Manning products are also included, as well as references to other resources.

choose your plan

team

monthly
annual
$49.99
$499.99
only $41.67 per month
  • five seats for your team
  • access to all Manning books, MEAPs, liveVideos, liveProjects, and audiobooks!
  • choose another free product every time you renew
  • choose twelve free products per year
  • exclusive 50% discount on all purchases
  • Modifying a Feature project for free