在本节中,我们将了解探索性测试、其类型、何时使用它以及它的优缺点。
1. 什么是探索性测试?
如果需求不存在,那么我们会进行一轮探索性测试。
因此,首先,我们将以所有可能的方式探索应用程序,了解应用程序的流程,准备测试文档,然后测试应用程序,这种方法称为探索性测试。
2. 当我们使用探索性测试时
我们将在以下方面使用此测试:
- 缺少要求时
-
需要早期迭代
-
当我们有关键应用程序时,测试团队拥有经验丰富的测试人员,并且新的测试人员进入团队。
例如,要测试任何软件或应用程序,首先,我们将执行单元、集成和系统测试。
因此,如果我们想先了解任何应用程序,我们将执行单元或组件测试,假设应用程序有一个包含许多元素的登录页面,我们将了解每个部分并进行组件测试,但实际上,我们正在进行探索性测试,因为我们正在探索应用程序。
假设我们在应用程序中有许多模块,并且我们正在尝试执行一些集成方案。
间接地,我们只是在执行集成测试的同时进行探索性测试。
而且,即使我们正在执行系统测试,我们也在间接地执行探索性测试,因为在这里我们也在了解和探索应用程序。
3. 为什么缺少要求
由于以下原因,缺少该要求:
如果项目非常陈旧,测试工程师无法从一开始就理解每个场景,并且可能会缺少需求。
例如,在每家公司中,我们没有看到任何快速流程,这意味着,我们不能期望在短短一个月内完成发布,并且产品应该在非常短的时间内交付。
在过去的6到12年中,许多公司仍处于特定产品的开发阶段。
假设一家公司有一个 15 年前的项目,他们现在聘请了一位新的测试工程师。新的测试工程师要从头开始或从头开始理解每个场景或要求时面临许多困难,因为他是应用程序的新手。
在这种情况下,测试工程师将如何处理 15 年前的软件?
因此,首先,他将接受应用程序并开始探索应用程序。一旦测试工程师开始使用该应用程序,他将了解应用程序是如何工作的。而且,这个过程只不过是探索性测试。
4. 如何执行探索性测试
为了进行探索性测试,首先,我们将开始使用应用程序,并从具有良好产品知识的人员(例如高级测试工程师和开发人员)那里了解应用程序的需求。
然后我们将探索应用程序并编写必要的文档,并将该文档发送给领域专家,他们将浏览该文档。
我们可以根据我们的知识测试应用程序,并借助已经在市场上推出的竞争产品。
5. 探索性测试的类型
探索性测试可分为三个部分,具体如下:
自由式
在自由式测试中,我们没有遵循任何规则,没有最大覆盖范围,我们将像 Adhoc 测试一样探索应用程序。
如果我们想友好地使用软件并检查其他测试工程师的工作,我们可以使用自由式探索性测试。
基于战略
基于策略的探索性测试可以在多种测试技术的帮助下执行,例如基于风险的、边界值分析和等价划分。
它是由经验丰富的测试人员完成的,并且使用该应用程序的时间最长,因为他非常了解该应用程序。
基于场景
基于场景的探索性测试是借助端到端、测试场景和真实用户场景等多种场景进行的。
测试工程师可以发现缺陷, 并在探索应用时利用其应用知识检查多种场的各种可能性。
6. 探索性测试的优缺点
优点
以下是探索性测试的一些优点:
- 如果测试工程师使用探索性测试,他可能会在早期遇到严重错误,因为在此测试中,我们需要较少的准备工作。
-
在此测试中,我们还可以找到测试用例中可能遗漏的那些错误。
-
此测试可用于测试新功能,而对于现有功能,如果我们有较少的时间测试应用程序,我们将使用回归测试。
-
对于测试工程师来说,这种测试需要大量的注意力来探索应用。
缺点
以下是探索性测试的缺点:
- 耗时,这是一个耗时的过程,因为我们不知道要求,并且必须首先测试哪个功能,因为我们只是在探索应用程序。
-
测试工程师会将该功能误解为错误。
例如,假设我们有一个登录页面,要求我们必须提供必要的详细信息,如用户名、密码和员工 ID,然后单击登录按钮。
但是在进行探索性测试时,我们只提供用户名、密码的详细信息,然后单击登录按钮,但我们没有输入员工
ID。由于我们没有要求,并且进行探索性测试,这就是为什么我们认为员工 ID 组件是一个错误,但它是一个功能。
-
错误可能会被误解为一种功能
例如,假设我们有一个注册页面,我们必须在其中提供用户名、密码、手机号码和电子邮件 ID 等详细信息。
并且要求说,当我们提供手机号码和电子邮件ID时,相同的代码将发送到注册的电子邮件ID和手机号码,以验证其是否正确。
但是当我们在注册页面上执行探索性测试并提供所有详细信息(用户名、密码、 手机号码和电子邮件ID),代码只会发送到我们的手机号码,而不是电子邮件ID。
发生这种情况是因为缺少要求,我们会误解此错误是一个功能,我们永远不会认为这是一个错误。
|