探索性测试

探索式测试发现的缺陷最多,而且发现的缺陷也很有代表性。从本质上来看,探索式测试具有即兴发挥、快速实验、随时调整等特征.

根据软件功能描述来设计最初的测试用例,然后执行测试;测试执行后,可能你得到的输 出和预期输出不完全一致,于是你会猜测这种不一致是否可能是软件的缺陷造成的;为了验证你的想 法,你会根据错误输出设计新的测试用例,然后采用不同的输入再次检查软件的输出

经过几轮这样的猜测和验证,进行反复“探索”,最终确定了一个软件的缺陷。 而这个过程中,你会发现,识别缺陷的思路和测试用例的设计,并没有出现在最初的测试设计和测试用 例文档中,而是以很快的速度在你的脑海中以及实际测试执行和验证中快速迭代

上述的两个过程就是探索式测试最基本的思维模型了

**探索式测试本身并不是一种测试技术,而是一种软件测试风格.**探索式 测试强调依据当前语境与上下文选择最合适的测试技术。所以,切记不要将探索式测试误认为是一种测 试技术,而应该理解为一种利用各种测试技术“探索”软件潜在缺陷的测试风格

**探索式测试强调独立测试工程师的个人自由和责任,其目的是为了持续优化其工作的价值.**测试 工程师应该为软件产品负责,充分发挥主观能动性,在整体上持续优化个人和团队的产出。这种思想方 法,与精益生产、敏捷软件开发的理念高度一致,这也正是探索式测试受到敏捷团队欢迎的原因之一

探索式测试对个人的能力有很高的依赖:同样的测试风格,由不同的人来具体 执行,得到的结果可能会差别巨大。因此,对执行探索式测试的工程师的要求就会比较高,除了要能够 从业务上深入理解被测系统外,还要有很强的逻辑分析与推理能力,当然对测试技术以及测试用例设计 的融会贯通也是必不可少的技能。

探索式测试相比即兴测试更强调 及时“反馈”的重要性,测试工程师不断提出假设,通过测试执行去检验假设,通过解读测试结果证实或推翻 假设。在这个迭代过程中,测试工程师不断完善头脑中被测试应用的知识体系,并建立被测应用的模 型,然后利用模型、过往经验,以及测试技术驱动进一步的测试.探索式测试要不停地优化测试模型和测试设计。

  • 对软件的单一功能进行比较细致的探索式测试
  • 开展系统交互的探索式测试,这个过程通常会采用基于反馈的探索式测试方法

文章链接 https://fangzongzhou.github.io/2021/01/25/计算机/软件测试/探索性测试/