Software architecture testing is an importantmethod of assuring quality and enhancing reliability and component path coverage is an essential criterion for software architecture testing adequacy. Since the rigid component path covertesting is infeasible, we select and test some key componentpaths, which outweigh others on affecting the overall quality ofthe system, to enhance software architecture test efficiency andprofit. This paper presents a set of component path coveragecriteria for C2-style architecture, and proposes two componentpath coverage criteria, component path with node-sequencecoverage criterion and component path with edge-sequencecoverage criterion, and proves the subsumption relationshipsamong them. We propose two algorithms to calculate thecomponent path coverage rate on these two component pathcoverage criteria. Experimental results show that, for top andbottom components, the component path of length N coveragerate decreases from 57.14% to 34.78%, the component pathwith node-sequence of node N coverage rate increases from64.45% to 100%, and the component path with edge-sequenceof edge N coverage rate increases from 66.26% to 100%.However for middle levels components, the component pathof length N coverage rate decreases from 26.92% to 8.70%, thecomponent path with node-sequence of node N coverage ratedecreases from 7.80% to 0.16%, and the component path withedge-sequence of edge N coverage rate decreases from 7.64% to0.08%. Experimental result shows that the proposed componentpath coverage criteria provide a good foundation for softwarearchitecture testing practice and the further research.
展开▼