黑盒测试方法大对决

简介:
软件测试的方法有很多种, 其中黑盒测试方法被使用最多, 主要的原因是容易上手, 进入门坎不高. 所以很多测试人员会使用这种方法. 可是很多人对于何时该使用却不是很清楚, 因此让我们来做个简单的比较吧
  1. ECT (Equivalence Class Testing)
  a. 说明: 将受测软件的输入数据, 切成好几个分割(partitions), 对于每个分割, 将会有测试个案去涵盖它
  b. 适用时机
  比较小的功能, 或是单一 API. 或是画面某个 input control
  c. partition 的选择, 是决定你测得好不好的重要关键
  d. ECT and BVT 这两种方法最多人使用, 可是不见得是最系统化的方法来开个案.
  2. BVT (Boundary Values Testing)
  a. 说明: 因为大部分的错误都发生在极值, 所以 BVT  的测试是着重于找出代表性的边界值, 来验证系统的正确性
  b. 适用时机
  比较小的功能, 或是单一 API. 或是画面某个 input control
  c. 这个方法最容易开出测试个案, 因为只要知道输入的值域范围, 马上就可以列出测试个案
  3. UCT (User Case Testing)
  a. 说明: Use cases 是一种从使用者角度, 来描述系统行为的一种方法. 它由一连串由系统执行的行为所组成, 这些行为可能会对用户产生一些价值. 所以 UCT 是测试 use case 中所有 scenario 的组合.
  b. 适用时机
  使用者在进行验收测试.
  c. 开出来的测试个案对使用者最有意义
  4. Pairwise Testing (PT)
  a. 说明: 当你有很多测试环境的组合, 例如 3 个 browser, 5 个 OS, 4 个数据库, 你将会有很多环境组合要测试. PT 会利用每两两组合的方式, 而不是去测试所有的组合, 来降低索要测试的组合量
  b. 适用时机
  要降低测试的组合可以使用. 不过建议自己先列出最重要, 或是风险最高的组合. 之后再利用 PT 来补不足的之处.
 5. STD (State Transition Testing)
  a. 说明: 利用一些涵盖条件(涵盖所有 state, event 或是 transition), 展开 state transition diagram 的 scenario, 让我们可以最小集合, 测试大部份的状况
  b. 适用时机
  设计时间时用来验证是否所有 event 都考虑周密, 或者要对模块做自动化测试适合使用
  6. DTT (Decision Table Testing)
  a. 说明: 列出程序所思考的逻辑条件, 排列出所有可能情况, 并且确认其所产生的输出或是对应的系统行为是否正确
  b. 适用时机
  适合复杂的功能, 或者是比较 high level 的功能
  c. 开出来的测试个案对使用者还算有意义, 但是对于开发团队, 可以用来厘清需求的范围和正确性
  d. 通常在列逻辑条件时, 可以搭配 ECT 来使用, 让你的条件更加丰富.


最新内容请见作者的GitHub页:http://qaseven.github.io/
相关文章
|
1月前
|
安全 测试技术
BOSHIDA DC电源模块的安全性能评估与测试方法
BOSHIDA DC电源模块的安全性能评估与测试方法
 BOSHIDA DC电源模块的安全性能评估与测试方法
|
1月前
|
安全
DC电源模块的安全性能评估与测试方法
DC电源模块的安全性能评估与测试方法 DC电源模块的安全性能评估与测试方法应包括以下几个方面: 1. 输入安全性测试:包括输入电压范围、输入电压稳定性、输入电流范围、输入电流保护等方面的测试。测试方法可以是逐步增加输入电压或输入电流,观察模块的工作状态和保护功能。
DC电源模块的安全性能评估与测试方法
|
1月前
|
监控 JavaScript 前端开发
在生产环境中测试和监控Vue项目的方法有哪些?
在生产环境中测试和监控Vue项目的方法有哪些?
25 4
|
1月前
|
芯片
电容在ESD测试中的选用方法
电容在ESD测试中的选用方法
28 2
|
1月前
|
Java Spring
使用JDBCTemplate实现与Spring结合,方法公用 ——测试(EmpDaoImplTest)
使用JDBCTemplate实现与Spring结合,方法公用 ——测试(EmpDaoImplTest)
8 0
|
3月前
|
敏捷开发 存储 安全
敏捷方法:什么是软件测试中的敏捷模式?
敏捷方法:什么是软件测试中的敏捷模式?
|
3月前
|
敏捷开发 机器学习/深度学习 人工智能
最实用测试方法——TIA
最实用测试方法——TIA
|
14天前
|
自然语言处理 测试技术 持续交付
现代软件测试方法与挑战
传统软件测试方法在当前快速发展的软件开发环境下面临着诸多挑战,因此,现代软件测试方法的探索与应用显得尤为重要。本文将介绍几种现代软件测试方法,并探讨其在应对软件开发挑战方面的作用。
10 0
|
16天前
|
安全 测试技术
深入理解白盒测试:方法、工具与实践
【4月更文挑战第7天】 在软件开发的质量控制过程中,白盒测试是确保代码逻辑正确性的关键步骤。不同于黑盒测试关注于功能和系统的外部行为,白盒测试深入到程序内部,检验程序结构和内部逻辑的正确性。本文将探讨白盒测试的核心技术,包括控制流测试、数据流测试以及静态分析等方法,同时介绍当前流行的白盒测试工具,并讨论如何在实际项目中有效实施白盒测试。文章的目标是为软件测试工程师提供一份综合性指南,帮助他们更好地理解和应用白盒测试技术。
|
29天前
|
传感器 监控 算法
【软件设计师备考 专题 】模块测试的方法和实践
【软件设计师备考 专题 】模块测试的方法和实践
71 0