Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mini-book: Automated Testing & TDD with NUnit: An On-Ramp #706

Open
15 tasks
SeanKilleen opened this issue Jan 8, 2023 · 0 comments
Open
15 tasks

Mini-book: Automated Testing & TDD with NUnit: An On-Ramp #706

SeanKilleen opened this issue Jan 8, 2023 · 0 comments
Labels
Epic help-wanted A place where we could use a helping hand.

Comments

@SeanKilleen
Copy link
Member

SeanKilleen commented Jan 8, 2023

Announcing this ambitious mini-project here so that we've got an issue to log things against.

Challenge / Opportunity

  • We've been talking about a lack of beginner docs and the desire for more cohesive samples
  • There's a lack of good, free "one-stop shop" places for people to learn automated testing principles and put them into practice at the same time.
  • We have the opportunity to help a lot of people out and (gently) correct some incorrect notions that some may have about automated testing, TDD, and the part that NUnit plays in those things.

The Intention

  • I intend to create a section of articles to serve as a mini-book, "the on-ramp guide", or "Automated Testing & TDD with NUnit: An On-Ramp"
  • I intend for this series to introduce the what and why of automated testing and TDD and along the way introduce the user to NUnit by way of implementing these concepts.
  • I intend to keep an outline so that others can jump in as they see fit and so that anyone can pick up. I'm not sure the best way to do this yet, but we'll figure it out. I'd like to avoid this taking the format of "unfinished" docs pages. For now, I'll publish the outline here and add to it over time; feel free to make suggestions in this issue and I'll update based on what I read.
  • I intend to take feedback from the larger community on what I produce, but I also intend to wait until after I produce it, because that's going to help the content come out a lot faster.
  • Where there are differences of opinion, I plan to showcase them and use them to build upon any of my opinions that are expressed.
  • I'm a strong believer in "different project; same team". If this takes off in the community and folks ask for an xUnit version, I may ask to move the docs somewhere and enhance them to allow for xUnit / MSTests as well.

The Living Outline

  • About This Series
  • The "Why" of Tests / TDD / NUnit
  • Types of Automated Tests
    • Unit
    • Integration
    • Acceptance/Functional
    • UI-based
  • Testing Trade-offs
    • The testing pyramid / funnel analogy
    • Considerations to make
  • Where do I start?
    • Greenfield Applications
    • Legacy Applications
    • Other Considerations
  • Getting Started with NUnit & TDD
    • Creating a test project
    • Writing your first tests
    • Time to refactor -- wait, what?
  • Good testing "rules of thumb"
    • Naming conventions
    • Aim for one logical assertion
    • FIRST rule
  • Extracting Common functionality
  • Dealing with State in Tests
  • Test Cases & Data
  • Common testing problems and tactical approaches to solve them
  • Individual style guides -- ways we work with these things
@SeanKilleen SeanKilleen added Epic help-wanted A place where we could use a helping hand. labels Jan 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Epic help-wanted A place where we could use a helping hand.
Projects
None yet
Development

No branches or pull requests

1 participant