www.teandq.com
晓安科普

探索性测试方法有哪些_探索性测试方法有哪些种类

2025-04-30Aix XinLe

目录1、概念2、手工测试3、探索式测试4、局部探索式测试法5、全局探索式测试法6、混合探索式测试技术7、实践中的探索式测试8、测试需要培养的方向1、概念1、软件缺陷(bug)的根源来自于软件开发本身2、软件失效是指软件运行时产生的一种不希望

探索性测试方法有哪些_探索性测试方法有哪些种类

 

目录1、概念2、手工测试3、探索式测试4、局部探索式测试法5、全局探索式测试法6、混合探索式测试技术7、实践中的探索式测试8、测试需要培养的方向1、概念1、软件缺陷(bug)的根源来自于软件开发本身2、软件失效是指软件运行时产生的一种不希望或不可接受的外部行为

3、软件失效的机理可描述为:软件错误→软件缺陷→软件故障→软件失效4、缺陷引入:程序员引入的缺陷,运行环境导致的缺陷5、预防和检测(1)缺陷预防-开发角度(2)缺陷检测-动态测试a.自动化测试(缺点:维护自动化测试代码需花费大量时间;优点:重复使用率高,提高测试速度;致命弱点:“预言家难题”,很难预估测试完成情况)

b.手工测试6、测试目标:软件发布前,所有重要的任务都完成了,而剩下没做的事情都是比较次要的(不影响用户的使用和愉悦感)7、软件执行的4个基本任务:接收输入、产生输出、存储数据、进行运算2、手工测试1、优点:更接近真实场景,容易发现与应用程序业务逻辑(实现用户需求的代码)相关的缺陷

2、缺点:效率低,没有规律,不可反复使用3、测试脚本:记录了实际运行的哪些测试;适用于指定场景,且输出结果可判断3、探索式测试1、完全抛开测试脚本2、测试结果、测试实例、测试文档都会在运行测试时创建3、记录结果的最佳工具:截屏软件、记录击键的软件

4、使用含有调试信息的软件版本(debug build)、调试器(debugger)、代理程序(proxy)5、最适用于:“敏捷开发过程”的Web应用程序6、缺点:可能在测试中找不到重点,盲目测试,浪费大量时间,效率低下

7、指导方法:局部探索式测试法(辅助测试人员在测试过程中即时做出决定)、全局探索式测试法(用于帮助测试人员设计整体测试计划和测试策略)8、全神贯注,集中精力9、目标:理解应用程序如何工作,其接口看起来如何,实现了哪些功能;强迫软件展示其全部能力;找到缺陷

4、局部探索式测试法1、面临选择抉择时使用探索式测试的策略(局部小范围),例如:一个网页,一个对话框,某个类的一个方法2、好处:测试人员不需要知道很多信息就可以完成细节任务3、重点:把测试经验、专业知识、软件在操作环境下如何构建和运用的知识结合在一起

4、决策(1)输入(input)a.一般定义:输入指的是由环境产生的一种刺激,该刺激导致被测试的应用程序有所响应b.分为两类:b1.原子输入(atomic input)- 建议使用“等价类划分”,简单到不能再简单的事件,例如:单击按钮,字符串或整数4

b2.抽象输入(abstract input)- 非法输出(illegal output)c.影响因素:各种输入之间会相互影响,从而造成软件失效;输入这些值时的先后顺序也会导致问题出现d.正向测试(postive testing)

e.逆向测试(negative testing)f.依据开发人员的思路来构建一个非法输入值,牢抓错误信息(开发在哪些地方编写了错误处理(error-handling)代码,具体错误代码是如何实现的)g.开发人员有三种基本方式,定义错误处理程序(error handle)

g1.输入筛选器(input filter)- 防止非法的输入值被传递给应用软件的功能代码;是否正确实现了该功能(非法输入和合法输入的区分是否错误),是否可以绕过筛选器g2.输入检查(input check)- 是应用程序代码的一部分,通常使用类似if、then、else结构的语句实现(或case、select结构,或lookup table)

g3.使用异常(exception)- 异常处理代码把整个routine当成一个整体看待,检测其上发送的任何一个错误h.常规输入/非常规输入i.默认输入/用户手动输入(null、删除默认值、默认值附近的其他值)

j.根据输出指导输入选择j1.先明确功能后确实哪些输入会引发相应输出:明确期望输出结果,考察所有用户场景,观察如何生成期望结果(主动);先观察输出结果,再选择新的输入,并保证新输出与原先不同j2.抽象角度:非法输出(illegal output);合法输出(lega output)

