什么是探索性测试?探索性测试有哪些方法?

简介: 什么是探索性测试?探索性测试有哪些方法?

1、阶段

一般在系统测试阶段完成,此时软件质量趋于稳定

2、目的

在最短的时间内发现最多严重的bug,通过新的思路,新的方法,找到还未被发现的问题,找到漏网之鱼

3、步骤

  • 确定核心模块功能;
  • 确定问题较多的模块;
  • 根据启发式测试策略模型和漫游测试模型挑选补充测试策略进行测试;
  • 边学习,边设计,边执行,边思考,根据具体情况随时修改测试策略;

4、模型分解

4.1 启发式测试策略模型

  • 定义:通过质量标准,项目环境,产品元素,指导测试技术的选择和应用,并产生观察到的质量结果;
  • 技术要求:多样性,平衡代价和收益,发挥测试人员技能;

4.2 漫游策略模型

  • 商业区:软件测试和功能
  • 历史区:历史版本遗漏代码,曾出现较多的缺陷
  • 旅游区:对新用户有吸引力的功能和特性
  • 娱乐区:完成主要功能后,辅助性特性和功能
  • 旅馆区:软件休息时还必须运行的特性和功能
  • 破旧区:用户手册未提到的,需要测试人员注意的特性和功能

5、测试方法归纳

探索性测试,包含41各测试方法,侧重点不同。

