当前位置:网站首页>【软考软件评测师】基于经验的测试技术
【软考软件评测师】基于经验的测试技术
2022-08-02 17:51:00 【进击的横打】
【软考软件评测师】基于经验的测试技术
基于经验的测试技术
一.基于经验的测试
1)基本概念
基于经验的测试一般是测试人员依据以往的项目经验,特定的系统和软件知识,或应用领域知识开展。能够发现运用系统化测试方法,不能发现的隐含特征的问题。
其效果是和测试人员的经验和技能直接相关,但具有一定的随机性,往往难以评估其覆盖率。
2)分类说明和运用
基于经验的测试技术通常有错误猜测法,探索性测试和基于检查表的测试。在实际的测试过程当中,测试人员常常将基于经验的测试方法作为其他测试技术:如黑盒测试白盒测试的补充,以达到最佳的测试效果。
二.错误猜测法
1)基本定义
错误猜测法又可以称为错误推测法,定义为了一种测试技术,是基于测试人员对于以往测试中曾经发现的缺陷,故障或者失效数据,在导致软件原因错误的分析基础之上,设计测试用例,用于预测错误,缺陷和失效发生的技术。
2)软件错误
软件的错误指的是软件的期望预期结果和实际运行结果之间存在差异的问题。软件的作用可以分为以下几种类型:
软件需求错误
功能和性能错误
软件结构错误
数据错误
软件实现和编码错误
软件集成错误
对于上述六个软件错误来说,软件结构错误,数据错误以及功能和性能错误,出现的次数最高也最为普遍,所以更需要我们充分的重视。
3)错误推测法的运用
为了保证错误推测法的有效实施,可以预先对错误数量进行估算。测试人员通过了解软件当中可能存在的错误数量,能够运用错误推测法有效的推测程序中所有可能存在的各种错误。通过对软件错误数量的估算,能够有效的提升软件的可靠性。
Seeding模型估算方法:主要运用于软件的测试阶段,
Shooman模型估算方法:主要运用于软件的开发阶段
三.探索性测试
1)概念分类
探索性测试是一种创造性的基于经验的测试方法,探索性测试主要分为自由性探索测试,基于场景的探索性测试,基于策略的探索探索性测试,基于反馈的探索性测试,和基于会话的探索性测试。
探索性测试是测试人员根据他们的知识,对测试项目的探索以及原来的测试结果来动态设计和执行测试的测试方法。
2)特征特点
探索性测试不会以时间节点来单独划分阶段,而是在测试活动的各个阶段并行执行。他允许对测试过程进行动态的设计执行和修改。
测试人员也可以在探索性测试阶段根据测试项目提供的信息,进行头脑风暴,不受规则的限制,动态的创建测试。
3)探索性测试核心
探索性测试的核心是发现问题。每一个探索性测试用例都可以认为是针对被测应用程序发现的问题,而设计探索性测试则是根据之前发生的问题进行有效的回答。
4)探索性测试风格
预感:基于以往的缺陷,探索新的变化
模型:架构图,气泡图,状态表,故障模型
示例:用例,特征演练,场景等
不变性:测试变更不会对应用程序产生影响。
干扰:寻找中断或转移程序路径的方法
错误处理:检查错误处理是否正确
故障排除:错误分析,例如简化,澄清或加强错误报告,当错误修复后测试差异。
小组洞察:头脑风暴,相关成员小组讨论,配对测试。
规范:主动阅读,对照用户手册启发式探索;
5)测试目的
对于探索性测试来说,主要测试目的可以分为以下三点:
1)帮助测试人员理解测试需求,并在此基础上,对应用程序功能进行快速评估。
2)帮助软件实现满足功能的所有需求,适用于被测对象复杂并且难以理解。
3)帮助测试人员探索应用程序的各种极端情况,从而发现潜在的缺陷,有目的的使缺陷数量降到最低。
6)探索性测试方法
为了实现探索性测试的目的目标,通过两种测试方法来帮助指导测试人员做出具体的决策。
局部探索式测试法
可以辅助测试人员,针对基本测试过程中出现的细节问题做出及时的决策。根据软件属性,可将变化因素分为五个大类:输入,状态,代码路径,用户数据和执行环境。测试人员可以在测试过程中根据不同因素改变测试策略,从而有的方矢的进行探索性测试。
全局探索式测试
可以辅助测试人员,在实际测试开始之前建立起一个全局目标,确定对软件进行全局探索测试的整体方向,以更系统化的方法来组织测试,从而尽量覆盖软件的复杂程度及其特征。
全局决定确立了总体探索策略和产品特征的测试方法,用于指导整体的测试过程,帮助测试人员设计整体的测试策略。
7)探索性测试主要优势
在测试不充分的情况下,探索性测试可以基于之前类似的测试和结果进行测试。
在早期需求模糊或系统不稳定时,探索性测试可以不受限制的在短时间内对产品质量进行反馈;
当发现缺陷时,探索性测试可以快速向开发人员提供针对缺陷的严重程度,涉及范围和变化的反馈;
探索性测试可以作为脚本测试的一个重要的补充,以检测出脚本测试不能检测到的缺陷。
8)探索性测试主要局限性
探索性测试无法对被测对象进行全面性测试,测试结果一般不易度量,不能确保发现最重要的软件缺陷;
脚本测试可以在需求收集阶段编制测试用例,根据用例的执行来发现缺陷,而探索性测试缺少预防缺陷的能力;
对于已经确定了测试类型和执行顺序的测试来说,直接编辑测试脚本并执行比进行探索性测试更有意义;
依赖测试人员的领域知识和测试技术探索性测试不容易协调,导致测试效率低下,缺乏条理。
四. 基于检查表的测试
1)检查表测试
是通过设计相应的检查点,并按照检查点进行测试验证的一种测试方法。
测试人员基于测试经验,对用户重要内容的了解或对软件错误的原因和方式的理解来构建检查表,检查表中所包含的测试项来源于以往的测试经验总结,且应是有效的和可测量的。
基于代码检查表进行代码审查的测试主要为了检查代码和设计的一致性,代码对标准的遵循,可读性,代码逻辑表达的正确性,代码结构的合理性等方面。
对应于不同的编程,语言基于代码检查表的测试,具体内容将会不同。
2)文档检查表
文档检查表将可能出现的错误分类并以清单的形式进行列举,基于文档检查表测试进行文档审查主要涉及文档的可用性,文档内容及文档标识和标示等方面。
边栏推荐
- 发挥云网融合优势,天翼云为政企铺设数字化转型跑道
- Remember the stuck analysis of an industrial automation control system in .NET
- Go 语言快速入门指南:第二篇 变量与常量
- 详细教学——1688关键词搜索API操作流程
- 多聚体/壳聚糖修饰白蛋白纳米球/mPEG-HSA聚乙二醇人血清白蛋白纳米球的制备与研究
- 来亲自手搭一个ResNet18网络
- 开源一夏 | Web开发(七):登录实现及功能测试
- ffmpeg cannot find libx264 after compilation
- POE交换机常见问题解答
- HDF驱动框架的API(3)
猜你喜欢
分布式 | dble 启动的时候做了什么之配置检测
Mini Program Graduation Works WeChat Gymnasium Reservation Mini Program Graduation Design Finished Product (8) Graduation Design Thesis Template
天翼云4.0来了!千城万池,无所不至!
Endanger the safety of common Internet attacks have?
Go 语言快速入门指南: 介绍及安装
Code Inspection for DevOps
IReport常见问题及处理方法
宝塔搭建实测-基于ThinkPHP5.1的wms进销存源码
pydev debugger: warning: trying to add breakpoint to file that does not exist: /tmp/xxx
【案例】2D变换-旋转动画
随机推荐
golang刷leetcode 经典(6) 实现跳表
成功部署工业物联网的五个关键
golang 源码分析(39)hystrix-go
LeetCode 2343. 裁剪数字后查询第 K 小的数字
golang刷leetcode 经典(5)设计哈希集合
载20(S)-人参皂苷/细胞穿膜肽-单克隆抗体-载丝裂霉素白蛋白纳米微球的制备
LeetCode 2336. 无限集中的最小数字(SortedSet)
Enterprise cloud cost control, are you really doing it right?
redis总结_多级缓存
如何减轻企业账户被劫持的攻击?
MySQL命令(命令行方式,而非图形界面方式)
POE交换机全方位解读(中)
数据治理:数据集成和应用模式的演进
一朵“云“如何带来产业新变革
Dream weaving prompt information prompt box beautification
HDF驱动框架的API(1)
LeetCode 1947. 最大兼容性评分和(状态枚举DP)
透过案例看清API接口的作用——演示1688商品详情接口
Go编译原理系列6(类型检查)
LeetCode 2333. 最小差值平方和(贪心)