大题应该是有两道,每道10分,具体是不是我也不知道,老师也不确定。① 白盒测试 —— 控制流图,给出一段代码,画出控制流图,根据公式求程序段的环形复杂度,求程序基本路径集合中的独立路径;② 根据已知条件划分等价类;③ 给出某趋势图分析数据变化情况;④ 用等价类、用决策表、因果图、判定表等各种方法设计测试用例。(设计测试用例三颗星++)
五、设计题
1. 使用基本路径测试方法测试以下程序段。
Int IsLeap(int year)
{
if(year % 4 == 0) ①
{
if(year % 100 == 0) ②
{
if(year % 400 == 0) ③
leap = 1; ④
else
leap = 0; ⑤
}
else
leap = 1; ④
}
else
leap = 0; ⑤
return leap; ⑥
}
(1)画出程序的控制流图(用题中给出的语句编号表示)。
(2)计算上述程序段的环形复杂度。
(3)导出基本路径集,列出程序的独立路径。
(1)
如何画控制流图?
① 确定流程,拆分复合条件;
② 将条件标注在线上,操作标记在圈上。
第一步,先整体浏览一下程序结构,画出程序流程图。(草稿上画)
第二步,根据程序流程图就可以画出控制流图了。
(2)
环路复杂度如何计算?
① 方法一,通过观察,流图中的区域数等于环形复杂度 4;
② 方法二,环形复杂度等于 E - N + 2,其中E是流图中边的条数 8,N是节点数 6;
③ 方法三,环形复杂度等于 P + 1,P是流图中判定节点的数目 3,判定节点由流程图看出。
程序段的环形复杂度为 V(G) = 8条边 - 6个节点 + 2 = 4
最好使用第二种方法进行计算。
(3)
路径1:1 → 5 → 6
路径2:1 → 2 → 4 → 6
路径3:1 → 2 → 3 → 5 → 6
路径4:1 → 2 → 3 → 4 → 6
这个就根据程序流图去写,从上到下,从左到右,不要丢掉哦。
2. 某单位财务管理系统中计算出差补助的方法是,当员工办理长期出差时,不论是否出差,出差到哪里,每月固定补助 1000元,当员工未办理长期出差差时,如果出差省会城市,则每月补助 1500
元,否则补助 800 元。试用判定表法设计测试用例, 测试系统的出差补助计算功能。
由题意可得判定表:
测试用例如下:
基于判定表的方式设计测试用例的步骤:
第一步:首先确定条件桩
第二步:确定动作桩
第三步:确定条件组合的结果
第四步:根据结果写测试用例
3. 某城市电话号码由三部分组成。他们的名称和内容分别是:
地区码:空白或三位数字;前缀:除“0”和“1”以外的任意三位数字;后缀:任意4位数字。
假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码。试根据该程序的规格说明,划分其等价类,并用表格形式表示出来。
避免漏写或冗余。
4. 根据输入3条边(a、b、c)边长的值来判断是否构成一个三角形。如果是三角形,继续判断是等腰三角形还是等边三角形等。为简化问题,a、b、c 只能输入大于零的数,不需要考虑 a、b、c 取零或负数的情况。请使用决策表的方法制定决策表并设计测试用例。
提示,根据三角形边的情况分析规则:
如果不能构成三角形,则不需要判断后3个条件;
如果构成三角形,即 a+b>c、a+c>b 和 b+c>a 都必须成立,没有例外;
如果a=b且a=c,则 b=c 肯定成立;
如果a=b,而 a=c 不成立,就不需要判断 b=c,实际上 b=c 也肯定不能成立,只能为等腰三角形。
5. 在各种输入条件下,测试程序的登录对话框功能。
Agent Name 的规则如下:
Agent Name长度为6至10位(含6位和10位)
Agent Name 由字符(a-z、A-Z)和数字(0-9)组成
Agent Name 不能为空、空格和特殊字符
Password 的规则同 Agent Name的规则,试写出相应的测试用例。
6. 下图是累积缺陷数的理想趋势图,请根据此图回答以下2个问题。
(1)请详细描述理想状态缺陷数据变化情况。
① 产品开发质量情况取决于累积打开/关闭曲线的趋势;
② 项目进度取决于累积关闭/打开曲线起点的时间差;
③ 开发人员、测试人员的工作进度、效率也能得到反映。
(2)如果实际累积曲线与理想曲线差别显著,详细说明软件开发过程可能存在哪些问题。
① 产品的质量是否达到预定的标准;
② 缺陷修正的速度是否滞后;
③ 测试人员验证缺陷是否及时;
④ 缺陷遗漏程度;
⑤ 回归缺陷数量;
⑥ 流程。