University of Wollongong
School of Computing and Information Technology
CSIT314 Software Development Methodologies
Autumn 2020
Group Project – Part II (20 marks)
Project title: Developing an automated testing tool
Due to submit via Moodle: 10:30 am, Thursday Week 13 (11 June 2020)
What to submit:
Produce (1) a project report detailing the group's work (indicate each and every team member’s contribution
on the cover page as group work assesses individual contributions); submit it together with (2) your source code.
Your project report should, in addition to documenting your detailed work, include instructions (and
screenshots as evidence) to show how to compile and run your programs, as well as a demo (again, using
screenshots) to show the features of the tool you developed for automated test case generation, execution, and result
verification.
How to submit:
Submit a zip file under “Group Project Part II” in Moodle. Your zip file should include (1) your project
report (a PDF file) and (2) your source code.
The Moodle submission must be made by only ONE member of your group by the deadline. Remember to name
your submission file using your group ID.
Project description
1. Read the paper “A Testing Tool for Machine Learning Applications” attached at the end of this
document.
2. Follow the style of the above paper to develop a software testing tool for any domain (it does not have to
be the machine learning domain; for example, it could be the testing of booking.com, a search engine, or a
compiler) of your choice using any programming language that is available in the University lab (e.g., C,
C++, Java, etc).
3. Key requirements
You must follow the Test Driven Development methodology.
Your tool must support automated test case generation (at least randomly).
Your tool must support automated execution of the software under test.
Your tool must support automated result checking test report generation.
Marking criteria
Have you correctly followed the Test Driven Development (TDD) methodology? Please show the
test data / test suite you designed and executed for each iteration of your TDD process. The quality
of test data and appropriate refactoring are important marking criteria. 5 marks
To what degree can your tool assist with test data generation? 5 marks
To what degree can your tool assist with test executions? 2 marks
To what degree can your tool check the correctness or appropriateness of the test results
automatically? That is, the test oracle you designed. 8 marks
Note: A “test oracle” is a mechanism, or a method, with which the tester can decide whether the outcomes of test
case executions are correct or acceptable. A test oracle answers the question “how can we know whether the test
results are correct or acceptable?” Your automated testing tool must implement an oracle in order to decide
whether the test has passed or failed.