一、为什么要写测试用例

写测试用例可以让测试的需求覆盖更加全面,让测试工作进行得条理有序,且方便移交和交流, 好的测试用例要做到:结构设置合理,case覆盖全面,且具有可执行性,可重复等特点。

二、软件测试文档

1、测试范围列表:需求编号、需求类型,所属模块、需求名称、复杂度、复用性、自测充分性、是否公用模块、使用频率、优先级

2、测试用例一般包含的要素:用例编号、测试项目、用例标题、优先级(致命、严重、一般、微小、建议)、预置条件、输入参数、执行步骤、预期结果

3、 缺陷报告要素:缺陷编号、缺陷标题、严重级别、重现步骤、缺陷状态、提交人、时间、附件

三、测试用例的常用方法

1、等价类

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

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

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

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

2、边界值

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

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

上点:边界上的点

内点:边界内的点

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

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

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

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

3、判定表

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

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

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

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

4、正交实验法

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

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

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

5、流程分析法

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

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

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

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

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

6、状态迁移法

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

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

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

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

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

7、因果图

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

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

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

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

8、输入域覆盖法

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

9、输出域覆盖法

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

10、异常分析法

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

11、错误猜测法

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

所有输入选等价

给定范围加边界

条件孤立想判定

指定常量取正交

跨界操作流程法

多种状态迁移图

条件组合出因果

测试充分全覆盖

多种方法不唯一

附:

软件质量:一个实体的所有特性,基于这些特性可以满足显式或隐式的需求的程度

软件质量模型:功能性、效率、可靠性、易用性、可移植性、可维护性

非功能:效率、可靠性、易用性、可维护性、可移植性

功能性:适用性、准确性、保密安全性、互操作性、依存性

效率:时间特性、资源利用率

易用性:易理解性、易学性、易操作性、吸引性

可靠性:成熟性、容错性、易恢复性

可移植性:适应性、易安装性、共存性、易替换性

可维护性:易分析性、易改变性、稳定性、易测试性

更多软件测试相关推荐:

文章来源:网络  版权归原作者所有

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8103),我们将立即处理

软件测试用例学习,软件测试用例就要这样写!相关推荐

  1. 中学生听说能力测试软件,初中生学习软件排行榜 适合初中生学习的APP推荐

    初中生学习软件排行榜 适合初中生学习的APP推荐2018-09-06 16:02:47文/张雪娇 初中学习软件有哪些是好用的,很多初中生想要知道哪一些是适合自己目前阶段学习的软件,下面初三网小编就为大 ...

  2. 单词测试通关学英语的软件,英语学习软件哪个好?分享几款学英语比较好的软件...

    英语是世界第一语言,能掌握一门这样的语言对于人一生的发展都是有帮助的.学英语当然最好从娃娃抓起,当然,一款好的英语学习软件也是必不可少了.英语学习软件哪个好?市面上有哪些英语学习软件呢? 分享学习软件 ...

  3. 软件测试之测试策略与测试用例设计

    软件测试策略 1.测试分类 软件测试对象:程序+数据+文档 软件测试阶段分类:单元测试-集成测试-系统测试-验收测试 软件测试实施组织分类:开发方测试.用户测试.第三方测试 测试方法 按是否关注内部逻 ...

  4. 软件测试用例_通用测试用例执行软件

    INTEWORK-TAE(Testcase Automation Executor , 以下简称TAE) 是一款通用的测试用例执行软件,可以兼容不同的仿真系统,同时具备了故障注入.标定.测量.诊断.模 ...

  5. 软件测试是采用(A)执行软件的活动,测试(Test)测试是一项采用测试用例执行软件的活动,在这.ppt...

    测试(Test)测试是一项采用测试用例执行软件的活动,在这.ppt Beta 测试是从用户角度进行的测试.( Y ) 项目立项前测试人员不需要提交任何文档. ( Y ) 单元测试能发现大部分的软件缺陷 ...

  6. 软件mil测试,软件测试用例实例(非常详细).doc

    软件测试用例实例(非常详细).doc 完美WORD格式 1.兼容性测试在大多数生产环境中,客户机工作站.网络连接和数据库服务器的具体硬件规格会有所不同.客户机工作站可能会安装不同的软件例如,应用程序. ...

  7. 今天我要坚持每天写博客,记录我每天软件开发学习情况

    自从高中开始我想学习软件开发,因为种种原因,种种借口,今天学一点,然后等了几天又没有学习了,走了好多的弯路,我也知道还不知道怎么学习,哪怕我今年都33岁了,我心里还有一点梦想,我想用软件开发做为起步, ...

  8. 【软考中级】软件设计师学习笔记

    软件设计师学习笔记 计算机系统知识 程序语言设计 数据结构 操作系统 软件工程基础知识 结构化开发方法 创建型设计模式 行为型设计模式 结构型设计模式: 算法设计与分析 数据库技术基础 网络与信息安全 ...

  9. Ubuntu16.04 ROS 深度学习_传智播客 智能机器人软件开发 学习路线图出炉!首发优惠!!...

    黑马程序员 微信号:heiniu526 传智播客旗下互联网资讯,学习资源免费分享平台 智能机器人软件工程师学习计划 很多朋友对机器人软件开发和人工智能感兴趣,不知道怎么学习,传智播客武汉校区在今年3月 ...

最新文章

  1. C++对象赋值的四种方式
  2. java 重试_Java重试机制修改
  3. 电源开关上的 | 和 O 究竟代表了什么?
  4. 详解Vuex常见问题、深入理解Vuex
  5. 实现编辑功能有哪几个action_Web 应用的撤销重做实现
  6. 【ujson】pip安装ujson报错: error:Microsoft Visual C++ 14.0 is required
  7. 5 video关掉字幕选项_Photoshop 2020中英文字幕批量生成的制作方法
  8. 我的IBM本本逃过一劫...
  9. C#注册类方法到Lua
  10. java程序内存加载_java内存加载机制
  11. Python3通过Everything SDK访问本地文件
  12. TK1装kuboki的USB驱动和TK1的无线网卡驱动
  13. 分析Python7个爬虫小案例(附源码)
  14. 通过Daffodil for VS使VS2010的IDE可以用VC6 VC7.1 VC9等编译器进行项目编译
  15. 商城项目实战24:实现添加商品功能
  16. workman与php通信
  17. 使用Enum.Prase及Enum.TryPrase时的注意事项
  18. python 判断是否为中文
  19. AUTOCAD——角度标注、折弯线性
  20. 什么是 MATLAB 搜索路径

热门文章

  1. Surface laptop键盘失灵解决方法笔记
  2. validationEngine 使用
  3. 魔霸新锐2021双系统配置
  4. VWAP+Fibo斐波那契 反转策略
  5. Java Agent如何在IDEA里调试
  6. 多芯片设计 Designing For Multiple Die
  7. 【Windows】禁止英雄联盟的运行,同理可以禁止其它软件运行
  8. OSChina 周四乱弹 —— 二次元世界很不安全
  9. free获取发明专利
  10. Mac入门必须要知道的10个小技巧