您现在的位置是:首页 >技术杂谈 >软件测试-测试用例网站首页技术杂谈
软件测试-测试用例
目录
测试用例的四个要素
测试环境,测试数据,操作步骤,预期结果.
用例表达清楚,无二义性。
用例可操作性强。
用例的输入与输出明确。一条用例只有一个预期结果。
用例的可维护性好。
用例对需求的覆盖率高。
测试用例设计方法
基于需求进行测试用例的设计
等价类
输入的集合是无穷的,不能全都覆盖到,所以我们根据需求将输入划分成若干个等价类,从等价类中选出一个测试用例,如果这个测试用例通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题.
等价类分为有效等价类和无效等价类.
有效等价类:对于程序的规格说明书是合理的,有意义的输入数据组成的集合,利用有效等价类验证程序是否实现了规格说明书中所规定的功能和性能.
无效等价类:根据需求说明书,不能满足需求的集合.
有效等价类:6-15位
无效等价类:小于6位和大于15位
等价类思想设计测试用例步骤
- 充分理解需求
- 划分有效等价类,划分无效等价类
- 从有效等价类中抽取其中一个数据进行设计测试用例,从无效等价类中抽取一个数据进行设计测试用例.
边界值
- 充分理解需求
- 找边界点
- 针对边界点设计测试用例
对于6-15的闭区间设计:
上点就是6,15,内点就是13,离点就是5,16
这就是根据边界值设计出来的测试用例,在工作中,我们通常还要结合等价类设计出的测试用例来进行用例的汇总.
判定表
判定表是一种用于判断某个条件是否满足的表格,通常用于软件测试、质量控制等领域。在判定表中,每个条件都有一个对应的结果,当条件满足时,结果为“是”,否则为“否”。通过比较多个条件的组合结果,可以得出最终的结论.
判定表是另一种表达逻辑判断的工具.
关系:
与(所有条件必须满足,如果一个条件不满足,此时结果为假).
或(满足其中一个条件结果就为真,如果条件全部为假,结果就为假)
恒等(如果条件为真,那么结果一定为真)
非(条件为假,结果才为真).
判定表设计测试用例
- 分析所有可能的输入和可能的输出
- 找出输入和输出之间的对应关系
- 设计判定表
- 把判定表对应到每一个测试用例
案例
输入:订单已提交,订单金额大于300,有红包
输出:优惠,不优惠
正交表
正交法的目的是为了减少用例数目,用尽量少的用例覆盖输入的两两组合.
什么是正交表
名词
因素:此次需求的输入(变量)
水平:变量的取值.
性质
每一列中各数字出现的次数一样多,任何两列中的各有序对出现的次数一样多.
如何通过正交表设计测试用例
充分理解需求-> 确定因素水平->画正交表->补充正交表->将正交表转换成测试用例.
给出一个需求:姓名,邮箱,密码,确认密码,验证码必须全部输入,才能进行注册.
因素:姓名,邮箱,密码,确认密码,验证码.
水平:填写,不填写.
通过allpirs画正交表
1.首先将因素水平填写到一个excel表格中.
2.将excel表格内容复制到txt文本中,保存到allpairs路径下
3. cmd进入到allpairs安装路径下,执行一个命令生成目标文件.
4.生成正交表
补充一行全是不填写的.
写测试用例
场景设计法
两个概念:主事件流和次事件流.
现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。该方法可以比较生动地描绘出事件触发时的情景,有利于测试设计者 设计测试用例,是测试用例更容易理解和执行。
比如去ATM取款
主事件流:插卡->输密码->选择取款->输入金额->出钞->取卡.
次事件流:就是每个节点可能会发生的其他情况,比如插卡的时候可能卡消磁了,输入密码的时候密码输错了,密码忘记了,选择业务的时候还可以选择余额的查询,出钞的时候ATM可能断电了等等.
把每个节点的可能情况串起来,就是一个测试用例.
这就是把相关联的功能模块串到一起测试,为测试人员建立整体的业务感觉.
错误猜测法
面试题
如何模拟弱网
弱网是指网络带宽不足、丢包率高、延迟大等情况,这些情况会影响网络的稳定性和用户体验。弱网测试主要就是对带宽、丢包、延时等进行模拟弱网环境,以验证软件在弱网环境下的表现 .
可以借助许多工具,比如fiddler.
fiddler模拟弱网
打开弱网模式
查看弱网规则
代表上传1KB花费时间300ms,下载1kb数据,花费时间150ms.
接口如何测试
借助工具postman.
根据http请求方式测试,针对参数进行测试(传递所有测试,传递部分参数,不传参,传递其他参数).
zip命令测试
测试用例万能公式
功能,界面,易用,兼容,安全,网络,中断....
功能:物体:这个物体是用来干嘛的;软件:软件实现功能.
界面:物体:物体的外表材质大小等等;软件:界面,字体大小颜色,页面布局.
易用:(依靠经验)操作简单,使用流畅,人性化.
兼容:物体:除了本质的功能,还有没有其他的功能;软件:操作系统,设备,浏览器版本.
性能:物体:使用寿命;软件:响应时间,吞吐量,并发数.
安全:物体:物体材质是否有毒,物体会不会对人体健康造成威胁;软件:sql注入,xss漏洞,输入有毒的脚本.
网络:软件:2g-5g,弱网,wifi.....
水杯测试用例
微信发朋友圈