(2)状态(status)a.定义:软件的一个状态就是状态空间的一个点,它是由所有内部数据结果的取值来确定b.软件状态可以看成是用于描述软件记住过去发生的所有输入和输出的一种方式c.数据辖域:检验软件是否正确实现了数据辖域是一个很重要的测试

d.输入和状态相结合:使用状态信息来帮助寻找相关的输入;使用状态信息来辨别重要的输入序列,当一个输入导致状态信息被更新时,紧接着多次使用同样的输入会导致一连串的状态变化,状态变化被累加,必须考虑是否会溢出(例购物车)

(3)代码路径(code path)a.一条代码路径就是一连串的代码语句,其起始于开始语句,终止于结束语句b.必须明确知道程序里可能有哪些分支,并理解哪些输入会导致软件走这条分支而不是另一条(4)用户数据(user date)- 被动的方式

a.创建一个含有特定数据的数据存储,其含有的数据应该和软件真实用户使用的数据尽量相似(5)执行环境(execution environment)- 主动的方式a.使用的操作系统和其当前配置,任何可以影响被测软件行为的因素都是运行环境的一部分

b.提供输入,接收输出5、全局探索式测试法1、确定了如何对软件进行探索式测试的整体方向例如:单个单独的测试用例应该覆盖软件的哪些功能哪些软件的功能必须放在一起测应该先测试哪个功能如何决定哪个功能先测,哪个后测

一个项目中多人测试,应该使用怎样的测试策略,确保相辅相成2、漫游测试(1)商业区测试类型a.用户所要使用的热门的软件特性和功能b.方法b1.指南测试法 - 根据用户手册b2.卖点测试法 - 出席销售人员给客户的演示会,与销售人员保持良好合作关系

b3.地标测试法 - 确定关键的软件特性,再确定其先后顺序b4.极限测试法b5.快递测试法 - 专注于数据,确认那些被存储起来的输入数据并“跟随”它们走遍软件b6.深夜测试法 - 检测休息时间软件是否正常运行(盲区)

b7.遍历测试法 - 选定一个目标(例如所有菜单项),使用可以发现的最短路径来访问(2)历史区测试类型a.针对老功能和缺陷修复代码b.方法b1.恶邻测试法 - 对bug聚集地的邻近功能使用遍历测试法进行测试,验证已修代码未引入新bug

b2.博物馆测试法 - 找出遗留代码和老的可执行文件,确保其在测试中正常运行b3.上一版测试法(3)娱乐区测试类型a.测试辅助功能,确保辅助和主线特性结合b.方法b1.配角测试法 - 紧邻主要功能的特性

b2.深巷测试法 - 最不可能被用到或者最不吸引用户的特性b3.通宵测试法 - 连续不断地使用某些特性或将文件一直保存在打开的状态(4)旅游区测试类型a.快速访问软件的各种功能b.方法b1.收藏家测试法 - 收集软件的输出,越多越好,到达所有可到达的地方并把观察到的输出结果记录下来,以小组为单位

b2.长路径测试法 - 到达目的地之前尽量多地在应用程序中穿行b3.超模测试法 - 测试界面、外观、性能、是否与期望符合、是否标准b4.测一送一测试法 - 测试同时运行同一应用程序多个拷贝的情况b5.苏格兰酒吧测试法 - 适用于大规模的复杂应用程序,找到用户组并参与讨论,花时间了解待测应用程序

(5)旅馆区测试类型a.经常被忽视或者在测试计划中较少描述的次要及辅助功能b.方法b1.取消测试法 - 启动操作然后停止它,确信被取消的操作可以再次执行并成功结束b2.懒汉测试法 - 尽量少的操作(6)破旧区测试类型

a.试图利用每个可能的机会暗中破坏程序(故障注入,抓捕漏洞)a1.强迫软件做一些操作a2.掌握软件成功完成操作必须使用的资源a3.在不同程度上移除那些资源或限制使用那些资源b.方法b1.反叛测试法 - 要求输入最不可能的数据,或故意恶意输入

总结:逆向测试法 - 最不可能的数据,测试容错能力歹徒测试法 - 如何处理非法输入,突破限制错序测试法 - 错误的顺序b2.强迫症测试法 - 重复输入、重复操作6、混合探索式测试技术1、使用正式脚本可以为探索式测试设立一个明确的框架,探索式测试法可以提高脚本测试的有效性,为脚本中的测试用例提供更多种多样的变化

2、基于场景的探索式测试3、有价值的场景包含(1)讲述用户故事 - 记录用户使用软件的动机、目的以及具体动作(2)描述需求(3)演示产品功能 - 经常出现在在线帮助和用户说明书中(4)演示集成场景 - 定义了功能集成后的场景或端对端的场景

