A-A+

设计一组测试用例 使该程序所有函数的语句覆盖率和分支覆盖率尽量达到最大。如果认为该程序的语句

2022-08-06 00:34:59 问答库 阅读 173 次

问题详情

设计一组测试用例,使该程序所有函数的语句覆盖率和分支覆盖率尽量达到最大。如果认为该程序的语句覆盖率或分支覆盖率无法达到100%,需说明为什么。请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:测试用例:①输入:bookCount输出:合法!②输入:puts输出:常、变量标识不能用C语言预定义函数名!③输入:5student输出:首字符只能是字母或下划线!④输入:stu+name输出:常、变量只能由字母、下划线和数字构成!⑤输入:float输出:常、变量标识不能用C语言关键字!⑥输入:putsfloatstudentsnamechinachineseenglishchinachinesechinachina输出:内存不够!⑦输入:_StuId输出:合法!该程序的语句覆盖率或分支覆盖率均无法达到100%因为该程序允许中间返回值。如果if条件中任意一个成立就立即返回那么剩下的语句就无法执行;即使所有的if条件均不成立。运行到最后那么if条件成立时的语句就无法执行其覆盖率始终无法达到100%。
测试用例:①输入:bookCount,输出:合法!②输入:puts,输出:常、变量标识不能用C语言预定义函数名!③输入:5student,输出:首字符只能是字母或下划线!④输入:stu+name,输出:常、变量只能由字母、下划线和数字构成!⑤输入:float,输出:常、变量标识不能用C语言关键字!⑥输入:putsfloatstudentsnamechinachineseenglishchinachinesechinachina,输出:内存不够!⑦输入:_StuId,输出:合法!该程序的语句覆盖率或分支覆盖率均无法达到100%,因为该程序允许中间返回值。如果if条件中任意一个成立就立即返回,那么剩下的语句就无法执行;即使所有的if条件均不成立。运行到最后,那么if条件成立时的语句就无法执行,其覆盖率始终无法达到100%。

考点:覆盖率,语句