Source Code: Here
Tool installation : (for me only)
-Apache Derby database.
-Environment variable "DERBY_HOME"
Testing :
verify.build.xml -- fail
Stop at junit test, since it got an error on testLoginActionBean and testLogoutActionBean.
Please see the error below:
checkstyle.build.xml -- Okey
findbugs.build.xml -- Okey
pmd.build.xml -- Okey
emma.build.xml -- sametime is work, sometime it doesn't
[concat] Emma Coverage summary
[concat] class: 67% (10/15)
[concat] method: 30% (76/256)
[concat] block: 32% (3843/11954)
[concat] line: 32% (860.4/2730)
The only problem is when I run junit firsta and run emma right after that the heap space must running out, then I need to restart Tomcat again to run emma. I try many time and many time it happen. The emma test I did successful is running checkstyle, findbugs, pmd for each single time then I run emma after that is successful, but not run junit in front of emma.
I think there are some improvement for on make junit test first, then worry about emma coverage after that, since your coverage is too lower, so I think you need write some test case for improve that.
Black Box Perspective:
For basic operation, add, edit and delete has success operated.
There are few thing I suggest to add on your project:
-I suggest that add some back button or redirect link to previous page when you finish each operation.
-Add some description on first or main page.
-Add picture on researcher page.
-Add confirmation message on delete operation.
-Make edit operation as separate page.
White Box Perspective:
The code look organize, and create different action files.
What I suggest is make some derby test case, and collaboration, organization and researcher action bean test case too.
I think if you make some improvement on this area that it can be bring up emma coverage, by that time, make sure no error on test case, otherwise it won't pass junit test and httpunit test.
Break da buggah:
when I logout system, then I use back button on browser that still can access any item on the page. I think you need to work a little bit more on session register. To block access without logon to system.
Summary and Lessons Learned:
implement Java derby is totally different to implement PHP + MySQL. For my own, MySQL is better than derby, since it use common SQL statement for insert, update and delete. But I learn a lot in this project is not about this, is how to use framework to test PHP project, the stuff we learn for entire semester is really apply to other language and make more easy to test where we doing wrong. It is helpful for implement framework to other different language like ASP.NET, PHP, Ruby etc.
No comments:
Post a Comment