本文转自测试人社区,霍格沃兹测试开发学社学员笔记
原文链接:https://ceshiren.com/t/topic/29430

一、等价类

1.1 定义

  • 等价类划分是一种重要的、常用的黑盒测试方法;
  • 不需要考虑程序的内部结构,只需要考虑程序的输入规格即可;
  • 它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性;
  • 用户所有可能输入的数据,划分成了若干个子集,然后从没一个子集当中选取少数具有代表性的数据作为测试用例;
  • 在测试资源有限的情况下,用少量有代表性的数据得到比较好的测试效果。

1.2 划分

有效等价类:指符合《需求文档》,输入合理的数据集合;
无效等价类:指不符合《需求文档》,输入不合理的数据集合。

1.3 划分原则

  1. 规定输入的取值范围或个数时,则划分一个有效和两个无效;
  2. 规定输入的集合或规则必需要遵循的条件,则划分一个有效和一个无效;
  3. 输入条件是一个布尔值,则划分一个有效和一个无效;
  4. 输入条件是一组数据,且每个输入的值做不同的处理,则划分若干个有效和一个无效;
  5. 输入条件规定了必须要遵循的某些规则下,则划分一个有效和若干个无效;
  6. 不是所有的等价类都有无效等价类。

1.4 设计步骤

  1. 先划分等价类:找出所有可能的分类;
  2. 确定有效等价类:需求中的条件;
  3. 确定无效等价类:与条件相反的情况,再找到特殊情况;
  4. 从各个分类中挑选测试用例数据。

二、边界值

2.1 定义

  • 大量的软件测试实践表明,故障往往出现在定义域或值域的边界上,而不是在其内部;
  • 为检测边界附近的处理,专门设计测试用例,通常都会取得很好的测试效果;
  • 边界值分析法是一种很实用的黑盒测试用例方法,它具有很强的发现故障的能力;
  • 边界值分析法是作为对等价类划分法的补充,测试用例来自等价类的边界。

2.2 确定方法

  • 上点:边界上的点;
  • 离点:离上点最近的点;
  • 内点:在输入域内任意一个点;
  • 选取正好等于、刚好大于或刚好小于边界值作为测试数据。

2.3 划分规则

场景取值
如果规定了输入域的取值范围选取刚好在范围边界的点、刚好超过边界的点
如果规定了输入值的个数选取最大个数、最小个数、比最小个数少1、比最大个数多1
如果规定了输入是一个有序的集合选取集合的第一个元素、最后一个元素

三、因果图

3.1 定义

  • 因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法;
  • 它适合于检查程序输入条件的各种组合情况:
    • “因”——输入条件
    • “果”——输出结果

3.2 使用场景

  • 描述多种条件的组合;
  • 产生多个动作。

3.3 基本符号

符号描述
恒等若原因出现,则结果出现;若原因不出现,则结果也不出现
若原因出现,则结果不出现;若原因不出现,则结果出现
有多个原因。若几个原因中有一个出现,则结果出现;若几个原因都不出现,则结果不出现
有多个原因。若几个原因都出现,则结果才出现;若其中一个原因不出现,则结果不出现

3.4 互斥条件

条件描述
互斥(E)a、b、c只能有一个成立,但是可以都不成立
包含(I)a、b、c中至少有一个成立
唯一(O)a、b、c有且仅有一个成立
要求(R)如果a成立,则要求b必须也成立,其他的不约束
屏蔽(M)如果a成立的时候,强制b不成立,其他的不约束

3.5 基本步骤

  1. 找出所有的输入条件(因);
  2. 找出所有的输出条件(果);
  3. 明确所有输入条件之间的制约关系以及组合关系;
  4. 明确所有输出条件之间的制约关系已经组合关系;
  5. 找出什么样的输入条件组合会产生哪种输出结果;
  6. 把因果图转换成判定表;
  7. 为判定表中的每一列表示的情况设计测试用例。

推荐

Python全栈开发与自动化测试开发班

由浅入深实战进阶,从小白到高手

以Python全栈开发为基础,深入教授自动化测试技能,为学员打造全面的技术能力。通过系统学习和实际项目实战,学员将具备在职场中脱颖而出的竞争力。不仅能够灵活运用Python进行开发,还能够保障项目质量通过自动化测试手段。这是一个全面提升职业竞争力的机会。

课程详情

Python开发必备基础技能与项目实战

Pvthon 编程语言/算法和数据结构/面向对象编程Web后端开发/前端开发/测试管理平台项目实战

人工智能ChatGPT实战

人工智能辅助学习各种开发和测试技能/Pytorch深度学框架/平台开发实战

数据分析与自动化办公

数据采集/Pandas与数据处理技术/ECharts与数据可视化技术/爬虫实战/自动化办公/批量文件处理

UI自动化测试与高级项目实战

Web自动化测试/App自动化测试/ PageObject设计模式

接口自动化测试

接口协议分析/Mock实战/服务端接口测试

性能测试

性能测试流程与方法/JMeter 脚本参数化/Grafana监控系统搭建

简历指导与模拟面试

1V1简历指导/模拟真实面试/测试开发岗面试全攻略名企私教服务 名企专家1v1辅导/行业专家技术指导/针对性解决工作难题/绩效提升辅导与晋升复盘

课程亮点

名企私教服务  先学习后付费 高额奖学金

专属社群+晚自习在线答疑

5V1全方位辅导作业+考试强化学习效果

简历修改 模拟面试 就业内推 面试复盘

image.png  

福利一: 测试开发精品课免费学

image.png  

福利二:免费领取技能图谱&大厂面试题合集

image.png

e4de1166c0b6a944f3fe30fdd71e77f.png


用户bPc5q3Z
12 声望1 粉丝