供选择的答案:
A ~ B: ① 引用分析 ② 算法分析 ③ 可靠性分析 ④ 效率分析 ⑤ 接口分析 ⑥ 操作分析
C ~ E: ① 路径测试 ② 等价类 ③ 因果图 ④ 归纳测试 ⑤ 综合测试 ⑥ 追踪 ⑦ 深度优先 ⑧ 调试 ⑨ 相对图
【5-9】下面是选择排序的程序,其中datalist是数据表,它有两个数据成员:一是元素类型为Element的数组V,另一个是数组大小n。算法中用到两个操作,一是取某数组元素V 的关键码操作getKey ( ),一是交换两数组元素内容的操作Swap( ):
void SelectSort ( datalist & list ) {
//对表list.V[0]到list.V[n-1]进行排序, n是表当前长度。
for ( int i = 0; i < list.n-1; i++ ) {
int k = i; //在list.V .key到list.V[n-1].key中找具有最小关键码的对象
for ( int j = i+1; j < list.n; j++)
if ( list.V[j].getKey ( ) < list.V[k].getKey ( ) ) k = j; //当前具最小关键码的对象
if ( k != i ) Swap ( list.V , list.V[k] ); //交换
} }
(1) 试计算此程序段的McCabe复杂性; (2) 用基本路径覆盖法给出测试路径; (3) 为各测试路径设计测试用例。
【5-10】根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。
“一个程序读入三个整数。把此三个数值看成是一个三角形的三个边。这个程序要打印出信息,说明这个三角形是三边不等的、是等腰的、还是等边的。”
【5-11】设要对一个自动饮料售货机软件进行黑盒测试。该软件的规格说明如下:
“有一个处理单价为1元5角钱的盒装饮料的自动售货机软件。若投入1元5角,按下“可乐”、“雪碧”或“红茶”按钮,相应的饮料就送出来。若投入的是2元,在送出饮料的同时退还5角。”
(1) 试利用因果图法,建立该软件的因果图; (2) 设计测试该软件的全部测试用例。
【5-12】对一个长度为100,000条指令的程序进行测试,记录下来的数据如下:
测试开始, 发现错误个数为0; 经过160小时的测试, 累计改正100个错误, 此时, MTTF = 0.4小时; 又经过160小时的测试, 累计改正300个错误, 此时, MTTF = 2小时;
(1) 估计程序中固有的错误总数; (2) 为使MTTF达到10小时, 必须测试和调试这个程序多长时间?
(3) 给出MTTF与测试时间t之间的函数关系。
【5-13】应该由谁来进行确认测试?是软件开发者还是软件用户?为什么?
答案:【5-1】A. ② B. ④ C. ① D. ④ E. ④【5-2】A. ② B. ④ C. ④ D. ② E. ①
【5-3】正确的叙述有(4)、(5)、(6)、(7)、(10) 【5-4】(1) ② (2) ⑩ (3) ⑨ (4) ⑧ (5) ④
【5-5】对小程序进行穷举测试,不见得能保证程序百分之百正确。所谓穷举测试是拿所有可能的输入数据来作为测试用例(黑盒测试),或覆盖程序中所有可能的路径(白盒测试)。对于小程序来说,实际上并不能真正作到穷举测试
【5-6】单元测试又称模块测试,是针对软件设计的最小单位─程序模块,进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/ruanjian/article-36049-7.html
这个是真的
接下来是应该看我们的了