软件测试之测试用例的设计
目录
- 测试用例
- 什么是测试用例
- 测试用例的基本要素
- 评价测试用例的标准:
- 测试用例的设计方法
- 测试用例的总体设计方法还是基于需求设计
- 具体的设计方法(6种)
- 等价类划分
- 边界值
- 因果图(逻辑图)
- 正交排列
- 场景设计
- 错误猜测法
- 面试案例
测试用例
什么是测试用例
为了实施测试而向被测试的系统提供的一组集合
测试用例的基本要素
测试环境、操作步骤、测试数据、预期结果
评价测试用例的标准:
对比好坏代码的评价标准
- 用例表达清楚,无二义性。。
- 用例可操作性强。
- 用例的输入与输出明确。一条用例只有一个预期结果。
- 用例的可维护性好。
- 用例对需求的覆盖率高,
- 暴露程序Bug的能力强力。
测试用例的设计方法
测试用例的总体设计方法还是基于需求设计
RBT( Requirements-Based Testing)是基于需求的测试方法,会使测试更加有效,因为它使测试专注于质量问题产生的根源,即需求。
重点关注以下两大关键问题。
(1)验证需求是否正确、完整、无二义性,并且逻辑一致。
(2)要从“黑盒”的角度,设计出充分并且必要的测试集,以保证设计和代码都能完全符合需求。
具体的设计方法(6种)
等价类划分
我们知道测试用例是无穷的,我们不能一个一个测试。所以依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题。
等价类分为:
- 有效等价类:对于程序的规格说明书是合理的、有意义的输入数据构成的集合,利用有效等价类验证程序是否实现了规格说明中所规定的功能和性能
- 无效等价类::根据需求说明书,不满足需求的集合。
比如你去超市买水果时:
有效等价类:苹果、桃子、梨
无效等价类:青菜、米、饮料,…
边界值
边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
以注册邮箱的软件需求为例子:
用户名要求长度为6-15位,此时我们的测试用例为:5、6、7、14、15、16
因果图(逻辑图)
能直观地表明程序输入条件(原因)和输出动作(结果)之间的相互关系。因果图法是借助图形来设计测试用例的一种系统方法,特别适用于被测试程序具有多种输入条件、程序的输出又依赖于输入条件的各种情况。
因果图法设计测试用例的步骤如下:
(1)分析所有可能的输入和可能的输出。
(2)找出输入与输出之间的对应关系。
(3)画出因果图。
(4)把因果图转换成判定表。
(5)把判定表对应到每一个测试用例。
正交排列
正交法的目的是为了减少用例数目。用尽量少的用例覆盖输入的两两组合。缓解因果法设计用例太多
正交试验设计(Orthogonal experimentaldesign)是研究多因素多水平的一种设计方法,它是根据正交性,由试验 因素的全部水平组合中挑选出部分有代表性的点进行试验,通过对这部分试验结果的分析了解全面试验的情况,找 出最优的水平组合。正交试验设计是一种基于正交表的、高效率、快速、经济的试验。
- 因素(Factor):在一项试验中,凡欲考察的变量称为因素(变量)
- 水平(位级)(Level):在试验范围内,因素被考察的值称为水平(变量的取值)
- 正交表的构成:
- 行数(Runs):正交表中的行的个数,即试验的次数,用N代表。
- 因素数(Factors):正交表中列的个数,用C代表。
- 水平数(Levels):任何单个因素能够取得的值的最大个数。正交表中的包含的值为从0到数“水平数-1”或从1到“水平数”,用T代表。
- 正交表的表示形式: L=行数(水平数*因素数) L=N(TC)
- 正交表的两条性质:
每一列中各数字出现的次数都一样多。
任何两列所构成的各有序数对出现的次数都一样多,
场景设计
现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。该方法可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,使测试用例更容易理解和执行。
典型的应用是是用业务流把各个孤立的功能点串起来,为测试人员建立整体业务感觉,从而避免陷入功能细节忽视业务流程要点的错误倾向
比如你去ATM机子上取钱,每个步骤相当于一个事件,这是你会想每个事件触发的过程中会不会出现其他的问题。
错误猜测法
基于经验和直觉,找出程序中你认为可能出现的错误,有针对性地设计测试用例。经验可能来自于在对某项业务的测试较多,也可以来自于售后用户的反馈意见,或者从故障管理库中整理bug。梳理出产品以往哪些地方容易出现问题,问题越多的地方,潜在的bug也就越多。
面试案例
某公司招聘测试工程师时,有一道这样的笔试题:”某手机软件有用TF卡导出数据的功能,请写出测试此功能点的思路”
软件测试之测试用例的设计相关推荐
- 软件测试之测试用例颗粒度问题
下面给大家讲解一下测试用例颗粒度的知识: 颗粒度与测试的关系 如果把测试用例设计得很细,照顾到每一个数据输入.每一个条件.每一个环境.每一个路径,那么测试用例的数量将是巨大的,虽然风险很小很小,但是测 ...
- 软件测试之测试用例评审
一.评审目的 一般来说,参加测试用例评审的人员包括对应项目的产品人员.设计人员.开发人员和测试人员. 图1-1 测试用例评审相关人员 测试用例评审会议的发起者一般是测试人员,既然我们是发起者,那我们发 ...
- 软件测试之测试用例设计(二)
本文是学习软件测试的,内容均转载自https://blog.csdn.net/qq_41782425 目录 一丶边界值例题 二丶判定表 三丶黑盒测试用例设计(正交实验) 一丶边界值例题 1.结合等价类 ...
- 软件测试之测试用例设计(三)
说明:该篇博客是博主一字一码编写的,实属不易,请尊重原创,谢谢大家! 接着上一篇博客继续往下写 :https://blog.csdn.net/qq_41782425/article/details/9 ...
- 软件测试之测试用例设计题
1.假设京东有一个Web API:http://p.jd.com?p1=90&p0=100,输入打折价p1和原价p0,返回折扣信息0.9,请设计测试用例进行测试. 答案: (1)输入打折价错误 ...
- 软件测试之-测试用例写作规范
通用测试用例写作规范 软件测试用例得出软件测试用例的内容,其次,按照软件测试写作方法,落实到文档中,两者是形式和内容的关系,好的测试用例不仅方便自己和别人查看,而且能帮助设计的时候考虑的更周. 一个好 ...
- 软件测试之“项目测试设计”
近来工作挺忙, 因此也都没什么时间总结了.当然,忙的这段时间我也发现了自己工作中的诸多问题,今天偷闲上来总结一下. 在这之前,我对测试工作的观点是,熟悉业务加上熟练的技术能力就能很好的完成大部分测试工 ...
- 软件测试之测试用例编写
整体编写思路: 理解需求–>了解功能–>了解业务–>拆分功能点–>利用五大方法(等价类.因果图.边界值.错误猜测.场景法)–>从不同方向出发编写测试用例 用例需要掌握的方 ...
- 软件测试之测试用例编写及编写规范
转载自:https://www.cnblogs.com/zengch/p/13485620.html 一.什么是测试用例 为实施测试,向被测试系统所提供的输入数据,操作或各种环境设置以及期望结果的一个 ...
最新文章
- 您也使用托管C++吗?
- 第九周项目实践2 二叉树遍历的递归算法
- [Python]小甲鱼Python视频第003课(插曲之变量和字符串)课后题及参考解答
- Python入门100题 | 第053题
- C语言找出两个字符串唯一不同的一个字符(附完整源码)
- Camel:构建基于消息的应用程序
- 《零基础》MySQL 删除数据库(六)
- 【Elasticsearch】elasticsearch 段 segment 段合并
- java mysql 二级缓存_深入理解MyBatis中的一级缓存与二级缓存
- 中国程序员最应该感谢的几家公司
- MySQL5.6 数据库主从(Master/Slave)同步安装与配置详解
- Zendframework 模块加载事件触发顺序。
- 安装github for windows问题解决
- linux桌面系统下的国密SM4算法工具
- 记录下Gradle化Android Gallery3D应用的过程
- linux安装iscsi设备,linux系统下安装配置iSCSI教程
- 硬件信息查看PHP,如何查看电脑硬件信息|查看电脑硬件信息软件 查看电脑CPU/显卡/内存条/主板型号等配置...
- Day739.GEO经纬度数据结构自定义数据结构 -Redis 核心技术与实战
- 大天使之剑h5服务器临时维护,《大天使之剑H5》2月28日维护更新公告
- 【Android】Binder的理解