Cobertura Tool
Overview
Cobertura เป็นหนึ่งใน Code Coverage Tools ชนิด Open Source ที่มีประสิทธิภาพมากในระดับหนึ่ง ซึ่งเหมาะที่จะ Test Code Coverage ในระดับ Unit แบบ White Box จะมีประสิทธิภาพมาก และเหมาะสำหรับ Test Case ที่มีหลากหลายและแตกต่างกัน
Feature
- สามารถ executed จาก ant srcipt หรือจาก Command Line
- Instruments Java Byte Code หลังจาก Compiles
- สามารถ Report ออกมาเป็น ไฟล์ HTML หรือ XML
- คำนวน Line , Branches Coverage ได้ ตั้งแต่ class , package และ ทั้งโปรแกรม
- คำนวน McCabe??? cyclomatic code complexity ตั้งแต่ class , package และ ทั้งโปรแกรม
- สามารถ Report ออกมาเป็น ไฟล์ HTML หรือ XML
- ใน ไฟล์ HTML report สามารถเรียงลำดับ โดยเรียงจาก class name , เปอร์เซนต์ line covered , เปอร์เซนต์ branches covered , complexity ได้
- highlight code แต่ละ line ได้ ใน Report
Sample Report
Installation Cobertura
1. ให้ Download Library Cobertura จาก
http://cobertura.sourceforge.net/download.html เลือกชนิดที่เป็น Binary จะเป็นไฟล์ที่บีบอัดมา หลังจากที่ extract ไฟล์แล้วจะได้ Folder ของ Cobertura ในนั้นจะมี Folder Lib เก็บ Library ต่างๆที่เกี่ยวกับกับการ Test และ Example และ ใน Folder หลักจะมี ไฟล์ cobertura.jar เป็บ Library หลักในการ Test
Quick Start
ในการ Test ครั้งนี้ เราจะ Test ผ่าน Ant Script มี 3 Step สำคัญๆ ด้วยกันคือ 1. Compile 2. Instrument 3. Report เราจึงต้องเขียน Script เพื่อรัน 3 Stepนี้ตามลำดับ สิ่งที่สำคัญคือการจัด ไฟล์เพื่อให้อยู่ใน Path ที่ถูกต้อง และการ วัด Code Coverage จะเกิดขึ้นได้จากการที่เราสั่ง Test ผ่าน JUnit
1. จัดเรียง หรือ copy ไฟล์ีที่ต้องการ Test ไว้ใน Folder ดังนี้ คือ ใน Folder Src คือ Foldder ที่เก็บ Source File ไำว้ ที่ 2 ไฟล์คือ Simple.java และ
SimpleTest??.java ,
SimpleTest??.Java คือ คลาสของ JUnit สำหรับ Test ไฟล์
SimpleTest??.Java ซึ่งเรายังเหลืออีก 1 Library คือ JUnit.jar สำหรับเก็บคลาสสำหรับ JUnit ไว้ให้ไป Downloadได้ที่
http://sourceforge.net/project/showfiles.php?group_id=15278&package_id=12472 แล้วนำมาไว้ ที่Folder lib
2. Config File build.properties ดังนี้เพื่อให้สัมพันธ์กับ การ Test ไฟล์ครั้งนี้
3. เข้า Start->run พิมพ์ cmd เพื่อเข้า command line แล้ว ใช้คำสั่ง cd เพื่อไปยัง directory ปัจจุบันที่จะทำการ Test จากนั้นพิมพ์ ant เพื่อทำการ Test
4.หลังจากที่ Run เสร็จจะได้ Folder ขึ้นมาเพิ่ม คือ classes instrumented reports , classes คือ folder ที่เก็บ class ที่ถูก compile แล้ว instrumented คือfolder ที่เก็บ class ที่ถูก instrument แล้ว และ Report คือ folder ที่เก็บ Report ทั้งหมดในการ Test Code Coverage และการ Test JUnit ครั้งนี้ สามารถเข้าไปดูได้ จากไฟล์ index
Reference
- Cobertura Test Code Coverage Tool , http://cobertura.sourceforge.net
- JUnit , http://www.junit.org
- Measure test coverage with Cobertura , http://www-128.ibm.com/developerworks/java/library/j-cobertura/