Version 17

    JBossCache 2.x Code Coverage Analysis

     

    Code coverage analysis is applied to HEAD CVS branch.

     

    Release 2.0 BETA2 Report

    performed on Mar. 15, 2007

      • Command Line executed

        • sh build.sh with.clover all-functionaltests to generate clover instrumentation on all functional tests and source files for JBossCache and PojoCache, see Build_allfunctionaltests_20beta2.log

        Note: 14 tests failed during this run (examine the attached log for details). Those failures have been reflected in the Gap analysis is affected below.

        • sh build.sh clover.pdf to produce clover report in pdf format

        • sh build.sh clover.html to produce clover report in html format

        • sh build.sh clover.log to produce clover log summary

      • Clover Generated Coverage Report

       

        • clover statistics log

     

        clover.log:

     

        clover-log Loaded results from 742 coverage recordings.

     

        clover-log Clover Coverage Report

     

        clover-log Coverage Timestamp: Thu Mar 15 11:52:15 EDT 2007

     

         

     

         

     

        clover-log Coverage Overview -

     

        clover-log       Methods: 5650/7236 (78.1%)

     

        clover-log    Statements: 40235/48273 (83.3%)

     

        clover-log  Conditionals: 5680/9456 (60.1%)

     

        clover-log         TOTAL: 79.4%

     

     

    Gap Analysis

    • Assumptions:

      • Any testcase reports less than 90% coverage is examined for actions

      • Any examined test case that's not reported below means the gap in the coverage is ignored due to:

        being too simple

        false poistive reporting by Clover

      • Any test method named Xtest... is considered not active and not reported here.

      • Any failed test case is report in the Gap analysis.

    • General Observations:

      • Weak negative testing which means exception cases are not tested.

     

    Test Suite coverage quality analysis

    Package

    Test Case

    Observation

    Analysis Remarks

    Action

    org.jboss.cache.pojo.event

    Test

    modify event test was never executed?

    Please improve this test

    org.jboss.cache.replicated

    SyncCacheListenerTest

    nodeRemoved() event notification method was never executed

    Please improve this test

    org.jboss.cache.buddyreplication

    BuddyBackupActivationInactivationTest

    createCache() was never executed

    needs improvement

    org.jboss.cache.passivation

    PassivationActivationCallbacksTestCase

    Reports 0 coverage although there were no failing tests??

    Investigate

    org.jboss.cache.marshall

    AsyncReplTest

    Poor conditional test

    Please improve test case

    org.jboss.cache.loader

    InterceptorSynchronizationTest

    Poor method coverage

    Please improve test coverage

    org.jboss.cache.loader

    DataSourceIntegrationTest

    Poor method coverage

    Please improve test coverage

    org.jboss.cache.loader

    RpcDelegatingCacheLoaderTests

    Poor coverage

    Please improve test coverage

    org.jboss.cache.lock

    ReentrantWriterPreferenceReadWriteLockTest

    acquireReadAndWriteLocks(), acquireWriteThenReadLock were never executed

    Please improve test coverage

    org.jboss.cache.lock

    ReentrantWriterPreference2Readers1WriterLockTest

    some tests failed

    Please improve test coverage

    org.jboss.cache.multiplexer

    SyncReplTxTest

    0 coverage

    Please provide coverage

    org.jboss.cache.multiplexer

    AsyncReplTest

    0 coverage

    Please provide coverage

    org.jboss.cache.pojo.optimistic

    AbstractOptimisticTestCase

    most of the methods were never exercised by subclasses

    Please revisit this test and its subclasses

     

     

     

    Source Code exercised by testing quality analysis

    Package

    Class

    Observation

    Analysis Remarks

    Action

    org.jboss.cache.optimistic

    WorkspaceNodeImpl

    poor test coverage. Lots of its methods never exercised

    Please improve test coverage

    org.jboss.cache.notifications

    CacheListenerEvent

    poor test coverage

    Please improve test coverage

    org.jboss.cache.notifications

    Notifier

    Only "sendImmediate = true " notification was tested across all events

    Please improve test coverage

    org.jboss.cache.buddyreplication

    NextMemberBuddyLocatorConfig

    getBuddyLocatorClass() was never tested

    org.jboss.cache.buddyreplication

    BuddyManager

    Conditional testing is poor

    Please improve test coverage

    org.jboss.cache.buddyreplication

    BuddyGroup

    getLastModified() was never tested

    Please improve test coverage

    org.jboss.cache.pojo.observable

    SubjectInterceptor

    invoke(Invocation) conditional test is inefficient

    Please test for true condition

    org.jboss.cache.eviction

    EvictionQueueList

    toNodeEntryArray(), EvictionListComparator(),.. have no test coverage

    Please improve test case

    org.jboss.cache.eviction

    EvictionTimerTask

    removeRegionToProcess(Region) was never tested

    Please improve test coverage

    org.jboss.cache.eviction

    LRUQueue

    Poor conditional coverage

    Please improve test coverage

    org.jboss.cache.eviction

    BaseEvictionAlgorithm

    Poor conditional coverage

    Please improve test coverage

    org.jboss.cache.statetransfer

    StateTransferManager

    Poor conditional coverage

    Please improve test coverage

    org.jboss.cache.pojo.collection

    CachedListAbstract

    addAll(int index, Collection c) was never tested

    Please improve test coverage

    org.jboss.cache.pojo.collection

    CachedMapImpl

    Poor coverage

    Please improve test coverage

    org.jboss.cache.pojo.collection

    CachedListImpl

    Poor coverage

    Please improve test coverage

    org.jboss.cache.pojo.collection

    CollectionInterceptorUtil

    Poor conditional coverage

    Please improve test coverage

    org.jboss.cache.factories

    XmlConfigurationParser

    Poor conditional coverage

    Please improve test coverage

    org.jboss.cache.marshall

    CacheMarshaller200

    Insufficient conditional coverage

    Please improve test coverage

    org.jboss.cache.marshall

    JavaObjectStreamFactory

    createObjectInputStream(InputStream) was never tested

    Please improve test coverage

    org.jboss.cache.marshall

    SelectedClassnameClassLoader

    Poor conditional coverage

    Please improve test coverage

    org.jboss.cache.marshall

    AbstractMarshaller

    Poor conditional coverage

    Please improve test coverage

    org.jboss.cache.marshall

    InactiveRegionAwareRpcDispatcher

    Poor conditional coverage

    Please improve test coverage

    org.jboss.cache.marshall

    MarshallUtil

    0 coverage

    Please add test coverage

    org.jboss.cache.transaction

    AsyncRollbackTransactionManager

    resume(), suspend never tested

    Please improve test coverage

    org.jboss.cache.pojo

    PojoTreeCache

    some of the methods were never tested

    Please improve test coverage

    org.jboss.cache.loader

    AbstractCacheLoader

    put(List<Modification>) case PUT_DATA_ERASE was never exercised

    Please improve test coverage

    org.jboss.cache.loader

    DelegatingCacheLoader

    poor method coverage

    Please improve test coverage

    org.jboss.cache.loader

    AdjListJDBCCacheLoader

    poor method coverage

    Please improve test coverage

    org.jboss.cache.loader

    AdjListJDBCCacheLoaderConfig

    poor method coverage

    Please improve test coverage

    org.jboss.cache.loader

    ClusteredCacheLoader

    poor method coverage

    Please improve test coverage

    org.jboss.cache.loader

    AbstractDelegatingCacheLoader

    poor method coverage

    Please improve test coverage

    org.jboss.cache.loader

    SingletonStoreCacheLoader

    poor method coverage

    Please improve test coverage

    org.jboss.cache.loader

    TcpDelegatingCacheLoaderConfig

    poor method coverage

    Please improve test coverage

    org.jboss.cache.loader

    AsynchCacheLoaderConfig

    poor method coverage

    Please improve test coverage

    org.jboss.cache.loader

    JDBCCacheLoaderOld

    poor coverage

    Assuming this will be removed in the near future, ignore

    org.jboss.cache.loader

    TransformingJDBCCacheLoader

    0 coverage

    Please provide coverage

    org.jboss.cache.loader

    TransformingFileCacheLoader

    0 coverage

    Please provide coverage

    org.jboss.cache.loader

    RpcDelegatingCacheLoaderConfig

    0 coverage

    Please provide coverage

    org.jboss.cache.loader

    RpcDelegatingCacheLoader

    0 coverage

    Please provide coverage

    org.jboss.cache.loader

    RmiDelegatingCacheLoaderConfig

    0 coverage

    Please provide coverage

    org.jboss.cache.loader

    RmiDelegatingCacheLoader

    0 coverage

    Please provide coverage

    org.jboss.cache.interceptors

    CacheStoreInterceptor

    convertMethodCallToModification(MethodCall needs better coverage

    Please improve method coverage

    org.jboss.cache.interceptors

    ActivationInterceptor

    poor coverage

    Please improve coverage

    org.jboss.cache.interceptors

    CreateIfNotExistsInterceptor

    0 coverage

    Please provide coverage

    org.jboss.cache.lock

    ThreadLocalMap

    poor method coverage

    Please improve test coverage

    org.jboss.cache.lock

    SemaphoreLock

    poor method coverage

    Please improve test coverage

    org.jboss.cache.lock

    LockUtil

    poor method coverage

    Please improve test coverage

    org.jboss.cache.lock

    SimpleLock

    poor method coverage

    Please improve test coverage

    org.jboss.cache.pojo.interceptors

    StaticFieldIntercept

    0 coverage

    Please provide coverage

    org.jboss.cache.pojo.interceptors

    PojoEventInterceptor

    0 coverage

    Please provide coverage

    org.jboss.cache.util

    ExposedByteArrayOutputStream

    it's not well tested

    Please improve coverage

    org.jboss.cache.pojo.impl

    ObjectGraphHandler

    get(Fqn fqn, Class clazz, PojoInstance pojoInstance) was never exercised

    Please provide coverage for this method

    org.jboss.cache.pojo.impl

    InternalHelper

    Poor method coverage

    Please provide coverage for this method

    org.jboss.cache

    ConsoleListener

    0 coverage

    Please provide coverage

    org.jboss.cache

    ReplicationQueue

    0 coverage

    Please provide coverage

    org.jboss.cache

    ShutdownThread

    0 coverage

    Please provide coverage

    org.jboss.cache

    TreeCacheGui

    0 coverage

    Please provide coverage

    org.jboss.cache

    TreeCacheGui2

    0 coverage

    Please provide coverage

    org.jboss.cache

    TreeCacheView

    0 coverage

    Please provide coverage

    org.jboss.cache

    TreeCacheView2

    0 coverage

    Please provide coverage

    org.jboss.cache

    RegionManager

    Poor conditional coverage

    Please improve coverage

    org.jboss.cache.loader.tcp

    TcpCacheServer

    Poor conditional coverage

    Please improve coverage

    org.jboss.cache.pojo.util

    AopUtil

    findCacheInterceptor(InstanceAdvisor advisor, Fqn fqn) was never exercised

    Please provide coverage for this method

    org.jboss.cache.pojo.util

    CacheApiUtil

    XgetDataNode(CacheSPI cache, Fqn fqn) was never exercised

    Please provide coverage for this method

    org.jboss.cache.pojo.util

    MethodCall

    Poor coverage

    Please provide better coverage

    org.jboss.cache.pojo.interceptors.dynamic

    all classes

    insufficient coverage

    Please improve coverage

    org.jboss.cache.pojo.memory

    all classes

    insufficient coverage

    Please improve coverage

    org.jboss.cache.pojo.jmx

    all classes

    insufficient coverage

    Please improve coverage

    org.jboss.cache.rpc

    all classes

    insufficient coverage

    Please improve coverage

    org.jboss.cache.pojo.factory

    all classes

    0 coverage

    Please provide coverage

    org.jboss.cache.pojo.eviction

    all classes

    0 coverage

    Please provide coverage

    org.jboss.cache.loader.rmi

    all classes

    0 coverage

    Please provide coverage