在传统的测试中,遵循一个相当简单的模型,在该模型中,针对所有可能的用例预先编写了测试用例,然后在测试用例最终确定之后,执行它们并引发错误,直到它们全部通过为止,这是传统的一种。模型效果很好。同样,应该有一些最有效的探索性测试模型或过程,所以我的问题是,以最有效的方式启动和执行探索性测试的最佳过程是什么?

#1 楼

探索性测试是一种基于经验的测试技术,因此它主要取决于执行测试的人员。

话虽如此,詹姆斯·巴赫(James Bach)概述了一些我们可以从中受益的好点:


探索性测试会议通常始于章程,其中规定任务以及可能使用的一些策略。从我个人的经验来看,这份测试章程应该尽可能模糊,这样无论如何也不会限制测试人员的想象力。
探索并分析被测对象,将其分解为要素,并基于这些要素生成测试覆盖范围。
识别并测试来自被测对象手册/规范的所有主张,对其中的每一个进行测试
通过测试对象定义工作流程并尝试每个主题,每个工作流程应代表现实的使用场景。以我的个人经验,有时我们也需要测试不切实际的场景,因为最终用户有可能进行测试。

开始以正常场景进行测试,并按数量进行扩展选项和因素,直到被测对象崩溃。
测试所有允许数据输入的字段,包括有效和无效数据类型。
当被测对象崩溃时,分析其错误处理能力。
根据上下文,根据Windows界面标准或iOS界面标准检查用户界面。
有没有办法破坏配置文件?数据文件?被测对象如何判断文件是否损坏?它如何处理这个损坏的文件?
将这个主题与外部应用程序集成进行测试。
我个人的建议:时间盒探索性测试。假设每个会话2小时。
测试结束时提供详细的测试报告。


评论


为了明确起见,探索性测试不是一种技术(一种运行和分组相似测试的方法),而是一种方法。也就是说,对于任何测试技术,您都可以对大多数技术采用探索性方法(或者,如果您愿意,可以采用更具脚本性的方法)。

–克里斯·肯斯特(Chris Kenst)
20-2-27在19:27

#2 楼


在传统测试中,针对所有可能的用例预先编写的测试用例


在Agile中,您尝试构建最简单的可行的方法。我们使用Test-First和TDD,而不是预先编写所有测试用例,这与需求设计和瀑布很大不同。

想法是实施一个测试/用例,从中学习并决定下一个测试/用例。

继续执行此循环,直到团队交付了可正常工作的东西为止。 。现在他们可以开始探索了。我认为探索性测试应能指出测试自动化方面的差距,并从以用户为中心的角度让您对可用性有所了解。

其他一些问题,更详细地介绍了探索性测试:


是否有进行探索性测试的标准或模式
过程中的哪里进行了探索性测试?
探索性测试是否是敏捷方法论的核心部分?


评论


谢谢@Niels van Reijmersdal对我的纠正,Michael Durrant将“传统测试”编辑为“敏捷测试”,对不起,对于我的困惑,我将进行更改。再一次谢谢你。

– Nitin Rastogi
17年12月10日在12:24

我知道,这似乎使我的回答有些尴尬,但仍对探索性测试有很好的参考。

– Niels van Reijmersdal
17年12月10日在12:43

道歉,任何混乱。是的,它说的很传统,但后来描述了敏捷。对大多数人来说,传统含义是瀑布。如果详细信息和标题不匹配,我通常按详细信息进行操作。但是我没有强烈的偏好,如果喜欢的话,请改用cc @nitinr

–迈克尔·杜兰特(Michael Durrant)
17-12-10在14:52



好的,@ MichaelDurrant现在一切都很好。如果我会在你家,我会犯同样的错误,没问题,现在一切都很好,谢谢

– Nitin Rastogi
17年10月10日在15:07

#3 楼

“为所有可能的用例事先写的东西”

“在使用该产品之前可以想到的”将补充该声明。

由于一个人不知道事先进行所有准备工作,一个人就会开始〜开发〜该产品以发现可能的风险,试图发现应该调查哪些地方不应该做的事情。

“什么是启动和执行探索性测试的最佳过程? “

在任何地方都找不到这个答案;如果可以找到它,那么由于〜context〜,那将不是紧随其后的最佳过程。考虑到您的领域,您的资源,对产品的了解,正在调查的风险以及您在测试和任何给定时间的一般经验,您将提出不同的策略。

问题将是:“如何提高自己作为测试员的能力?”

个人进步的基本三叉戟在我看来是(这里没有暗示):

1 -尝试; ->获得经验

2-阅读; ->了解他人的经历

3-写。 ->分享您的经验并获得反馈

如何在实践中实现?

1-特定领域/技术上的开源项目(LibreOffice是一个不错的选择);

2-RSS feed,书籍,Slack频道,论坛;

3-博客和演讲-从公司和本地社区开始,然后从那里扩展。

如果您是该领域的新手,那么最好掌握一些词汇:


《 ISTQB指南》可以为您提供帮助。我建议您阅读第1章。
如果您不熟悉敏捷方法,可以快速阅读ISTQB Agile Guide。但是,如果要深入学习,那么《敏捷测试》一书非常好。

现在,关于测试工程,我推荐以下博客文章和视频:

测试工程:



什么不是探索性测试| 5的第1部分(值得阅读的全部五个部分)
测试员的承诺
探索性测试3.0

常规功能和稳定性测试过程(2000年的论文,James Bach(在Twitter上关注此人)展示了他使用探索性测试对Windows OS进行测试的过程)
了解探索性测试

测试预告片-HICCUPPS
测试是一种性能
测试!=测试执行
James Bach公开讲座关于软件测试
詹姆斯·巴赫(James Bach)在敏捷软件开发团队中进行测试。