1.测试用例的概念和作用

1.1测试用例的定义:

1.1.1什么是测试用例?
测试用例是执行测试的依据,把测试系统的操作步骤用文档的形式描述出来

(1)测试用例是为达到最佳的测试效果或高效的揭露隐藏的错误,而精心设计的少量测试数据,包括测试输入、执行条件和预期的结果,实际结果
(2)测试用例是执行的最小实体。
(3)测试用例是测试工作的指导,是软件测试的必须遵守的准则,更是软件测试质量稳定的根本保障
1.1.2.测试用例的特征:
1、有效性:测试用例的能够被使用,且被不同人员使用测试结果一致
2、可重复性:良好的测试用例具有重复使用的功能。(回归测试)
3、易组织性:好的测试用例会分门别类地提供给测试人员参考和使用(功能、性能、易用分类编号)
4、清晰、简洁:好的测试用例描述清晰,每一步都应有相应的作用,有很强的的针对性,不应出现一些无用的操作步骤。
5、可维护性:由于软件开发过程中需求变更等原因的影响,常常对测试用例进行修改、增加、删除等,以便测试用符合相应测试要求。

1.2.编写测试用例的好处:

1.1.1.测试用例的作用:
在开始实施测试之前设计好测试用例,可以避免盲目测试并提高测试效率。
测试用例的使用令软件测试的实施重点突出、目的明确。
在软件版本更新后只需修正少部分的测试用例便可展开测试工作,降低工作强度、缩短项目周期。
检验软件是否满足客户需求、体现一个测试人员的工作量、展现测试用例的设计思路

1.3.测试用例的4个特性

代表性:能够代表并覆盖各种合理的和不合理、合法的和不合法的、边界的和越界的以及极限的输入数据、操作等。
针对性:对程序中的可能存在的错误有针对性地测试
可判定性:测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果
可重现性:对同样的测试用例,系统的执行结果应当是相同的。

1.4.测试用例通常包括以下几个组成元素:

用例编号、测试模块、用例标题、用例级别、测试环境、测试输入、执行操作、预期结果,实际结果…

2.编写测试用例的基本方法

1.1.1.概念

有效,无效
等价类划分是指分步骤地把海量(无限)的测试用例集减得很小,但过程同样有效。
等价类 :何为等价类,某个输入域的集合,在这个集合中每个输入条件都是等效的。
一般可分为有效等价类和无效等价类

比如:一个青少年考试的分数(备注13-17岁为青少年)
假设青少年年龄为x,13<=x<=17,数学成绩为y:0<=y<=100
那么年龄按照等价类划分可分为x<13,13<=x<=17,x>17,有效等价类是13<=x<=17,无效等价类是x<13,x>17
数学成绩按照等价类划分可分为y<0,0<=y<=100,y>100,有效等价类是0<=y<=100,无效等价类是y<0,y>100

2.2.边界值法

