软件
軟件
연건
SOFT WARE
2014年
11期
9-13
,共5页
软件测试%单元测试%区间运算%路径选择%不可达路径
軟件測試%單元測試%區間運算%路徑選擇%不可達路徑
연건측시%단원측시%구간운산%로경선택%불가체로경
software testing%unit testing%interval arithmetic%path choosing%infeasible path
单元覆盖测试的目标是达到尽可能高的覆盖率。为了提高自动化单元测试的覆盖率,本文提出了一种面向目标覆盖元素,基于回溯法遍历程序控制流图,选择可达路径的方法。该方法从函数入口节点开始,进行深度优先的路径遍历,以当前的部分路径是否可达和当前节点是否能够到达目标覆盖元素,作为回溯的条件进行回溯,最终获得一条经过目标覆盖元素的可达路径。最后结合测试用例生成对5个函数单元与原有的选路方案进行语句覆盖测试的对比实验,平均覆盖率从70%提升到了90%,验证了该方法能够有效地提升覆盖率。又针对linux实际大工程进行语句,分支,MCDC覆盖的选路实验,能够获得较高的覆盖率,验证了该方法能够适用于多种不同覆盖准则下的选路。
單元覆蓋測試的目標是達到儘可能高的覆蓋率。為瞭提高自動化單元測試的覆蓋率,本文提齣瞭一種麵嚮目標覆蓋元素,基于迴溯法遍歷程序控製流圖,選擇可達路徑的方法。該方法從函數入口節點開始,進行深度優先的路徑遍歷,以噹前的部分路徑是否可達和噹前節點是否能夠到達目標覆蓋元素,作為迴溯的條件進行迴溯,最終穫得一條經過目標覆蓋元素的可達路徑。最後結閤測試用例生成對5箇函數單元與原有的選路方案進行語句覆蓋測試的對比實驗,平均覆蓋率從70%提升到瞭90%,驗證瞭該方法能夠有效地提升覆蓋率。又針對linux實際大工程進行語句,分支,MCDC覆蓋的選路實驗,能夠穫得較高的覆蓋率,驗證瞭該方法能夠適用于多種不同覆蓋準則下的選路。
단원복개측시적목표시체도진가능고적복개솔。위료제고자동화단원측시적복개솔,본문제출료일충면향목표복개원소,기우회소법편역정서공제류도,선택가체로경적방법。해방법종함수입구절점개시,진행심도우선적로경편력,이당전적부분로경시부가체화당전절점시부능구도체목표복개원소,작위회소적조건진행회소,최종획득일조경과목표복개원소적가체로경。최후결합측시용례생성대5개함수단원여원유적선로방안진행어구복개측시적대비실험,평균복개솔종70%제승도료90%,험증료해방법능구유효지제승복개솔。우침대linux실제대공정진행어구,분지,MCDC복개적선로실험,능구획득교고적복개솔,험증료해방법능구괄용우다충불동복개준칙하적선로。
This paper presents a path selection method which is target coverage element oriented in coverage test. This method tries to traverse the control flow graph of the test unit using backtracking in order to get an executable path. Started from the function entry, method uses depth-first traversal to get a partial path and decides to backtrack depending on two conditions. One is whether current partial path can extend to the target coverage element or not; the other is whether current partial path is executable or not. After the traversal, method will obtain an executable path passing through the target cover-age element if there indeed exists one. Block coverage testing of 5 units shows that average unit coverage is from 70% to 90%, proving this method is effective. Also, high coverage in branch and MCDC coverage test shows this method applies for these two kinds of coverage tests.