(5)描述设置和安装(6)描述警告和出错情形4、场景操作 - 对场景的步骤加以操作,给场景注入变化5、衍生场景 - 对现有场景进行操作时,会得到一个新的场景6、通过(静态)场景操作注入变化(1)插入步骤(延长场景)

a.增加更多数据 - 例,场景要求在购物车中放入一件商品,测试人员可以先加入那件,再加入其他b.使用附加输入 - 增加没有被提到的额外输入值,有关联但属于附加例,要求能添加评论,测试人员可以额外对其他用户的评论进行登记评分。

c.访问新的界面 - 增加相关的新操作(2)删除步骤(化繁为简,尽量减少)(3)替换步骤(先删后插)(4)重复步骤(重复单独的操作,例查询)(5)替换数据 - 理解应用程序连接和使用的数据源,确保其交互稳定

(6)替换环境 - 尽量接近用户场景a.替换硬件b.替换软件c.替换版本d.修改本地设置7、通过漫游操作注入变化 - 漫游通常比场景操作产生更长的操作步骤(顺路)(1)卖点测试法 - 可以假如新功能(2)地标测试法

(3)极限测试法(4)深巷测试法 - 可注入新功能(5)强迫症测试法(6)通宵测试法(7)破坏测试法(8)收藏夹测试法(9)超模测试法(10)配角测试法 - 最近邻的选择(11)取消测试法(12)混票测试法 - 从一个场景跳到另一个,从而把两个或更多场景结合为一个具有混合目的的场景

7、实践中的探索式测试1、出租车测试法要到达所需的屏幕、对话框或一些其他功能组件,用户通常有大量的路线可以选择测试人员需要熟悉到达指定位置的每条可能的路径例:使用多种方式打开某一功能2、多元文化测试法 - 多语言测试

8、测试需培养的方向1、明确目的(1)决定测试什么 - 从不同的深度和顺序检测,列出特性的功用(2)决定何时测试 - 明确每个缺陷应该在什么时候被发现(3)决定如何测试 - 将缺陷类别和漫游方法/测试技术相联系,明确某些缺陷最适合的方法

2、降低重复性(1)知道已经运行过哪些测试 - 变化测试目标、测试要点(2)知道什么时候注入变异 - 通过改变技术调整测试用例3、降低暂时性结合实际 - 真实环境、真实数据,用户介入4、将单调变有趣花时间进行测试分类和测试策略,减少测试运行时间(枯燥部分)

5、解决健忘(1)测试用例不是解决暂时记忆的最好方法(2)将漫游方法映射到软件特性和缺陷上,留下相关产品记录(结合实际练习)

免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186

探索探索性测试方法有哪些_探索性测试方法有哪些种类

2025-04-30Aix XinLe193

探索性测试方法有哪些_探索性测试方法有哪些种类目录1、概念2、手工测试3、探索式测试4、局部探索式测试法5、全局探索式测试法6、混合探索式测试技术7、实践中的探索式测试8、测试需要培养的方向1、概念1、软件缺陷(bug)的根源来自于软件开发本身2、软件失效是指软件运行时产生的一种不希望…

探索卡拉赞怎么去探索空间_卡拉赞如何去

2025-04-30Aix XinLe87

卡拉赞怎么去探索空间_卡拉赞如何去《魔兽世界》Plus服(探索赛季服)P7已开放卡拉赞地穴,自2004年以来,此地一直吸引着玩家,对于艾泽拉斯的多数居民来说,它仍然成谜。好在Plus服补充了任务线,让我们得以一睹古墓的更多秘密。…

艺术艺术字中国_艺术字中国风

2025-04-30Aix XinLe143

艺术字中国_艺术字中国风这次给大家更新了一个头像叫姓氏艺术字体艺术头像:中国!这次给大家更新了以下姓氏:涂 、谷 、祁 、时 、舒 、耿 、牟 、卜 、路 、詹 、关 、苗 、凌、费 、纪 、靳 、盛 、童 、欧 、甄 、彭、郑、董、李、吴、燕、姚、谷、陈、孙、吴…

探索网易探索心理学_网易 心理学

2025-04-30Aix XinLe108

网易探索心理学_网易 心理学幸福感和积极心态是当今社会越来越多人关注的话题。随着心理学的发展,人们开始意识到,幸福感并非与外在条件有直接关联,而是与个人的心理状态和内心世界密切相关。那么,如何提升幸福感和积极心态?本文将探索心理学的角度,为大家提供几个有效的方法。首先…

艺术珊珊人体艺术_人体艺术墙

2025-04-30Aix XinLe150

珊珊人体艺术_人体艺术墙看见更大的世界…