本篇目录

一、测试用例

二、测试用例 例子

三、测试用例的常用方法


一、测试用例

1、什么是测试用例
  一组由前提条件、输入、执行条件、预期结果等组成,以完成对某个特定需求或者目标测试的数据,体现测试方案、方法、技术和策略的文档(XMind)。
2、为什么要写测试用例
  科学有效的对测试步骤进行组织规划,方便管理,记录。
3、测试用例的管理过程
  编写→评审(修改→再次评审)→执行→保存管理→维护/升级。
4、测试用例编写依据
  软件需求说明书、软件模板。(蓝湖、脑图、项目wiki、SharePoint、与产品/交互/开发沟通)。
5、测试用例主要包含哪些内容
  编号、日期、设计和测试人员、优先级、标题、目标、环境、输入数据/动作、预期结果。(XMind编写,一般由前提条件、输入、执行条件、预期结果组成)
6、设计测试用例的注意事项
  从高到低,独立性,与功能一一对应,根据需求设计,由有经验的人员设计。
7、设计测试用例的原则
  有模板、正确性、代表性、可判断性、重现性、详细准确清晰的步骤、符合规范;注意要简洁清晰,逻辑严谨,分类明确,可以让人一目了然所设计用例要测试的功能和目的。
8、用例的执行和管理
  通过用例评审,开发提测后即可在Beta环境执行测试用例,对于未通过测试的缺陷在jira上创建bug,分配给相应的开发人员,开发修完bug后对用例进行验证,通过close,未通过reopen,同时也要对其他用例再测一测,以防开发提交变动代码时出现新bug。(缺陷管理软件:mantis、redmine、jira、bugzilla等)

9.对齐测试用例需求

首先、明确要完成的测试用例文档目标要求,模板、范围、粒度等。

用例文档使用者:测试人员
用例文档范围:覆盖产品所有需求
用例模板内容:编号、模块、子模块、测试功能点、预置条件、数据、步骤、预期结果、优先级、用例类型、关联需求、(编写人、更新时间、执行人、状态、执行时间、执行结果)
测试用例粒度:所有功能的正反用例
测试用例验收负责人:活久见(对齐目标)

二、测试用例 例子

测试用例的信息有很多,可以根据实际的情况进行增删,一般来说一个优秀的测试用例应该如下例子所示:

例如:假设目前测试中国移动互联短信网关是否能正确发送短信给中国联通互联网关,测试用例的设计如下: 

(1)测试用例ID:TC000001

(2)测试用例名称:中国移动全球通手机用户成功发送短信给中国联通手机用户

(3)测试功能点:中国移动全球通手机用户成功短信给中国联通手机用户,中国联通网关返回成功的状态报告

(4)测试目的: 
A、中国移动互联短信网关能否正确处理全球通用户发送给中国联通用户的短信; 
B、中国移动互联短信网关能否正确处理中国联通互联短信网关返回成功的状态报告的情况。 
(5)测试级别:基本功能测试 
(6)测试类型:功能测试 
(7)预置条件:各网关实体按照组网图中的关系连接好,各实体之间的连接和通信正常。 
(8)测试步骤: 
A、中国移动全球通手机用户(13901000001)给中国联通手机用户(13001000001)发送MO短信,内容为“测试”,目的号码填为中国联通手机号码; 
B、中国联通互联短信网关把短信下发给中国联通用户成功后,给中国移动互联短信网关返回一个标识成功的状态报告。 
(9)预期结果: 
A、中国联通手机用户(13001000001)接收到了短信,内容为“测试”,源号码为中国移动全球通的用户号码(13901000001); 
B、在中国移动互联短信网关上产生SMO话单,其中“短消息发送状态”填0(表示成功),“源手机号码”13001000001,“目的手机号码”为13001000001。

三、测试用例的常用方法

1、等价类

方法:根据需求列出输入,并对每一个输入的规则进行分析,然后对每一条规则进行正确和错误的罗列,最后将所有的输入进行正确和错误用例的组合,一条正确的用例尽可能多的覆盖每个输入的不同有效数据,一条错误的用例只能含有一个无效数据(控制变量)。对于一个输入应考虑它的:数据类型、长度、取值范围、是否可重复,是否为空(为空可分为不输入和输入空格),组成规则等内容 。

优点:简单高效,能快速评估测试用例数量;

缺点:只考虑了输入的有效和无效,对数据的组合比较随机,边界缺陷不容易发现 ;

