CSE 490E1 Assignment 2: Test coverage
Due: Tuesday, January 10, 2017 at 11:59pm, via Canvas
-
Select an open-source Java project that
- has at least 5000 lines of code according to sloccount,
- contains a test suite,
- is maintained (in the previous year, has at least 10 commits and at least one issue fixed in its issue tracker), and
- has a buildfile for (in order of preference) Maven, Gradle, Ant, or Make.
You will run various tools on this codebase during the quarter.
- Tell the instructor your choice as soon as possible — email a URL (probably a GitHub URL). If you chose the same project as another student, one of you will have to change your choice.
- Run the project's tests and note the number of passing and failing tests and the time it took to run them.
Here is a way to obtain a file that you can submit, for a project that uses Maven as its build system:
cd /tmp
git clone https://github.com/user/project
cd project
git remote show origin | grep "Fetch URL:" >testexecution.txt
echo SHA: $(git rev-parse HEAD) >>testexecution.txt
mvn test >>testexecution.txt
- Run a code coverage tool to compute coverage. I recommend JaCoCo, which comes with a Maven plug-in and an Ant task and can also be run from the command line.
-
Create a zip file that contains:
- Test execution results
- Coverage results
- a README.txt file that contains
- your name, UW net ID, and the class name and assignment number and date (this information will be implicit from now on; you should always include it)
- the name and URL of the project you chose
- where to find the results (for example, test execution is perhaps in a file named
testexecution.txt
- how to reproduce all of your results, up to and including creating the final zip file, on a Unix machine.
This could be a list of commands that can be pasted into a Unix shell.
Or, it could be as simple as
mvn assignment1.zip
if you created a Maven file and target to do the work (other build systems are fine too).
-
Upload your zip file to Canvas.