思路解析:整个模块的任意一条执行路径都分两步完成:第1步是从开始执行到A点;第2步是从A点执行到结束.而第1步可由子模块1或子模块2或子模块3来完成;第2步可由子模块4或子模块5来完成.因此,分析一条指令在整个模块的执行路径需要用到两个计数原理.
解:由分类加法计数原理,子模块1或子模块2或子模块3中的子路径共有
18+45+28=91(条);
子模块4或子模块5中的子路径共有38+43=81(条).
又由分步乘法计数原理,整个模块的执行路径共有91×81=7 371(条).
巧妙变式 为了减少测试的时间,程序员需要设法减少测试次数.你能帮助程序员设计一个测试方法,以减少测试次数吗?
解:在实际测试中,可把每一个子模块看成一个黑箱,即通过只考察是否执行了正确的子模块的方式来测试整个模块.这样,可以先分别单独测试5个模块,以考察每个子模块的工作是否正常.总共需要的测试次数为
18+45+28+38+43=172.
再测试各个模块之间的信息交流是否正常,只需要测试程序第1步中的各个子模块和第2步中的各个子模块之间的信息交流是否正常,需要的测试次数为
3×2=6.
如果每个子模块都工作正常,并且各个子模块之间的信息交流也正常,那么整个程序模块就工作正常.这样,测试整个模块的次数就变为172+6=178(次).
显然,178与7 371的差距是非常大的.
湖北省互联网违法和不良信息举报平台 | 网上有害信息举报专区 | 电信诈骗举报专区 | 涉历史虚无主义有害信息举报专区 | 涉企侵权举报专区
违法和不良信息举报电话:027-86699610 举报邮箱:58377363@163.com