文章目录
- 考试题型
- 简答题
- (一) 等价类划分
- 1.1 划分等价类
- 1.2 设计测试用例
- (二) 边界值分析
- 2.1 列出边界值分析表
- 2.2 设计测试用例
- (三) 因果图分析
- 3.1 确定原因和结果
- 3.2 确定原因和结果之间的逻辑关系
- 3.3 在因果图上使用标准的符号标明约束条件
- (四) 判定表驱动
- 4.1 将因果图转换为判定表
- 4.2 设计测试用例
- (五) 逻辑覆盖
- (六) 基本路径测试
- 6.1 画出程序控制流程图
- 6.2 计算程序环路复杂性
- 6.3 确定独立路径集合
- 6.4 设计测试用例
考试题型
- 简答题 (共 4 题,每题 5 分,共 20 分)
- 等价类划分 (16 分)
- 边界值分析 (13 分)
- 判定表驱动 (22 分)
- 逻辑覆盖 (12 分)
- 基本路径测试 (17 分)
- 注意事项:
- 尽快检查在线测试是否存在误判情况
- 核对实验成绩及扣分情况
- 注意答题顺序 (建议按难易程度+分值)
- 不可使用铅笔绘图 (因果图和程序控制流程图)
- 测试用例中每个输入条件都必须有具体确定的数值
- 表头中标注编号的部分只给出编号除了逻辑覆盖法的条件覆盖以外,其他测试至多有一种无效情况存在(null也所做一种)
简答题
- 重点复习:
- 软件质量分析【ISO】
- 手工测试与自动化测试【软件测试的分类】
- 因果图分析法确定中间结果的一般原则【因果分析法设计要点】
- 逻辑覆盖法与基本路径测试法【逻辑覆盖法与基本路径测试法】
- 单元测试的任务及采用方法【单元测试的目标和方法】
- 软件质量分析【ISO】
(一) 等价类划分
1.1 划分等价类
- 等价类设计允许适度冗余;
- 输入条件包含复合情况需拆分;
- 用于验证系统功能正确性的有效等价类允许合并;
- 分析等价类时需注意隐含条件;
- 有效等价类和无效等价类需分别顺序编号;
- 输出域不为海量数据时,无需分析等价类;
- 输入条件间存在依赖关系时只需在测试用例设计过程中有所体现,等价类设计时作为独 立条件分析。
1.2 设计测试用例
- 预期输出需与题目规则要求完全一致;
- 一个测试用例最多只能覆盖一个无效等价类;
- 对于验证健壮性的测试用例,覆盖等价类编号只需突出无效等价类即可;
- 测试用例设计需同时兼顾输入和输出等价类的覆盖。
(二) 边界值分析
2.1 列出边界值分析表
- 只需为与数值、区间、范围、时间有关的等价类分析边界值;
- 七点法代表一种选值的思想,不需要硬凑七个数据,需具体问题具体分析;
- 若为无界区间[a,+∞] ,则右边界选择一个足够大的数代替无穷大即可;\需选择固定取值作为测试用例的正常值。
2.2 设计测试用例
- 所有测试用例的数据均应取自边界值分析表;
- 一个测试用例最多只能覆盖一个边界值,其余均取正常值;
- 与数值无关的等价类在测试用例设计过程中随意选取合法有效输入即可。
(三) 因果图分析
3.1 确定原因和结果
- 原因:输入条件的有效等价类 ( 一般规则)
- 结果:预期输出
- 注意事项:
- 原因和结果均以逻辑值形式给出;
- 建议以有效等价类形式描述原因;
- 为了确保测试的充分性,复合条件需拆分为简单条件 (关系表达式);
- 原因和结果的编号及描述需做到规范准确。
3.2 确定原因和结果之间的逻辑关系
- 不可使用铅笔绘制因果图;
- 分析问题的一般方式为:从结果入手,分析结果和原因间存在怎样的关系;
- 如果结果间存在递进关系或者嵌套关系,则必须按输入顺序进行分析;
- 中间结果的确定:多个输入条件间存在更为紧密的关系;
- 某输出以某输入作为前提条件 (注意需求中的描述) ,为了后续分析的顺利进行,必须 增加中间结果。
3.3 在因果图上使用标准的符号标明约束条件
- 原因间约束的确定:需从最终用户角度出发,考虑对用户输入的限制。
(四) 判定表驱动
4.1 将因果图转换为判定表
- 对于不合理规则,根据题目要求确定是否列出;
- 中间结果无需列出,条件桩和动作桩只需列出原因和结果的编号即可;
- 为了减少规则及测试用例数量,应尽可能进行合并化简;
- 避免重复合并及遗漏合并现象发生,建议按输入条件的顺序进行合并。
- 判定表驱动法考虑排列组合问题。
- 合并化简注意事项:
- 对于输入条件过多的情况,可以一开始就考虑合并化简;
- 合并化简的前提为动作项相同;
- 必须通过“-”表示条件无关或者条件不适用。
4.2 设计测试用例
- 测试用例中每个输入条件都必须有具体确定的数值,不可用“-”或“取值无关”表示;
- 测试用例若为空,则任何信息均不填写,不可用“为空”或“NULL”表示。
(五) 逻辑覆盖
- 基本设计思路:
- 按照“分类设计,严卡概念”的基本思想开展测试设计任务;
- 合理利用真值表,先确定判断或条件的取值,然后选择测试数据;
- 先设计覆盖率低的测试用例,然后对照覆盖率高的要求,查缺补漏;
- 避免出现冗余或遗漏。
- 注意事项:
- 真值表中必须通过“-”表示条件不适用;
- 逻辑覆盖分析中只考虑判定间的嵌套关系,不考虑条件间的逻辑关系;
- 对于真值表中验证不到的输入条件,测试用例中必须给出具体且有效的数据;
- 覆盖路径只需给出编号即可。
(六) 基本路径测试
6.1 画出程序控制流程图
- 复合条件下判定结点必须拆分为简单条件 (关系表达式);
- 适当合并处理结点;
- 根据情况适当增加汇合点 (分支结构结束、程序出口等)。
- 绘图结束后,确认以下内容:
- 需保证每个条件结点出度等于 2;
- 图的绘制保证单入口单出口;
- 避免出现交叉线导致区域无法准确识别;
- 在图中需标出区域,注意 1 个开放区域;
- 汇合点必须给出编号。
6.2 计算程序环路复杂性
- 三个公式必须给出完整计算过程和结果。
- 由于程序流程图中已标出条件结点的序号,则公式 P+1 可用于检验其他公式结果是否一致, 以及绘图是否正确。
6.3 确定独立路径集合
- 独立路径数≤环路复杂性,若程序控制流程图中存在局部连锁结构,则独立路径数<环路 复杂性;
- 基本路径覆盖需保证程序控制流程图中所有结点和控制流线(弧)的覆盖;
- 独立路径列举过程中避免出现冗余或遗漏;
- 独立路径需排除不合理情况。
6.4 设计测试用例
- 测试用例中每个输入条件都必须有具体确定的数值,即使覆盖的独立路径未验证到某个 输入条件;
- 覆盖独立路径只需给出编号即可。