Test Driven Development

(Difference between revisions)
Jump to: navigation, search
(Explanation and info from Nick Ingalls)
(examples found)
Line 1: Line 1:
 +
=== Examples of TDD in OSS ===
 +
* https://www.quora.com/What-are-examples-of-substantial-open-source-software-written-using-test-driven-development-TDD
 +
** https://github.com/rails/rails
 +
** https://travis-ci.org/rails/rails
 +
** https://github.com/rails/rails/pull/23690
 +
 +
* http://stackoverflow.com/questions/4174425/open-source-project-developed-using-tdd-and-java
 +
** http://www.sqlite.org/testing.html
 +
** Superb write up of how they do extensive testing, but its possibly not developed with TDD principles, or maybe partially.
 +
 +
* https://github.com/unclebob/fitnesse
 +
** Written by one of the Agile Manifesto co-authors
 +
** Very clean code, tests in /test directory
 +
 +
* http://junit.org/
 +
** Well-known java unit testing framwork written by Kent Beck, inventor or TDD himself
 +
** https://github.com/junit-team/junit
 +
** https://github.com/junit-team/junit/tree/master/src/test
 +
** ex of actual test code: https://github.com/junit-team/junit/blob/master/src/test/java/junit/tests/framework/AssertTest.java
 +
 +
=== Ideas and research ===
 +
 
TDD
 
TDD
 
* Idea 1: Find a project that already has a testing harness and associated tests; learn it, and add a new unit test
 
* Idea 1: Find a project that already has a testing harness and associated tests; learn it, and add a new unit test
Line 19: Line 41:
 
** https://gist.github.com/ingalls/70508ec69c8e97a1c81e pseudo-code TDD
 
** https://gist.github.com/ingalls/70508ec69c8e97a1c81e pseudo-code TDD
 
** https://github.com/substack/tape tape tap-producing test harness for node and browsers
 
** https://github.com/substack/tape tape tap-producing test harness for node and browsers
 +
 +
* 5 min TDD overview https://www.youtube.com/watch?v=QCif_-r8eK4
 +
* Is TDD Dead? https://www.youtube.com/watch?v=z9quxZsLcfo

Revision as of 17:18, 16 February 2016

Examples of TDD in OSS

Ideas and research

TDD

  • Idea 1: Find a project that already has a testing harness and associated tests; learn it, and add a new unit test
  • Idea 2: Create a test harness to make, build, and run unit tests on an existing open source project
    • Jim Bowring has done this in the past, though it seems they are lengthy projects vs a shorter activity; Do we want to create a “project”-oriented LA?
  • Teach the “mental discipline” of testing
  • How can we test a Requirement?
    • Ensuring testing starts at user requirement gathering
    • Iterating through tests once code has been written, helps to improve the tests
Personal tools
Namespaces
Variants
Actions
Events
Learning Resources
HFOSS Projects
Evaluation
Navigation
Toolbox