人人终身学习知识网~是各类综合知识资源信息分享,提升综合素质与提高知识技能的终身学习网络平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫码,快速开始

计算机编程人员在编写好程序以后需要对程序进行测试.程序员需要知道到底有多少条执行路径(即程序从开始到结束的路线)以便知道需要提供多少个测试数据.一般地一个程序模块由

[复制链接]

问题:计算机编程人员在编写好程序以后需要对程序进行测试.程序员需要知道到底有多少条执行路径(即程序从开始到结束的路线)以便知道需要提供多少个测试数据.一般地一个程序模块由

答案:↓↓↓

网友采纳  思路解析:整个模块的任意一条执行路径都分两步完成:第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=7371(条).  巧妙变式 为了减少测试的时间程序员需要设法减少测试次数.你能帮助程序员设计一个测试方法以减少测试次数吗?  解:在实际测试中可把每一个子模块看成一个黑箱即通过只考察是否执行了正确的子模块的方式来测试整个模块.这样可以先分别单独测试5个模块以考察每个子模块的工作是否正常.总共需要的测试次数为  18+45+28+38+43=172.  再测试各个模块之间的信息交流是否正常只需要测试程序第1步中的各个子模块和第2步中的各个子模块之间的信息交流是否正常需要的测试次数为  3×2=6.  如果每个子模块都工作正常并且各个子模块之间的信息交流也正常那么整个程序模块就工作正常.这样测试整个模块的次数就变为172+6=178(次).  显然178与7371的差距是非常大的.
回复

使用道具 举报

小黑屋/人人终身学习知识网~是各类综合知识资源信息分享,提升综合素质与提高知识技能的终身学习网络平台

Powered by 5wangxiao

© 2007-2021 5wangxiao.Com Inc.

快速回复 返回顶部 返回列表