什么是详尽测试?
当团队中的所有测试人员都精疲力尽并且所有计划的测试都已执行时,就会发生穷举测试,也称为完整测试。它是一种质量保证测试技术,其中对所有场景或数据进行测试以进行测试。用更容易理解的方式来说,详尽的测试意味着确保在测试阶段结束时不存在未发现的故障。除了微不足道的情况外,测试所有内容(输入和先决条件的所有组合)都是不可行的。作为测试人员,我们经常说:“我只是没有足够的时间进行测试。” 即使您有足够的时间,您仍然没有足够的时间来测试所有可能的输入组合和输出组合。
详尽测试的策略
我们知道,软件测试的 7 个测试原则之一指出,详尽的测试是不可能的。现在的问题是,由于不可能进行详尽的测试,我们应该如何获得足够的覆盖范围来判断被测应用程序往往没有任何缺陷?
我们不会尝试用我们倾向于做的事情以及我们想要应用一些有用的方法来测试所有内容,而是使用风险和优先级来集中测试工作。我们可以采用诸如成对测试之类的技术来减少组合数量,或者采用诸如因果图之类的技术,并采取更多基于逻辑的方法来优化我们的测试。以下是绝对可以包含在测试计划中的基本策略:
2023 年自动化测试将会发生什么
我们的 2023 年自动化测试报告探讨和评估了当前的测试趋势、测试架构和框架,以及支持测试自动化的策略和工具,例如人工智能和低代码。
对业务的影响:这不是唯一的参数,但却是了解风险的最重要参数之一。测试人员应该质疑,如果被测试的模块的某个功能失败,会给整个模块带来多大的风险。测试人员应不断与模块的业务分析师合作,了解每个功能失败所带来的威胁,以便在测试中优先考虑该功能。
失败概率:此参数在了解功能的健康状况方面也发挥着重要作用。与其他功能相比,某些功能发生故障的可能性很高。例如,让我们考虑一个电子商务网站,该网站将具有作为用户登录的功能和其他功能来确定用户的浏览历史记录并正确地为用户提供更多查看选项(交叉销售/追加销售)。作为测试人员,我们可以确定第二个功能损坏的可能性更高,因为与失败可能性较小的登录页面相比,它包含许多要实现的业务算法。
回归:测试人员应通过识别当 AUT 的某些区域发生更改或添加时必须更频繁地回归的功能来查看此参数。应进行正确的影响分析以正确确定区域。影响分析应始终让开发人员、QA 和业务分析师团队参与,以正确了解受影响的区域。
恢复:如果某个功能出现故障,恢复的速度有多快或恢复所需的时间。QA 人员可以从开发人员那里获得有关被测应用程序每个功能的恢复时间的输入。
为什么详尽的测试不切实际且不可能
不可能执行完整的测试或详尽的测试。对于大多数系统来说,这几乎是不可能的,原因如下:
程序可能输入的范围太大,无法完全用于测试系统。有有效输入和无效输入之分。
该程序可能有大量状态。输入可能存在时间限制,即输入可能在某个时间有效,而在其他时间无效。有效但时间不正确的输入值称为不适当的输入。系统的输入域可能非常大,无法完全用于测试程序。
设计问题可能太复杂而无法完全测试。设计可能包括隐含的设计决策和假设。例如,程序员可以使用全局变量或静态变量来控制程序执行。
可能无法创建系统所有可能的执行环境。当软件系统的行为取决于真实的外部世界(例如天气、温度、高度、压力等)时,这一点变得更加重要。
详尽的测试示例
示例1:
详尽的测试 IE 选项示例IE工具> 高级选项窗口:
53 个二元条件
1 个条件,3 个选项
1 个条件,4 个选项
2^53 = 9,007,199,254,740,992 x 12 = 108,086,391,056,891,904 种可能的条件组合
每次测试执行一秒:
108,086,391,056,891,904 / 360 = 300,239,975,158,033.067 小时(12,509,998,964,918.04 天或 34,273,969,766.9 年)来测试所有可能的组合。
示例2:
我们以一个具有以下功能的电子商务网站为例:
登录
选择产品
用颜色过滤产品
用价格过滤产品。
添加到购物车
购买产品(支付门户)
根据风险识别参数,用户可以创建一个矩阵以包含在测试计划中。每个参数都可以给出分数,以便我们能够正确识别高风险区域。
对业务的影响:1-10
失败概率:1-10
回归:1-5
恢复:1-5
根据上述方法,得分高于 25 分的区域应被视为极高风险区域,需要进行近乎详尽的测试。因此,对于上面的示例“添加到购物车”应该对所有测试类型实施深入测试,并且应该进行详尽的测试。
因此,根据分数,我们将“添加到购物车”功能作为“最高风险区域”的首要竞争者,因此现在我们可以优先考虑测试。我们还可以确定 QA 团队需要对哪些功能进行近乎详尽的测试。
QA 团队可以通过查看他们的分数来简化风险缓解计划
分数 1-5:- 单元测试和审查。
得分 5-10:-单元测试 + 黑盒测试(回归和高业务影响领域)
分数 10-15:-深度有限的典型测试类型。
分数 15-25:-典型的测试类型,在某些测试类型中具有深度。
分数 25-30:- 高风险区域。对所有测试类型的完整覆盖和深入测试。