适用范围:只在存在输入的需求都适用。

2、边界值

边界值分析方法的理论基础是假定大多数的错误是发生在各种输入条件的边界上,如果在边界附近的取值不会导致程序出错,那么其他取值导致程序错误的可能性也很小。

方法:对于存在边界的输入,取边界的上点、内点、离点进行测试。

上点:边界上的点

内点:边界内的点

离点:闭区间间靠近上点但在区间外的一点,开区间则是在区间内的一点 主要是用于对等价类的补充

优点:能更容易发现边界,更全面系统的测试边界上可能存在的问题;

缺点:只能作为一个对其他设计方法的补充;

适用范围:有输入参数且存在取值边界或长度边界时。

3、判定表

方法:确定输入和输出,列出所有的条件桩和动作桩;填入条件项;针对每个条件项计算并填入动作项;化简,合并相似的规则。

优点:能把复杂的问题按各种可能的情况一一列举出来,简明而易于理解,也可避免遗漏;

缺点:条件桩过多时,用例呈指数增长,且在合并相似的项时存在漏测的风险;

适用范围:多个输入判断条件存在逻辑关系,且不分先后的情况。

4、正交实验法

从大量的测试点中挑选出适量的有代表性的点,应用依据迦罗瓦理念导出的正交表,合理安排测试数据的方法 。

优点:用于考虑到所有的组合又使例数量最少 ;

适用范围:输入的参数之间是独立的,不存在相互依赖的关系。

5、流程分析法

流程分析法是将软件系统的某个流程看成路径,根据流程的顺序依次进行组合,使得各个分支都能走到;。

方法:画出流程图,确定测试路径,选择测试数据;构造测试用例;

优点:覆盖了输入,处理和输入;

缺点:覆盖的输入取值不多,需要对业务比较了解 ;

适用范围:流程比较复杂的情况。

6、状态迁移法

即有深度和广度的状态树 。

方法:画出状态迁移图;通过迁移图画出状态转换树;从转换枝推导出测试路径;编写测试用例 。

优点:保证每一个节点的所有可达状态都被测试到;

缺点:没有对不可达的状态进行测试的覆盖;

适用范围:从一个操作可以到达多个可能的操作或从一个状态可以到达多个可能的规定状态 且状态取值或输入变化有固定的要求顺序。

7、因果图

因果图提供了一个把规格转化为判定表的系统方法,且它最终生成的就是判定表。

方法:把大的系统规格划分成可以测试的规格片段;分析哪些是原因、哪些是结果;画出因图;把因果图转换成判定表;简化判定表;

优点:能帮助我们按照一定步骤,高效选择测试用例,设计多个输入条件组合用例;能考虑到多个条件组合起来可能出错的情况;

缺点:输入条件与输出条件的因果关系有时很难从SRS中得到,即便得到了也会因为因果关系复杂导致因果图非常庞大,从而使测试用例数目非常多;

8、输入域覆盖法

是一种综合的方法,综合了等价类和边界值等方法

9、输出域覆盖法

从输入结果倒推输入的测试方法

10、异常分析法 

主要是构造环境异常来看测试结果

11、错误猜测法

方法选择(打油诗,仅供参考):

所有输入选等价

给定范围加边界

条件孤立想判定

指定常量取正交

跨界操作流程法

多种状态迁移图

条件组合出因果

测试充分全覆盖

多种方法不唯一


软件测试基础巩固

软件测试入门到项目实战,7小时从小白到白领的软件测试快速入门课程

软件测试实战教程 《学车不》APP实战软件测试

首次公开丨黑马头条软件测试实战项目 完整版

软件测试基础手把手带你Excel实现管理接口用例

软件测试基础-手把手教你搞懂测试环境项目部署

软件测试教程Charles抓包工具测试实战

软件测试工程师必备MySQL数据库,mysql系统精讲+课后练习

软件测试进阶教程微信小程序测试实战—全网首发

你还不知道的测试用例相关知识相关推荐

  1. 网络运维与安全岗位月薪2.5w,您还不知道的前景!

    网络运维与安全岗位月薪2.5w,您还不知道的前景! 一.为什么学网络安全?标重点 1..市场巨大 每年各安全厂商收入高达400亿左右,随着5G的发展,万物互联时代,市场将进一步扩大. 2..薪资高 网 ...

  2. 【Android】你可能还不知道的elevation、以及Z值等

    Android你可能还不知道的elevation以及Z值等 elevation以及Z值是什么 有什么用处呢 影响View的阴影 影响View相互阻挡顺序 还有CardView [Android]你可能 ...

  3. 达内html5是什么,Web前端工程师应该知道的HTML5相关知识有哪些

    今天小编要跟大家分享的文章是关于Web前端工程师应该知道的HTML5相关知识有哪些?随着互联网技术的快速发展,人们对互联网的使用越来越大,对于界面和用户体验的要求越来越高.因此Web前端越来越火,前端 ...

  4. android 签名包闪退,解决APP连续闪退的方案,你还不知道的签名方式

    原标题:解决APP连续闪退的方案,你还不知道的签名方式 用户在使用APP检测到连续闪退后,接下来要尝试对闪退进行修复,这里先分析可能的闪退原因: 闪退原因 连续闪退,可能是 App 启动关键路径中执行 ...

  5. 你所不知道的 Python 冷知识!(建议收藏)

    01. 省略号也是对象 ... 这是省略号,在Python中,一切皆对象.它也不例外. 在 Python 中,它叫做 Ellipsis . 在 Python 3 中你可以直接写-来得到这玩意. > ...

  6. 简单介绍下我使用了一年多还不知道的Sql server 2005 组件知识

    简介 Microsoft SQL Server 2005 是用于大规模联机事务处理 (OLTP).数据仓库和电子商务应用的数据库平台:也是用于数据集成.分析和报表解决方案的商业智能平台. SQL Se ...

  7. 学Web前端你不能不知道的几点知识

    随着互联网时代的发展,Web前端开发已经成为时下较火的技术之一,针对Web前端开发工程师这一新兴职业,虽然受重视的时间还比较短,但是随着时间的发展,Web前端开发技术一直在不断的创新与完善.那么,We ...

  8. 关于线程池,那些你还不知道的事

    本文转载于:https://www.cnblogs.com/hafiz/p/7589352.html#4010404 一.背景 最近在学习线程相关的知识,然后顺理成章少不了学习线程池,刚开始在没有深入 ...

  9. 我敢打赌你一定不知道的软件测试基础知识整理

    目录 1.什么是测试覆盖率吗? 2.提交的缺陷包含什么内容? 3.你们的测试流程是怎样的? 4.你写过测试计划么,包含什么内容 5.如何设计登录模块的测试用例? 6.总结 7.重点:配套学习资料和视频 ...

最新文章

  1. Python如何实现穷举搜索?
  2. 如何设计出“有趣”的互联网产品?
  3. [架构]--高并发问题及解决方案
  4. 浏览器工作原理(四):浏览器事件解读
  5. [Abp 源码分析]权限验证
  6. malloc和calloc的区别
  7. 王道考研 计算机网络2 标准化工作
  8. 如何在手机上安装Ubuntu Touch 13.10
  9. 谷歌停止华为合作;联想声明未向华为断供;Android 遭反垄断调查 | 极客头条...
  10. python根据频率画出词云_利用pandas+python制作100G亚马逊用户评论数据词云
  11. android中文api (59) —— TabHost.TabSpec
  12. c++ 中——fatal error: opencv2/opencv.hpp: No such file or directory #include <opencv2/opencv.hpp>
  13. 计算机无法安装蓝牙驱动,Win7蓝牙驱动怎么安装?安装蓝牙驱动的方法
  14. python 广告联盟_谷歌广告月入10000美金的一些经验谈
  15. cleanmymac x免费版安装包下载使用教程
  16. python面试题-如“上海 深圳 深圳 上海“,要求输入一个匹配模式,比如: aabb,判断是否符合
  17. 赵小楼《天道》《遥远的救世主》深度解析(37)丁元英参加酒局前的小插曲:从冯世杰的刁难找茬说说“心是愿望,神是境界”
  18. EditText的属性!
  19. Linux杀不死木马,杀不死进程,自启动进程
  20. Ubuntu ssh连接access deny

热门文章

  1. C语言大一课设 扫雷小游戏
  2. MacBook键盘无法正常工作?故障排除指南
  3. 爆笑啊,你不笑我给你100000000万
  4. 赛效:WPS怎么删除空白页,赛效小编用教程告诉你
  5. 如何恢复误删除的注册表信息
  6. EA开发系列--交易以及交易相关的回调函数
  7. 雅虎邮箱账号防自动注册验证码系统被攻破
  8. python安装模块方法
  9. 洛谷P1077:摆花【动态规划】
  10. linux快捷键命令收集