java测试---用例(设计测试用例的基本要素、好处,六大设计测试用例的方法)
QQ登录测试
兼容性:
① 不同的Windows操作系统,不同品牌的电脑
② 不同的手机系统,不同的手机品牌
③ 不同版本的QQ,市场上用户主要用的主流版本
④ MAC电脑的主流版本
1. 设计测试用例
- 基本要素:测试环境、测试数据、操作步骤、预期结果等。
- 三大好处:
① 可以评估测试的覆盖率
② 可以重复使用(做回归测试时)
③ 后辈借鉴学习,汲取经验
2. 测试用例的设计方法
基于整体的设计测试用例的办法:基于需求设计测试用例。基于需求设计测试用例的前提是:要保证我们需求的正确性和完整性,逻辑要一致。(验证需求)
六大设计测试用例的方法:
1. 等价类
把输入(特殊的情况下考虑输出)划分成若干个等价类,从每一个等价类当中提取一个测试用例进行测试,如果该测试用例通过,那么就说该测试用例代表的等价类测试通过。
优点:解决了输入很多,无法穷举的一种情况。
① 有效等价类:符合程序规格说明书的有意义的值,叫做有效等价类。
② 无效等价类:相反的,不符合程序规格说明书的无意义的值,叫做无效等价类。
例:一个文本框搜索,允许1-6个英文字符或数字,按ok结束
有效等价类:(1)1-6个a-z;(2)1-6个A-Z;(3)1-6个0-9;(4)1-6个A-Z和0-9混合;(5)1-6个a-z和0-9混合;(6)1-6个a-z和A-Z混合;(7)1-6个a-z和A-Z和0-9混合;
无效等价类:(1)0个;(2)大于6个 英文或数字混合(不止一个测试用例);(3)1-6个非英文或数字;(4)1-6个英文数字,或特殊符号混合
2. 边界值:
针对输入输出的边界进行测试用例。(一般讲边界值和等价类方法放在一起设计测试用例)
例:
(1)输入框长度为1-11,取边界值为:0、1、11、12
(2)输入6-18位字符,使用字母、数字、下划线,取边界值:0、5、6、7、17、18、19
3. 因果图:
因果图是一种逻辑图,有多个输入、输出和不同输入的组合之间有关系,就可以使用因果图设计测试用例。
设计测试用例步骤:找出所有的输入和输出 → 找出输入和输出之间的关系 → 根据输入输出之间的关系画因果图 → 根据因果图画判定表 → 根据判定表设计测试用例
① 恒等:
② 或:
③ 与:
④ 非:
例:淘宝活动,订单已提交,订单金额大于300或者有优惠红包,打折优惠。
所有输入:金额大于300、金额小于300、有红包、没有红包、订单已提交、订单未提交
所有输出:优惠、不优惠
输入和输出之间的关系:(1)订单未提交,无优惠;(2)订单已提交,金额大于300,有优惠;(3)订单已提交,有红包,有优惠;(4)订单已提交,金额小于300,有红包,有优惠;(5)订单已提交,金额小于300,无红包,无优惠;(6)订单已提交,金额大于300,有红包,有优惠。
画因果图:
画判定表:(输入Y/不输入N)
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | ||
---|---|---|---|---|---|---|---|---|---|
条 | 订单已提交 | Y | Y | Y | Y | N | N | N | N |
金额>300 | Y | Y | N | N | Y | Y | N | N | |
件 | 有红包 | Y | N | Y | N | Y | N | Y | N |
中间结果 | (中间量) | Y | Y | Y | N | Y | Y | Y | N |
输 | 优惠 | Y | Y | Y | N | N | N | N | N |
出 | 不优惠 | N | N | N | Y | Y | Y | Y | Y |
测试用例:
① 订单已提交,金额大于300且有红包,有优惠
② 订单已提交,金额大于300,无红包,有优惠
③ 订单已提交,金额小于300,有红包,有优惠
④ 订单已提交,金额小于300,无红包,无优惠
⑤ 订单未提交,金额大于300且有红包,无优惠
⑥ 订单未提交,金额大于300,无红包,无优惠
⑦ 订单未提交,金额小于300,有红包,无优惠
⑧ 订单未提交,金额小于300,无红包,无优惠
4. 正交法:
研究多因素、多水平的一种测试用例的设计方法。取出多个水平的最优组合,通过研究这些组合最后的实验结果来分析我们这个实验的结果。
特点:正交试验设计是一种基于正交表的、高效率、快速、经济的试验。
因素:输入
水平:每个因素的取值
水平数:每个因素的取值的个数
正交表的构成:
因素数(Factors):正交表中列的个数,用C代表。
行数(Runs):正交表中的行的个数,即试验的次数,用N代表,计算方法(仅在水平数相同时使用):*(水平 数-1)因素数+1。
水平数(Levels):任何单个因素能够取得的值的最大个数。正交表中的包含的值为从0到数“水平数- 1”或从1到“水平数”,用T代表。正交表的表示形式: L=行数(水平数*因素数),即 L=N(TC)
正交表的两条性质:
① 每一列中各数字出现的次数都一样多。
② 任何两列所构成的各有序数对出现的次数都一样多。正交法设计测试用例的步骤:
① 有哪些因素(变量);
② 每个因素有哪几个水平(变量的取值);
③ 选择一个合适的正交表;
④ 把变量的值映射到表中;
⑤ 把每一行的各因素水平的组合作为一个测试用例;
⑥ 加上你认为可疑且没有在表中出现的用例组合;
(如何选择一个合适的正交表?即最优组合)
例:用邮箱注册, 姓名,邮箱,密码,确认密码,验证(输入Y/不输入N)
因素名称 | 姓名 | 邮箱 | 密码 | 确认密码 | 验证码 |
---|---|---|---|---|---|
1 | Y | N | Y | N | Y |
2 | Y | N | N | Y | Y |
3 | Y | Y | N | N | N |
4 | N | Y | N | Y | N |
5 | N | N | Y | N | Y |
6 | N | Y | Y | Y | N |
补增测试用例:
7姓名、邮箱、密码、确认密码、验证码都不填写
8姓名、邮箱、密码、确认密码、验证码都填写
问:当水平数不相同的时候可以正交表设计测试用例吗?
答:可以,但不能使用公式,可以使用PICT工具查表。
5. 场景设计法(基本事件流、备选事件流)
场景设计法是用业务流把各个孤立的功能点串起来,为测试人员建立整体业务感觉,从而避免陷入功能细节忽视业务流程要点的错误倾向。
例:从ATM机取钱流程:
插卡→输入密码→选择业务(取款)→输入金额→取钞票→退卡
1、 基本事件流:
正常插卡,输入正确的密码,选择取款,输入小于等于银行卡余额的取款金额,取钱,退卡
2、备选事件流:
① 操作超时,吞卡
② ATM机异常,无法进行正常操作
③ 卡片异常(消磁、证件过期),ATM机无法识别,卡片无效
④ 前两次输入密码错误,第三次输入正确,操作可以继续进行
⑤ 三次输入密码都错误,卡被锁定
⑥ ATM机余额不足,无法取款
⑦ 输入取卡金额大于银行卡余额,无法取款
⑧ 卡片插反,无法识别
⑨ 没有网络,ATM机无法正常操作
6. 错误猜测法
根据经验和直觉去判断系统的哪一个模块有问题,针对有问题的模块进行测试用例的设计。经验越多,知识积累越多,越有利于该法。(是设计测试用例的补充方法)
java测试---用例(设计测试用例的基本要素、好处,六大设计测试用例的方法)相关推荐
- 简单的Java代码测试样例设计
简单的Java代码测试样例设计 函数一 public static int findLast(int[] x, int y) {for (int i = x.length - 1; i > 0; ...
- java中白盒测试用例_基于JAVA开发的中国象棋游戏的开发与研究白盒测试用例.doc...
中国象棋白盒测试用例 文件状态当前版本V1.0草稿 作 者梁世聪完成日期2012/6/17文档模板SSP-VER-T13-V1.0密 级变更历史 版本完成日期变更记录作者批准签字V1.02012/6/ ...
- 软件测试(用例Ⅰ)· 测试用例的基本概念 · 万能公式 · 设计测试用例的方法(等价类、边界值、判定表法、正交法、场景设计法、错误猜测法)
一.测试用例 基本要素 好处 设计方法 - 万能公式 二.设计测试用例的方法 等价类 边界值 判定表法 正交法 场景设计法 错误猜测法 一.测试用例 基本要素 测试用例(Test Case)是为了实施 ...
- java test20006_Java单例7种测试实践
单例:一个进程中只能存在唯一一个对象. 1.饿汉模式. 主动型太粗暴./** * @author :jiaolian * @date :Created in 2021-01-10 21:25 * @d ...
- 详细讲解如何使用Java连接Kafka构建生产者和消费者(带测试样例)
1 缘起 学习消息队列的过程中,先补习了RabbitMQ相关知识, 接着又重温了Kafka相关的知识, 发现,我并没有积累Java原生操作Kafka的文章, 只使用SpringBoot集成过Kafka ...
- java设计课程数学生数_JAVA课程设计小学数学算数测试软件.pdf
软 件 学 院 课程设计报告书 课程名称 面向对象程序设计 设计题目 小学数学测试软件 专业班级 学 号 姓 名 指导教师 2014 年 6 月 目 录 1 设计时间3 2 设计目的3 3 设计题目3 ...
- 基于java的部门工作管理系统(公司办公管理)的设计与实现论文
论文题目:部门工作管理系统的设计与实现 摘 要 目前,不断发展的计算机技术已经被广泛用于各个行业和领域,传统意义上的部门工作形式发生着根本性的变化,企业部门工作的内容也己经转变为对更为广泛的价值的追求 ...
- java测试(java测试主要做哪些工作)
java中如何写测试代码? 写个main函数就可以测试了测试用例设计和执行是测试工作的核心,也是工作量最大的任务之一. 测试用例(test case)目前没有经典的定义.比较通常的说法是:指对一项特定 ...
- java 测试工具 oracle_几种测试工具的简单介绍
负载测试(Load Test):负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担. 二.WinRunner WinRunner 是一种企业级的功能测试工具,用于检验企业应用程序是否能 ...
最新文章
- 遇到的仍未学习的各种结论
- 再见,数据库!MySQL千亿数据分库分表架构,堪称惊艳!
- 在origin 2018中同时画两个图,带errorbar和不带errorbar两种情况
- boost::math模块查找正态分布的均值或标准差的示例
- 更改tomcat的request编码方式
- Linux 下升级 python2 到python3
- 前端学习(1716):前端系列javascript之页面配置下
- 从图(Graph)到图卷积(Graph Convolution):漫谈图神经网络 (二)
- php memcached 设置过期,memcached过期时间无效
- ubuntu16.04安装google中文输入法
- MATLAB规划和LINGO规划,[数学建模]线性规划与matlab,lingo解法
- linux 的vi命令详解,Linux vi 命令详解
- 小米4c android5.1,小米4c原版官方刷机包安卓5.1.1rom线刷包
- Python爬虫反爬方法
- 阿尔泰USB5630数据采集卡
- MPQ文件结构和Partial MPQ文件结构
- chrome真机调试ios
- 【论文】 Deep Learning Architecture for Short-Term Passenger Flow Forecasting in Urban Rail Transit
- 火狐Android 附加组件,Firefox Nightly 隐藏新功能,让 Android 机用上任意桌面端附加组件...
- C语言解一元二次方程