一般边界值分析是因为程序开发循环体时的取数可能会因为<,<=搞错。
比如下面代码
  for(int i = 0;i <100; i ++)
{
  int j = i+1;
  System.out.println("循环第“+j+“次”)//循环地做某件事情
}
  这里的程序是循环了100次,所以会做100次;
  如果程序员不小心,把i <100写成i <= 100,则多循环添加一次,这时候边界值检查是一个很好的测试方法。
比如:在一个系统中,填写一个多少岁的青少年考了多少分(假设成年人年龄为x,13<=x<=17,数学成绩为y:0<=y<=100
根据上面的等价类划分法我们可知,年龄的有效等价类是13<=x<=17,所以边界值就是12, 18
数学成绩的,有效等价类是0<=y<=100,所以边界值就是-1,0,100,101

对数据进行软件测试,就是在检查用户输入的信息、返回的结果以及中间计算结果是否正确。即使最简单的程序要处理的数据量也可能极大,使这些数据得以测试的技巧是,根据一些关键的原则进行等价类的划分,以合理减少测试用例,这些关键的原则是:边界条件,次边界条件、空值和无效数据。
1.1.7.确定边界值的方法()
选取正好等于、刚刚大于或刚刚小于边界值作为测试数据

输入要求是1 ~ 100之间的整数,因此自然产生了1和100两个边界,我们在设计测试用例的时,要重点考虑这两个边界问题。
[1 100] 上点1 ,100 离点 0 101所属
(1,100) 上点 2,99 离点 1 ,100
(1,100] 上点 2,100 离点 1 ,101

2.3.因果图法

1.1.8.概念:
因果图法比较适合输条件比较多的情况,测试所有的输入条件的排列组合。所谓的原因就是输入,所谓的结果就是输出。
1.1.9.因果图基本图形符号
恒等:若原因出现,则结果出现;若原因不出现,则结果不出现。
非(~):若原因出现,则结果不出现;若原因不出现,则结果出现。
或(∨):若几个原因中有一个出现,则结果出现;若几个原因都不出现,则结果不出现。
与(∧):若几个原因都出现,结果才出现;若其中有一个原因不出现,则结果不出现。
1.1.10.因果图的约束符号
E(互斥):表示两个原因不会同时成立,两个中最多有一个可能成立
I(包含):表示三个原因中至少有一个必须成立
O(惟一):表示两个原因中必须有一个,且仅有一个成立
R(要求):表示两个原因,a出现时,b也必须出现,a出现时,b不可能不出现
M(屏蔽):两个结果,a为1时,b必须是0,当a为0时,b值不定

2.4.场景法

1.1.12.测试用例设计的思想
现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。
用例场景是通过描述流经用例的路径来确定的过程,
这个流经过程要从用例开始到结束遍历其中所有基本流和备选流。

测试用例的概念和作用相关推荐

  1. 爬虫基础(一)之概念、作用、分类和流程

    爬虫基础(一)之概念.作用.分类和流程 1. 爬虫的概念 模拟浏览器,发送请求,获取响应        浏览器相当于客户端 网络爬虫(又被称为网页蜘蛛,网络机器人)就是模拟客户端(如网易云音乐)(主要 ...

  2. 细说进程、应用程序域与上下文之间的关系(一)——进程的概念与作用

    引言 本文主要是介绍进程(Process).应用程序域(AppDomain)..NET上下文(Context)的概念与操作. 虽然在一般的开发当中这三者并不常用,但熟悉三者的关系,深入了解其作用,对提 ...

  3. (常用API)正则表达式的概念和作用

    正则表达式的概念 正则表达式(英语:Regular Expression,在代码中常简写为regex). 正则表达式是一个字符串,使用单个字符串来描述.用来定义匹配规则,匹配一系列符合某个句法规则的字 ...

  4. java 常用流_Java流类图结构: 流的概念和作用流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数...

    Java流类图结构: 流的概念和作用 流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象.即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性将流抽象为各种类,方便更直观 ...

  5. Spring4.x(2)--SpringIOC的概念和作用

    SpringIOC的概念和作用 一.什么是IOC? Ioc-Inversion of Control,即"控制反转",不是什么技术,而是一种设计思想.在Java开发中,Ioc意味着 ...

  6. java day57【 Spring 概述 、 IoC 的概念和作用、使用 spring 的 IOC 解决程序耦合 】...

    第1章 Spring 概述 1.1 spring 概述[了解] 1.1.1 spring 是什么 1.1.2 Spring 的发展历程 1.1.3 spring 的优势 1.1.4 spring 的体 ...

  7. 数字证书的概念以及作用

    1.1 数字证书的概念以及作用      数字证书又称为数字标识,是标志网络用户身份信息的一系列数据.它提供了一种在互联网上身份验证的方式,是用来标志和证明网络通信双方身份的数字信息文件.通俗地讲,数 ...

  8. Android Vendor Test Suite (VTS) 的概念、作用及测试方法

    Android Vendor Test Suite (VTS) 的概念.作用及测试方法 Qidi 2017.08.01 (Markdown & Haroopad) 注意:本文基于 Androi ...

  9. Java:IO流的概念、作用、分类

    IO流的概念.作用.分类 1:流的概念和作用 2:流的分类 2.1 按操作数据单位不同分为:字符流.字节流 2.2 按流的角色的不同分为:节点流,处理流 2.3 按数据流的流向不同分为:输入流,输出流 ...

最新文章

  1. 一些常用字符串操作函数的内部实现
  2. 堆、栈、方法区、直接内存
  3. 深入浅出KNN算法(二) sklearn KNN实践
  4. 如何提取SAP UI5应用的技术信息
  5. ADO.NET 核心对象简介
  6. 【初等数论】指数、原根与不定方程
  7. SqlServer动态表查询
  8. cutterman工具使用 0921
  9. qt如何安装python_安装Python QT,PythonQT,的
  10. NHibernet能带来什么呢?
  11. 网上购物系统数据库分析
  12. 管理制度化 制度流程化 流程表单化 表单信息化-企业管理制度应该靠奖罚
  13. Android Studio数据库增删改查。
  14. 详解TCP 三次握手和四次挥手
  15. increment java_Java中的increment()有什么作用?
  16. 全球及中国建筑设计行业十四五发展方向与投资决策建议报告2022版
  17. 约翰·卡马克和他的id Software
  18. 微信小游戏实现语音识别(超详细)
  19. java坦克大战(2.0)
  20. 【JSP】用户信息界面操作 ---- 用户信息修改

热门文章

  1. BZOJ 4605 崂山白花蛇草水 权值线段树+K-D树
  2. VBA操作WORD(三):设置页面
  3. 双硬盘下安装win+linux关于开机引导的问题
  4. 软件工程的顶会和顶刊
  5. 使用v-show时,当isshow:false时,在页面刷新的过程中,isshow依然会短暂显示一下...
  6. 关于向量的模和向量的范数的理解
  7. 示波器仪器设备自动化校准计量检测软件系统NSAT-3010
  8. 查询计算机系统操作工,计算机系统操作工B卷
  9. SSL集训 某OJ2021.08.14 提高B组 Luogu P7527 [USACO21OPEN] United Cows of Farmer John G【树状数组】
  10. SDP: Session Description Protocol(会话描述协议) (RFC2327)