Skip to content

Simple project to practice TDD (test driven development)

License

Notifications You must be signed in to change notification settings

css-software-engineering-studio/sample-tdd

Repository files navigation

Introduction to the TDD Practice Project

This project is designed as an educational resource to familiarize you with Test-Driven Design (TDD). It begins with a rudimentary project structure that merely contains the basic architecture: a main program, a function declaration for conversion processes, and a couple of preliminary unit tests. These elements establish a foundational framework that encourages learning and applying TDD principles hands-on.

The repository organizational structure is delineated by programming languages. The languages available are C#, Java, C++, Python, Dart, and JavaScript

Each language-specific directory contains two crucial documents:

  • README.md: Provides a general overview of that particular language's sub-codebase, guiding you through the basics and specific configurations tailored to the language.
  • FRAMEWORK.md: This document serves as a tutorial explaining the main unit testing framework utilized by that language, offering both insights and step-by-step guidance on effective usage.

Detailed Instructions for Project Completion:

Each language-specific sub-folder contains its own README.md file, which details step-by-step instructions on how to proceed with the assignments. These instructions are tailored to the specifics of each programming environment and testing framework, providing a clear path from setup to execution.

After Completing IntegerToWordedString()

Upon completing the IntegerToWordedString() functionality, follow these concise yet significant steps to enhance your Test-Driven Development (TDD) skills and refine your project:

  • Compare to zukixa-walkthru: It is highly suggested to compare your efforts with the one I have done with this repository, where I have provided an exemplary walkthrough of how to best complete a TDD project like sample-tdd. If your implementation significantly deviates, look at walkthru closely and understand why!

  • Expert Review: Schedule a session with a TDD expert (or talk to anyone knowledgeable on the topic, even ChatGPT!) to review your code and discuss the TDD process, even if your learning path doesn't formally require it. Use this opportunity to seek answers to any questions and gain insights into your code's structure and design.

  • Self-Reflection: Reflect on your experience with key questions:

    • Have my unit tests covered all expected functionalities?
    • What challenges did I encounter in TDD, and how were they resolved?
    • How has TDD impacted the quality and reliability of my program?
    • What improvements can I implement in future TDD projects?
  • Continuous Learning and Feedback: Keep enhancing your TDD proficiency when able through more complex projects and seek feedback from peers or mentors.

  • Expand Your Expertise: Continue exploring advanced TDD techniques and other testing methodologies to broaden your software testing skills and knowledge.

  • Take on the next layer: As part of the 'Home-of-TDD' group of repositories, you have now completed Level 1! Continuing with the Home-of-TDD path, with Level 2 can help you further practice your skills and knowledge with TDD.

These 'post-completion' next steps are not universal, but guidelines, as they may be different based on the context of situation that this project is being completed.

Helpful Additional Resources:

  • Additonal information, and the next layers of the Home of TDD can be found back at the Home Repository

  • Beyond the layered content, two PDF documents are provided in here to enhance your understanding and application of unit testing concepts:

    • TDD Primer: This live document is derived from discussions with students who have previously engaged with this assignment, and is continuously updated based upon student feedback. (And a likely out of date
      PDF version.)
    • Unit Testing: This document contains supplemental information that expands further on unit testing techniques and best practices. (And a likely out-of-date PDF version.)

About

Simple project to practice TDD (test driven development)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages