Blog
Test Driven Development (Implementation)
Final Project
Part 3: Test Driven Development (Implementation)
For this project, you will be given test cases developed by another student in Part 2. You will be tasked
with implemented the code based on their work, reflecting on the quality and utility of those test cases,
and creating additional tests based on the code you wrote.
Implementation: Your goal is to write only enough code that all test cases pass – no more, no less. Do
not try to guess the intention of the project and add on to it – only implement what has been provided
for you. You are welcome to add your own helper methods in the skeleton code to assist with the tested
functions, but you should not change the actual test cases. Please reach out to me if you need help
implementing the code or have a question about the test cases.
Feedback: After implementing the code, write feedback for the student who developed them. Be
respectful – they will get to evaluate your work as well. Provide feedback on both their functional and
fault verification test suites:
• How helpful were they in guiding your development?
• Did they clearly define the project and build on each other?
• Were there some that seemed unnecessary? Were there some you felt were missing?
• Offer positive feedback on what was done well, and some constructive criticism on what can be
improved
Additional Test Cases: Finally, develop some more test cases to check the new code you wrote during
implementation. You must use Syntax Coverage and either Logic Coverage or Graph Coverage to
develop your test suite. You must also document the work that you did to develop the test coverage.
The requirements for
• Syntax Coverage (Required): Choose one method from your finished implementation and
develop test cases using Syntax Coverage. For documentation, you must state which mutant
operators you used and why you chose them (why were they relevant to this program?).
• Graph Coverage: Choose one method from your finished implementation and develop test
cases using Graph Coverage. You must choose a method with several conditional statements –
your graph can not be a straight line. For documentation, provide the graph and list the test
paths you developed to satisfy Prime Path Coverage.
• Logic Coverage: Choose one method from your finished implementation and develop test
cases for one predicate using Logic Coverage. This predicate must have at least 3 clauses in it to
qualify. For documentation, provide the steps you used to simplify the predicate for all clauses
in order to develop Correlated Active Clause Coverage.
Criteria
• Implementation, 60 points
◦ Automatic 0 if it does not compile
• Feedback for original test case developer, 60 points
• Additional Test Suite, 40 points
◦ 20 points for Syntax Coverage
◦ 20 points for either Logic Coverage or Graph Coverage
◦ Automatic 0 if it does not compile
• Documentation of Syntax Coverage and either Logic Coverage or Graph Coverage, 40 points
Deliverables
Upload your .cs or .java files along with your test coverage documentation to D2L.
The post Test Driven Development (Implementation) appeared first on My Assignment Online.
