软件测试——用例

news/2025/2/13 2:28:05/

一、测试用例
1.定义
向被测试系统发起的一组集合,包含测试环境、测试步骤、测试数据、预期结果
2.为什么软件测试人员要写测试用例?
(1)测试用例是测试执行的依据
(2)测试用例可以复用,在进行回归测试的时候不用重新编写
(3)测试用例可以衡量需求的覆盖率
(4)后人借鉴
(5)手工测试用例是自动化测试的依据
3,基于需求设计测试用例
从需求中提取出测试项,根据测试项进一步细分,提取出测试点,编写测试用例
(1)从界面开始进行测试(符合UI设计稿)
(2)验证软件的功能,把业务相关的功能串起来进行测试(不能光关注一个孤立的功能)
(3)一个功能的不同的输入,和相应的不同的输出
(4)功能之间的交互
(5)异常功能的测试
(6)功能用到的算法的验证
(7)从易用性、兼容性去考虑
4.如何分析一个页面,做到完整覆盖
页面:从上到下,从左到右依次分析
5.非功能性测试
易用性、兼容性、性能、安全性、可移植性、可靠性、可维护性
注意:不同应用软件对以上非功能的要求不一样
(1)面向客户端的软件:如:office、word、xmind等,对性能、安全性要求不高,对于兼容性、可移植性、稳定性要求较高
(2)面向企业内部的软件:如:飞Q,飞书等,对兼容性、性能要求不高,对功能、可靠性要求高
(3)大型商业软件:微信、QQ,对性能、兼容性、可移植性、安全性要求高
6.具体设计测试用例的方法(具体见测试用例设计)
(1)等价类:把输入划分成若干个等价类,从每一个等价类当中选择一个(多个)测试用例进行测试,如果这个测试用例通过,就说这个测试用例代表的等价类测试通过
有效等价类:符合数据规格说明的数据集合
无效等价类:不符合数据规格说明的数据集合

(2)边界值
针对输入很多边界进行测试用例的设计,叫做边界值法

(3)错误猜测法
测试人员的经验、直觉,认为有错误的模块进行测试

(4)场景法
软件不同的场景,是基于不同的事件的触发,不同事件的触发,导致场景走向不同的事件流。
不同的功能点串起来形成一个场景,不同的功能点又有不同的输出,不同的输出导致不同的测试场景
ATM取款机场景:
插卡——输入密码——输入取款钱数——取款——退卡
a.插卡
插错卡,公交卡、饭卡、会员卡、
卡插反
卡磁条无法识别
卡损坏
卡号冻结
停电吞卡
网络不好,无法识别卡
b.输入密码
输入正确的密码
输入错误的密码
不输入密码,直接点击确认
密码输入错误超过三次,账户锁定
密码第一次输入错误,第二次或第三次输入正确
密码输入框是否支持删除输入操作
测试密码是否加密
是否支持不同字符的输入
c.输入取款钱数
输入小于卡余额的数
输入等于卡余额的数
输入大于卡余额的数
输入非整百的数
不输入直接按取钱按钮(取钱按钮置灰)
多久不操作超时
d.取款
输入小于等于卡余额的钱数时,取款成功
输入大于等于卡余额的钱数,取款失败,并提示“余额不足”
超过每日取款余额的上限
超过每日取款次数的上限
e.退卡
取钱后正常退卡
操作超时,吞卡
f.ATM
ATM一切正常
ATM余额不足
ATM断网,断电,硬件故障
发生异常情况ATM机是否支持事务回滚

事务是一系列密切相关的操作集合,如果所有操作成功,就说这个事务成功了,如果其中一个操作失败了,就说这个事务执行失败

测试用例:
Ⅰ插错银行卡后,系统提示“无法识别”
Ⅱ卡消磁后,插入该卡,ATM机提示“无效卡,请检查你的银行卡是否有效”

(5)因果图法
一种逻辑图,恒等、与、或、非,用因果图来设计测试用例,叫做因果图法
使用场景:当有很多输入,不同的输入或不同的输入组合针对有不用的输出

(6)正交法
根据正交性来设计测试用例,从大量的试验数据中根据正交原则取出最优的数据的组合,根据最优数据集合的结果,来分析整个测试的结果

每一页展示100条数据,共展示5页,但是发现不同的页面上有相同的数据,数据ID也一样,为什么?
没有对搜索到的数据进行排序,导致每一页的数据展示都是随机的


http://www.ppmy.cn/news/2343.html

相关文章

springboot构建RESTful 风格应用

Spring Boot 构建 RESTful 风格应用 1.Web开发的两种模式: 前后端不分离: 以前没有移动互联网时,我们做的大部分应用都是前后端不分的,比如jsp,或者thymeleaf等后端分离模板,在这种架构的应用中&#xf…

Spring Cloud Alibaba整合Sentinel进行服务熔断降级

一、下载Sentinel Dashboard控制台服务 Releases alibaba/Sentinel GitHub 一样的,根据自己的Spring Cloud Alibaba版本下载相应版本的Sentinel 启动服务,可以指定端口 java -Dserver.port8849 -Dcsp.sentinel.dashboard.serverlocalhost:8849 -Dp…

vue学习笔记(一)-vue基础语法

视频教程:尚硅谷Vue2.0Vue3.0全套教程丨vuejs从入门到精通_哔哩哔哩_bilibili 相关文档:Vue核心 Vue简介 初识 (yuque.com) 兼容性 Vue 不支持 IE8 及以下版本,因为 Vue 使用了 IE8 无法模拟的 ECMAScript 5 特性。但它支持所有兼容 ECMAS…

led台灯哪个牌子效果最好?2022最新国产led灯品牌排行

目前台灯的发展非常迅速,已经到了全面led灯的时代,传统的卤素灯已经近乎完全淘汰,这不仅仅是跟技术的发展有关,也跟led灯本身的优势有关,各方面很适合做成护眼灯。 护眼灯为什么都是led灯? 护眼台灯使用le…

CSS 实现音频loding动画

前言 👏实现一个音频loading动画还蛮有趣的,速速来Get吧~ 🥇文末分享源代码。记得点赞关注收藏! 1.实现效果 2.实现步骤 定义css变量:父容器高度为–h,可以动态设置loading的高度 :root {--h: 80px;}父…

JAVA EE,一文彻底聊明白

关于JAVA EE的论述,JAVA EE和Spring的论述在第二、三章节。 目录 1.JAVA的发展史 2.JAVA EE 3.JAVA EE和Spring 1.JAVA的发展史 JAVA语言于1995年面世,主要开发者为——James Gosline,后被称为JAVA语言之父。最早该语言叫Oak,…

醛基-PEG-纤维二糖 Cellobiose-CHO 纤维二糖-醛基

醛基-PEG-纤维二糖 Cellobiose-CHO 纤维二糖-醛基 羰基中的一个共价键跟氢原子相连而组成的一价原子团,叫做醛基,醛基结构简式是-CHO,醛基是亲水基团,因此有醛基的有机物(如乙醛等)有一定的水溶性。 中…

脉冲波形的产生和整形

一个周期性的脉冲信号,我们希望可以提供0和1的电平值 边沿的好坏,跳转时间长,效果就不好,特性就不好,所以描述周期性的脉冲信号的时候,有相应的参数,高低电平我们一般画成等宽的,尽…