Panopticode Tool
Overview
Code Coverage Tool ที่ชื่อ Panopticode ตัวนี้ หลักการก็จะคล้ายๆกับ code coverage tools ตัวอื่นๆคือ integration กับ JUnit เพื่อทำการทดสอบดูการ Coverage ของ Test case ผ่านทาง Ant Script แต่สิ่งที่แตกต่างออกมาคือ การที่ Panopticode นำ Lib อื่นๆมาร่วมในการวิเคราะห์ code ด้วย เช่น Check Style,Complexity เป็นต้น และอีกทั้งยัง ออก Report ให้อยู่ในรูปแบบของ Tree Map เพื่อให้ดูภาพรวมของระบบได้ง่ายขึ้น
Feature
- สามารถ executed จาก ant srcipt
- Instruments Java Byte Code หลังจาก Compiles
- สามารถ Report ออกมาเป็น ไฟล์ HTML ,XML และ TreeMap??
- สามารถ นำ Library อื่นๆมาร่วม(Plug-in)ในการทำ Code Coverage ได้ เช่น Emma , Cobertura * คำนวน Line , Branches Coverage ได้
- ตั้งแต่ class , package และ ทั้งโปรแกรม ขึ้นอยุ่กับการเลือก Library
- คำนวน McCabe???? cyclomatic code complexity ตั้งแต่ class , package และ ทั้งโปรแกรม โดยใช้ Complexian Library
- เช็คการเขียน source code ตามมาตรฐานของ Sun Microsystems โดยใช้ CheckStyle?? Library
- highlight code แต่ละ line ได้ ใน Report
Sample Report
- coverage-treemap.png:
Installation Panopticode
1. โหลด Library ที่เว็บ
http://downloads.sourceforge.net/panopticode/panopticode-0.1.zip และ source code ที่จะทำมา ทดสอบที่เว็บ
http://downloads
2.นำ source code และ library ที่ได้โหลดมา หลังจาก คลาย zip จะได้ folder ชื่อ panopticode นำมาวางไว้ในpath เดียวกัน
- Untitled-1.gif:
อธิบาย
- Folder ชื่อ panopticode เป็น Folder ของ Library ต่า่งๆ สำหรับทำการ Test Code Coverage
- Folder ชื่อ unittest เป็น Folder Unit Test สำหรับ Test Class ต่า่งๆ ที่อยู่ใน Folder prod
- Folder ชื่อ prod เป็น Folder Source Code สำหรับนำมา Test
Quick Start
1. นำ ไฟล์ build-example.xml ที่อยู่ใน Folder panopticode มาไว้ที่ Folder หลัก(ในที่นี้ชื่อ For Test) เป็น Root Folder แล้วเปลี่ยนชื่อเป็น build.xml
2. แก้ไฟล์ panopticode-imports.xml ใน Folder panopticode ดังนี้
บรรทัดที่ 53 ตัด code ออกดังนี้
และบรรทัดที่ 109 ตัด code ออกดังนี้
<panopticode-scm-log projectDir="@{projectDir}"
outputDir="@{outputDir}" />
3. แก้ไฟล์ emma-imports.xml ใน panopticode\supplements\emma แก้บรรทัดที่ 58 เป็นดังนี
4. ทำการ Build Ant ที่ Folder หลัก จะได้ผลลัพธ์ดังรูป
5. จะได้ Folder ชื่อ Target เพิ่มขึ้นมา จะมี Report ที่ Folder reports\svg ใน Target จะเป็น File .svg เปิดได้ใน IE และ FireFox?
Reference
- Panopticode Code Coverage Tools , http://www.panopticode.org/