Project 5
Unit Testing
Mission:
You were asked by your manager to execute complete unit test (white box testing) for StringUtils Java class, written by a developer who suddenly left the team. You are provided the source code (StringUtils.java) and you are to write JUnit test cases for it. You are to assume that code description is correct for what each method is supposed to do and the code is supposed to match it.
Objectives:
Define, implement, and execute complete and thorough unit test on the given Java class (StringUtils.java).
Outline of Steps:
1. Fill out the Unit Test approach section in the template, explaining what unit test is all about and it’s most important criteria. Address all the questions completely and thoroughly.
2. Design tests for each method to meet 100% code coverage and reasonable data coverage. Describe these tests in the document using template format given. For this project you want to test methods against the code comments and the code itself. The code comments are assumed to be correct and the code may or may not be correct. Your goal is for your testcases to find defects in the code
3. Implement unit test cases in JUnit (e.g. StringUtilsTest.java)
4. Run the unit test cases and document the actual results in the report for each test case
5. Identify any defects you found running the JUnit and describe them in the report (using the template format) in section 2. Note: You should find a few defects.
6. Submit both the report file and JUnit source code (java file).
7. All your tests must be in a single java file
Again, you should first identify and document in your report all the unit tests that should be created (using the example in report). That will give you partial credit – identifying the tests. Then you should implement those test cases in JUnit. Lastly you should run the test cases and document the actual results and defects you found.
Resources:
Proj5-MSIT660-GradingCriteria.doc – lists the grading criteria
Week 12-13 lecture charts – has unit test examples
ListNode.java and TestListNode.java – example Java class and its unit tests
Simple.java and testSimple.java – used in Discussions as examples of a class and JUnit tests for it.
List of assert methods that can be used in tests: http://junit.sourceforge.net/javadoc/org/junit/Assert.html
Deliverables:
Use the Report template (Pro5-ReportTemplate.doc) in Blackboard under Course Content->Projects->Project5 folder. The report must be submitted as an MS Word .doc. The name of the MS Word Report file shall be your_name_MSIT660_P6.doc. You must submit a separate file with your tests’ source code.
Notes on pulling source code into eclipse
1. Create a new Java project: File->New->Java Project (ex. MyProject5)
2. Click on “src” under your new project; right click and select import
3. Click on General->File System, then next and browse for where you have the file UTStringUtil.java, select it and click Finish
4. As an alternative you could create a new class StringUtils and copy/paste the file content into it.
5. In your project, you will see the source file StringUtils.java under src directory.
To add JUnit library to your Eclipse project:
1. Right click on project and select Properties
2. Click on Java Build Path (left side list)
3. Click on “Add Library” button (right side)
4. Select JUnit and click next
5. Choose version 4 of Junit and click Finish
6. The JUnit library will now show under Libraries tab.
7. Click OK