1、遍历测试法(冒烟测试相似):测试中不追求细节以免影响测试速度,只检查明显的东西。
2、反叛测试法:输入最不可能的数据或已知的恶意输入或程序
3、权限测试法:如何使软件发挥到最大程度,有可能会使错误检验程序失效。
4、商业区思想:软件提供给用户最核心的基本功能。
5、辅助区思想:软件中主打亮点功能。
6、恶邻区思想:缺陷最多的几个功能区域。
7、新特新区思想:软件版本中新增的功能特性。
8、博物馆区思想:软件中继承的很久没有更新的旧代码。
9、指南测试法:通过阅读用户手册并严格按手册建议执行操作。
10、专家测试法:根据用户的反馈来进行测试
11、竞争对手测试法:按竞争对手的做法来测试。
12、卖点测试法:对最卖钱的特性按销售演示顺序来测试
13、质疑测试法:最卖钱特性演示测试过程中不断打断正常操作并新增其他演示操作内容的测试。
14、地标测试法:改变特性组合执行的先后顺序。
15、麻烦测试法:只要软件允许这么做,就去做而不管有什么实际意义。因为现实中用户确实也可能也会在允许的范围内这么做。
16、快递测试法:输入一个数据后,观察所有显示地方是否都正确显示了。
17、深夜测试法:卖点功能不运行时测试其他还在运行的功能,如数据备份的功能
18、清晨测试法:测试软件的启动过程和脚本
19、恶邻测试法:对缺陷多的区域尽量多测试,或把缺陷多的功能与其他功能进行组合测试。
20、博物馆测试法:对很久没有代码变更的老特性进行测试或把老特性与新特性进行组合测试。
21、配角测试法:测试主要卖点特性共同组合出现的辅助性。
22、深巷测试法:找出对最不可能被利用到的或最不吸引用户的特性进行测试。
23、混合测试法:把最不流行和最流行的特性放在一起混合测试。
24、通宵测试法:测试程序能多长时间持续运行处理数据不失效,从而找出内存泄漏/数据损坏/竞争条件冲突等问题。
25、收藏家测试法:测试人员尽可能努力做到把功能组合全,一个输入后观察是否所有功能都正常输出了结果。
26、长路径测试法:选择到达测试目的的最长的操作序列组合。
27、超模测试法:关心表面的东西强迫数据尽可能重复显示,不关心特性内部实现的细节和功能交互。
28、测一送一法:同时启动2个软件的拷贝同时对一个被测对象进行操作。
29、苏格兰酒吧测试法:测试人员大量时间了解更多的用户讨论,读产业博客以深入了解待测的应用程序。
30、取消测试法:软件任务执行过程中取消任务,最好找最耗时的操作充分实施这种方法,发现软件自我清除能力不足的缺陷。
31、懒汉测试法:以软件的默认值为测试数据执行测试。
32、破坏测试法:应用故障注入的概念人为创建有问题的运行环境。
33、强迫测试法:重复执行同样的一个操作或一组操作,与取消法或破坏法组合效果更佳。
34、场景插入法:某个场景运行过程中插入另一个操作或生效另一个特性。
35、场景删除法:去掉场景操作中冗余和可选的步骤,使场景的步骤尽可能地减少。
36、场景操作替代法:先删除后插入。
37、场景环境替换法:用新的运行环境参数代替以前的环境参数进行测试。
38、混票法:在一个场景过程中插入另一个场景达到场景达到混合场景的目的。
39、出租车测试法:测试所有能到达同一目的的操作序列。
40、出租车禁区测试法:验证无论选择哪一条路径用户都无法到达目的地。
41、停车场测试法:
先用超模法后用地标法。
【特别说明】:知识来源于网络、各种资料、书本、网站等,本文仅用于学习使用,不做他用,如果涉及版权问题,请联系博主删除,谢谢
目录
相关文章
|
20天前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
35 4
|
2月前
|
测试技术 API 项目管理
API测试方法
【10月更文挑战第18天】API测试方法
59 1
|
2月前
|
安全 测试技术
北大李戈团队提出大模型单测生成新方法,显著提升代码测试覆盖率
【10月更文挑战第1天】北京大学李戈教授团队提出了一种名为“统一生成测试”的创新方法,有效提升了大模型如GPT-2和GPT-3在单一测试中的代码生成覆盖率,分别从56%提升至72%和从61%提升至78%。这种方法结合了模糊测试、变异测试和生成对抗网络等多种技术,克服了传统测试方法的局限性,在大模型测试领域实现了重要突破,有助于提高系统的可靠性和安全性。然而,该方法的实现复杂度较高且实际应用效果仍需进一步验证。论文可从此链接下载:【https://drive.weixin.qq.com/s?k=ACAAewd0AA48Z2kXrJ】
77 1
|
2月前
|
测试技术 UED
软件测试中的“灰盒”方法:一种平衡透明度与效率的策略
在软件开发的复杂世界中,确保产品质量和用户体验至关重要。本文将探讨一种被称为“灰盒测试”的方法,它结合了白盒和黑盒测试的优点,旨在提高测试效率同时保持一定程度的透明度。我们将通过具体案例分析,展示灰盒测试如何在实际工作中发挥作用,并讨论其对现代软件开发流程的影响。
|
3月前
|
人工智能 测试技术 开发者
北大李戈团队提出大模型单测生成新方法,显著提升代码测试覆盖率
【9月更文挑战第27天】北京大学李戈团队在人工智能领域取得重要突破,提出HITS新方法,通过将待测方法分解为多个切片并利用大型语言模型逐个生成测试用例,显著提升代码测试覆盖率,尤其在处理复杂方法时效果显著,为软件开发和测试领域带来新希望。尽管存在一定局限性,HITS仍展示了巨大潜力,未来有望克服限制,推动软件测试领域的创新发展。论文详情见【https://www.arxiv.org/pdf/2408.11324】。
126 6
|
28天前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
33 6
|
1月前
|
JavaScript 安全 编译器
TypeScript 与 Jest 测试框架的结合使用,从 TypeScript 的测试需求出发,介绍了 Jest 的特点及其与 TypeScript 结合的优势,详细讲解了基本测试步骤、常见测试场景及异步操作测试方法
本文深入探讨了 TypeScript 与 Jest 测试框架的结合使用,从 TypeScript 的测试需求出发,介绍了 Jest 的特点及其与 TypeScript 结合的优势,详细讲解了基本测试步骤、常见测试场景及异步操作测试方法,并通过实际案例展示了其在项目中的应用效果,旨在提升代码质量和开发效率。
40 6
|
1月前
|
Java 测试技术 Maven
Java一分钟之-PowerMock:静态方法与私有方法测试
通过本文的详细介绍,您可以使用PowerMock轻松地测试Java代码中的静态方法和私有方法。PowerMock通过扩展Mockito,提供了强大的功能,帮助开发者在复杂的测试场景中保持高效和准确的单元测试。希望本文对您的Java单元测试有所帮助。
199 2
|
2月前
|
测试技术 Python
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
本文介绍了使用Python的unittest框架来加载测试用例的四种方法,包括通过测试用例类、模块、路径和逐条加载测试用例。
97 0
自动化测试项目学习笔记(三):Unittest加载测试用例的四种方法
|
2月前
|
测试技术 Python
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
本文主要介绍了自动化测试中setup、teardown、断言方法的使用,以及unittest框架中setUp、tearDown、setUpClass和tearDownClass的区别和应用。
82 0
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法