下面程序段中,(请作答此空)是语句覆盖测试用例,( )是判定覆盖测试用例。if(a<80)b=0;else if(a<=150)b=5;else if(a<200)b=8;else b=1;
- A.a=(80,150,200,201)
- B.a=(80,81,199,200)
- C.a=(79,149,200,201)
- D.a=(79,150,199,200)
正确答案及解析
正确答案
D
解析
本题考查语句覆盖测试与判定覆盖测试。设计测试用例是测试阶段关键技术问题,一个好测试用例,应该有较高发现错误概率。逻辑覆盖是白盒测试一种,主要用于模块测试,它以程序内部逻辑结构为基础,考虑测试数据执行(覆盖)程序逻辑程度。根据覆盖情况不同,逻辑覆盖可分为:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、多重覆盖、路径覆盖、循环覆盖。语句覆盖(statement coverage)就是设计若干个测试用例,使得程序中每条语句至少执行一次。判定覆盖(decision coverage)也称为分支覆盖,就是设计若干个测试用例,使得程序中每个判断取真分支和取假分支至少执行一次。