【.com速递】什么是探索性测试?在探索性测试中,测试人员在没有定义计划系统的情况下去检查目标,以检测用户在浏览网站或使用应用程序时可能遇到的各种缺陷。这种方式应该尽量模仿最终用户的各种自由选择,也就是说:在这个过程中,测试人员可以自己遍历软件的各种功能,了解用户体验的好坏。因此,探索性测试有助于验证系统是否按预期工作,并能确保用户在使用过程中获得轻松愉快的体验。探索性测试的第1阶段是根据类似软件对错误进行分类,对常见错误进行分类(请参阅:https://dzone.com/articles/about-the-chances-to-detect-visibility-bugs-in-con)。分析并记录此类缺陷的根本原因。开发测试场景来测试这些缺陷。#2创建测试章程测试章程应包括以下几个方面:需要测试哪些功能。如何进行测试。寻找什么缺陷。测试时要记住哪些指标。#3时间盒(TimeBox)时间盒的重点是测试人员如何测试和处理系统的响应。测试人员在特定时间范围内(通常为90分钟)进行上述测试。考试期间不得休息。如有必要,可以延长或缩短时间范围(通常取决于测试的进度)。#4查看结果对已识别的缺陷进行分类。评估各种类型的缺陷。记录存在的问题。#5报告编译输出结果。根据测试章程将实际测试结果与预期结果进行比较。确定是否需要引入额外的测试。探索性测试的实用技巧您可以将软件分成模块以简化测试复杂性并提高测试覆盖率。把所有需要测试的功能都列一个清单,确保没有遗漏任何细节功能。优先测试基本用户功能场景。然后在测试期间扩展以添加更多检查点。根据测试章程所列的标准,逐一检查产品的图形用户界面(GraphicalUserInterface,GUI)。在探索性测试会话中明确列举要测试的任务。准确记录需要测试的内容、测试原因以及如何评估其运行质量。记录在测试期间发现的任何问题。与专职测试人员联系以进行有效测试。尽可能多地创建详尽的测试相关文档。如果可能,运行多个测试以最大化测试覆盖率。探索性测试的类型(1)自由式(Freestyle)探索性测试这种类型的探索性测试被认为是一种按需进行的临时方法(参见:https://dzone.com/articles/using-ad-hoc-scripts-in-your-automated-database-de),所以它既没有固定的规则,也没有相应的结构和组织。通过快速浏览目标应用程序,测试人员可以验证测试人员在其他环节获得的结果,调查具体缺陷,并进行快速冒烟测试(smoketest)。(2)Scenario-Basedexploratorytesting这种形式的探索性测试是基于实际的用户场景。在这种类型的测试中,测试人员使用所有可能的方式来测试软件以匹配不同的场景。可以看出,这里的重点是测试尽可能多的场景,以提供最大的测试覆盖率。(3)基于策略的探索性测试通常,这类测试分配给已经熟悉被测软件的测试人员。这些包括:边界值分析、等价技术和各种基于风险的技术来识别那些更具挑战性的缺陷。在敏捷开发中使用探索性测试的优势是在开发的早期阶段提供快速和早期的反馈。帮助发现各种存在的缺陷。开发人员、测试人员、设计人员和软件项目中的任何其他利益相关者都可以启动和执行探索性测试,因为不需要脚本。在应用程序的迭代编码过程中,探索性测试非常适合测试这些新功能,而自动化测试则侧重于回归测试和向后兼容性测试。如果项目的需求不确定,探索性测试非常适合在有限的时间内测试各种新的需求,快速提供各种实用的结果。探索性测试的最佳实践了解您的客户:所有软件测试都是关于检查产品质量以提供最大的用户满意度。因此,为了执行有效的探索性测试,了解客户的重点是必不可少的。也就是说,我们应该站在客户的角度进行有意义的探索性测试。当然,请记住:不要狭隘地只从单个客户的角度去思考。您可以根据最终用户的年龄、性别、经济状况、偏好等方面对最终用户进行分类,以模拟使用同一被测软件的不同方式。同时,测试人员也要能够跳出技术人员的角色,以普通用户的心态去体验和尝试。使用真实的浏览器和设备:目前还没有模拟器可以提供真实的用户环境(参见:https://dzone.com/articles/real-user-monitoring-vs-synthetic-monitoring-which)。在实际场景中,用户只会在真实设备上使用目标软件,而不会在那些模拟器虚拟出来的测试设备上使用。因此,在真实设备上运行探索性测试也很重要。当然,如果软件公司因为资金和预算不足,连测试人员的内部实验环境都无法创建和维护,那么请根据需要选择那些基于云的测试服务。知己知彼:知己知彼,百战不殆。通过了解您的竞争对手及其产品的特性和缺陷,测试人员可以更有针对性地测试手头的产品。当然,这可能需要整个团队在开发阶段给予足够的重视。例如:当我们了解到“友商”的竞品应用经常被用户投诉购物车功能设计缺陷,那么测试人员就应该重点关注并认真测试手头产品的购物车功能,确保没有人会重蹈覆辙。事实上,探索性测试是每个软件测试过程的重要组成部分之一。我们应该将这一点融入到测试的整个生命周期中,以确保团队能够交付功能齐全、令用户满意的软件产品。原标题:探索性测试:详细指南,作者:ShreyaBose
