试题详情
- 简答题 下面是选择排序的程序,其中datalist是数据表,它有两个数据成员:一是元素类型为Element的数组V,另一个是数组大小n。算法中用到两个操作,一是取某数组元素V[i]的关键码操作getKey(),一是交换两数组元素内容的操作Swap():
(1)试计算此程序段的McCabe复杂性; (2)用基本路径覆盖法给出测试路径; (3)为各测试路径设计测试用例。
-
(1)McCabe环路复杂性=5
(2)独立路径有5条:
①③
……①②⑤⑧
……①②⑤⑨
……①②④⑥
……①②④⑦
(3)为各测试路径设计测试用例:
路径①③:取n=1
路径……①②⑤⑧:取n=2,
预期结果:路径⑤⑧③不可达
路径……①②⑤⑨:取n=2,
预期结果:路径⑤⑨③不可达
路径①②④⑥⑤⑧③:
取n=2,V[0]=2,V[1]=1,预期结果:k=1,V[0]=1,V[1]=2
路径①②④⑥⑤⑨③:
取n=2,V[0]=2,V[1]=1,预期结果:k=1,路径⑨③不可达
路径①②④⑦⑤⑧③:
取n=2,V[0]=1,V[1]=2,预期结果:k=0,路径⑧③不可达
路径①②④⑦⑤⑨③:
取n=2,V[0]=1,V[1]=2,预期结果:k=0,V[0]=1,V[1]=2
关注下方微信公众号,在线模考后查看
热门试题
- 简述传统方法和面向对象方法的特点。
- 在软件需求分析阶段,分析人员要确定对软件
- 数据字典中的加工逻辑主要描述该加工(),
- 举例说明你对概要设计与详细设计的理解。有
- 动态模型描述与时间和变化有关的系统的性质
- 风险估计从两个方面估价风险。一是估计一个
- 什么是“对象”?识别对象时将潜在对象分成
- 快速原型模型中,用于及早向用户提交一个原
- 研究开发资源的有效性属于()可行性的一部
- 什么是软件评审?软件设计质量评审和程序质
- 在建立项目组织时应注意的原则有三: ①
- 模块内联系和模块间联系有哪些种类?
- 典型的面向对象设计模型在逻辑上由哪几部分
- 请对下面代码的布局进行改进,使其符合规范
- 要成功地完成软件开发工作的一个主要的决定
- 由因果图转换出来的()是确定测试用例的基
- 程序语言的编译系统和解释系统相比,从用户
- 什么是软件开发方法?有哪些主要开发方法?
- 比较面向对象的分析方法和面向数据流的分析
- 从下列关于软件测试的叙述中,选出5条正