- Reviewer: Chiao-Fen Zielinski-Liu
- Author:Shaoxuan Zhang
- Installation Review:
- I have successfully downloaded the "MyIsern-Ivory" zip file into my workplace from the author's blog and I was able to run the software by using "java -jar". There were no difficulties to figure out how to run MyIsern-Ivory's code. In other words, I am getting more confidence in reviewing and testing other classmates' code. After running the "verify" target, there were no errors or warnings. Moreover, the system was able to generate a nice formatted table when entering a correct command line argument. Overall, the whole process of installation review was smooth and successful.
- Code Format and Conventions Review:
- When reviewing MyIsern-Ivory's code format and conventions, it was hard to find violations which were very serious. MyIsern-Ivory's code contains a very reasonable amount of comments which explain what a particular block of code is doing. Therefore, their code format and conventions are pretty well written and focused.
- Test Case Review:
- Black box perspective:
- When thinking only in terms of the specification for this assignment, MyIsern-Ivory did pass black box testings because the test file contains test cases for true and false inputs as well as null input. In addition, the expected outputs were shown after entering the queries specified on the "18.MyISERN-1.1" assignment sheet.
- White box perspective:
- Emma Coverage Summary
- class: 100% (12/12)
- method: 89% (65/73)
- block: 87% (2648/3091)
- line: 85% (452.5/532)
- When looking at the "Emma Coverage Summary", the overall coverage is quite high. In order to get more detail on the coverage, I decided to run the emma target to see a report. After reviewing the "Emma Coverage Report", I found that the only method that has no coverage is the "listOrganizations()" method in the XmlQuery class. However, I do see the "testListOrganizations()" method. Hence, I wonder whether or not the "testListOrganizations()" method tests the "listOrganizations" method. So, I would suggest MyIsern-Ivory to check both methods for the next milestone.
- Break da buggah:
- I have found a few ways to crash the system. The command lines are listed below and the exception for these three cases.
- >java -jar myisern-ivory.jar -describe -researcher Marvin Zelkowitz
- >java -jar myisern-ivory.jar -describe -researcher Marvin-Zelkowitz
- >java -jar myisern-ivory.jar -describe -researcher Marvi
at edu.hawaii.myisern.ivory.xmlloader.XmlQuery.printDescriptions(XmlQuery.java:106)
at edu.hawaii.myisern.ivory.xmlloader.XmlQuery.print(XmlQuery.java:64)
at edu.hawaii.myisern.ivory.xmlloader.XmlQuery.main(XmlQuery.java:50)
- >java -jar myisern-ivory.jar -describe -organization University_of_Boston
- >java -jar myisern-ivory.jar -describe -organization UniversityofBoston
- >java -jar myisern-ivory.jar -describe -organization University of Hawaii
at edu.hawaii.myisern.ivory.xmlloader.XmlQuery.printDescriptions(XmlQuery.java:103)
at edu.hawaii.myisern.ivory.xmlloader.XmlQuery.print(XmlQuery.java:64)
at edu.hawaii.myisern.ivory.xmlloader.XmlQuery.main(XmlQuery.java:50)
- Summary and Lessons Learned:
- After running "java -jar myisern-ivory.jar", I could see a list of acceptable queries and a link ,"http://code.google.com/p/myisern-1-ivory/wiki/UserGuide", about how to run this system in detail. One of these acceptable queries is "-listCollaboraitons -researcher
". Obviously, the word "Collaboraitons" has wrong spelling. Therefore, I have learned that the instructions of how to use a software are very important because this is the first thing that a novice will follow to run the software. Furthermore, if users are given wrong instructions on how to use a software, they will never get the outputs they want.
No comments:
Post a Comment