软件测试初期学习day03
Day03
- 测试计划
- 测试计划的作用
领导能根据测试计划做宏观调控,进行相应的资源配置等
测试人员能够了解整个项目的测试情况以及项目测试不同阶段所要进行的工作。
便于其它人员了解测试人员的工作进程,进行有关配合工作。
测试需求分析后,应在整个测试过程中动态修改测试计划
- 测试计划包含的内容
测试项目简介需要测试的特征、不需要测试的特征、测试的方法(测试人员、测试工具、测试流程)、测试环境(软件、硬件、网络)
- 测试环境的分类
- 开发环境:开发工程师编码的调试环境,自测环境
- 测试环境:部署测试版本进行内部测试的环境
- 生产环境:发布的产品部署的环境,使用者是真实用户
- 黑盒测试
在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
- 等价类划分
把所有可能的输入数据,即程序的输入域划分成若干部分,然后从每一个子集中选取少数具有代表性的数据进行测试。该方法是一种常用的黑盒测试方法。
等价类的划分:
有效等价类:正常的、合理的输入条件,测试正常功能能否实现
无效等价类:无效的、异常的输入条件,测试程序的容错能力。
划分标准:完备性(所有等价类的并集等于输入条件的全集)
避免冗余(所有等价类之间不存在交集)
等价类划分的方法:
(1).在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。
(2).在输入条件规定了输入值的集合,可确立一个有效等价类和一个无效等价类。
(3).在输入条件是一个布尔量(真、假)的情况下,可确定一个有效等价类和一个无效等价类。
(4).在规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类。
(5).在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)。
(6).在确知已划分的等价类中各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步的划分为更小的等价类。
注:在编写等价类时,有效等价类需要一次性尽可能多的覆盖,而无效等价类一次仅需覆盖一个
案例:
某城市的电话号码由三部分组成:
地区码: 空白 或者 3位数字
前缀: 非'0'且非'1'开头的三位数字
后缀: 4位数字
假设程序接受上述规定的电话号码,拒绝所有不符合规则的电话号码。
步骤一:根据输入条件划分等价类
地区码:
2个有效等价类: 空白 3位数字
2个无效等价类:小于3位 大于3位
前缀:
1个有效等价类:非0,非1开头的3位数
4个无效等价类:0开头3位数;1开头3位数;非0非1开头,长度<3;非0非1开头,长度>3
后缀:
1个有效等价类:四位数
2个无效等价类:<4; >4
步骤二:
建立等价类表:
输入 |
有效等价类 |
编号 |
无效等价类 |
编号 |
地区码 |
空白 |
1 |
小于3位 |
5 |
3位数字 |
2 |
大于3位 |
6 |
|
前缀 |
非0,非1开头的3位数 |
3 |
0开头3位数 |
7 |
1开头3位数 |
8 |
|||
非0非1开头,长度<3 |
9 |
|||
非0非1开头,长度>3 |
10 |
|||
后缀 |
四位数 |
4 |
<4 |
11 |
>4 |
12 |
步骤三:通过等价类表生成测试用例(数据)
用例ID |
输入 |
预期输出 |
覆盖的等价类编号 |
备注 |
1 |
2341234 |
接受 |
1.3.4 |
|
2 |
1235671234 |
接受 |
2.3.4 |
|
3 |
224561234 |
拒绝 |
3.4.5 |
|
4 |
12345671234 |
拒绝 |
3.4.6 |
|
5 |
输入是:0121234 |
拒绝 |
1.4.7 |
|
6 |
1231231234 |
拒绝 |
2.4.8 |
|
7 |
231234 |
拒绝 |
1.4.9 |
|
8 |
12345671234 |
拒绝 |
2.4.10 |
|
9 |
234567 |
拒绝 |
1.3.11 |
|
10 |
12345612345 |
拒绝 |
2.3.12 |
等价类划分的优缺点:
优:避免穷举法带来的大量测试用例,保证了测试的质量和效率
缺:不会考虑输入和输出的关系,可能产生一些逻辑错误,还需要其它测试方法来做为补充测试。
- 边界值法
边界值法是对等价类划分方法的补充
边界值分析法的原则:
1)如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。
2)如果输入条件规定了值的个数,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据。
3)将规则1)和2)应用于输出条件,即设计测试用例使输出值达到边界值及其左右的值。
4)如果程序的规格说明给出的输入域或输出域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。
5)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。
6)分析规格说明,找出其它可能的边界条件(隐藏的)。
- 判定表
分析和表达多逻辑条件下执行不同操作的工具
判定表的组成元素:
- 条件桩:被测对象的所有输入
- 条件项:被测对象的输入的取值
- 动作桩:被测对象可能采取的操作/表现
- 动作项:在多个条件组合的情况下,被测对象可能会采取的表现
规则:任何一个条件组合的特定取值及其相应要执行的操作称为规则。在判定表中贯穿条件项和动作项的一列就是一条规则。
判定表设计测试用例的步骤:
- 列出所有条件桩和动作桩
- 确定规则的个数
- 填入条件项和动作项
- 化简,合并相似的规则
- 将规则转化成测试用例
软件测试初期学习day03相关推荐
- 软件测试需要学习什么 3分钟带你了解软测的学习内容
随着用户对软件的体验不断提高,大家对软件质量的要求也越来越高,而软件测试因为肩负着控制和监督软件质量的重任,使得越来越多的人从中看到了发展前景,想学习软件测试,但由于我国目前还未有高校开设相关的测试专 ...
- 软件测试需要学习什么?好就业么
软件测试需要学习测试环境.网络环境.windows环境.数据库管理.编程技巧(java编程设计,脚本语言,设计工具,XML编程.软件测试技术,测试理论,方法,流程,文档写作,测试工具,自动测试.测试技 ...
- 软件测试需要学习什么技术
软件测试在近几年被很多企业都重视起来,互联网时代,APP种类越来越多,软件测试这一行业的发展前景是非常大的,那么想要学习软件测试需要学习什么技术呢?来看看下面的详细介绍. 软件测试需要学习什么技术? ...
- 女生做软件测试需要学习什么技术?
软件测试在近几年的发展前景是非常好的,加上软件测试对于想要零转型的学员来说是在合适不过的,有很多女性也开始学习软件测试,目前大家都比较关心女生做软件测试需要学习什么技术呢?下面我们就来看看详细的介绍. ...
- 软件测试的学习之路-----基本的 HTML
文章目录 一:常见DOS命令 二:Web基本介绍 三:HTML基本介绍 四:HTML网页骨架 五:Hbuilder工具使用 六:HTML语法和标签基本介绍 七:图片标签 八:链接标签 九:路径 十:相 ...
- 软件测试的学习之路-----计算机基础 (详情展示)
文章目录 一:计算机基本介绍 二:硬件系统 三:软件系统 四:二进制的基本介绍 五:常见的数字进制 六:进制之间的转换 七:编码 八:数据的计量单位 九:编程语言 十:基本的DOS命令 十一:欢迎查看 ...
- 软件测试需要什么思维,做软件测试需要学习什么
软件测试入门需要具备测试理论.测试工具.黑白盒测试.数据库知识操作系统等专业知识.以下是关于做软件测试需要学习什么的具体介绍,来看看吧! 一.软件测试学习内容 1. 专业技能 专业技能是必须掌握的知识 ...
- 软件测试工作学习必备指南——硬实力
软件测试工作学习必备指南--硬实力 为什么选择IT行业的软件测试职业?这个问题暂不做讨论,本次主要给大家分享软件测试工作学习所必备的硬实力,因为每个人都有自己选择从事这份职业的初心,每个有都有自己的职 ...
- 前端学习:jQuery学习--Day03
前端学习:jQuery学习–Day03 ps:这几天偷了点懒呜呜外加考试耽误了几天学习 最后自己做了一个给女朋友的惊喜点滴记录note 大纲 自定义事件 自动触发 事件委托 鼠标移入移出事件 电影排行 ...
最新文章
- 打印session cookie
- 声明一个队列,并且指定TTL
- 数据库崩溃后对redo log的使用
- 使用cython加密python代码
- 递归和迭代路由_静态路由在以太网接口中的不同书写会导致路由器怎样的操作结果?...
- 在Grails 2.0中使用Servlet 3.0异步功能
- mysql 高并发 卡死,高并发中的卡死状态 -HashMap
- 光栅衍射C语言程序,基于matcom的光栅衍射仿真程序
- 腾讯等技术大佬分享的高可用架构干货,全在这里了
- 浅谈局部敏感哈希LSH
- 构建自己的Aleax查询服务
- python成绩统计_利用python进行学生成绩分析
- 百词斩不认识单词例句导出
- PLM与PDM的概念与区别
- python(25)- 面向对象补充Ⅰ
- ES(四)ES使用(基本查询、聚合查询)
- 初学DSP(1)-TMS320F280049C入门
- 计算机1M代表什么,1M等于多少kb?KB MB GB TB 各是什么意思?
- 微信转账怎么退回?别傻傻等待24小时自动退还了!
- warning: implicit declaration of function ‘XXX’; did you mean ‘YYY’? [-Wimplicit-function-declarati
热门文章
- 看到华为人的工作方式,我心动了
- python万年日历_python 打印万年历
- 【转】从一个实例详解敏捷测试的最佳实践
- DNSSEC资源记录安全扩展(RFC4034翻译)
- 趣味成语接龙游戏里,如何判断用户输入的成语接龙成功?
- java applet 输出多行_java – 在Applet中列出输入和输出音频设备
- 浪潮天梭服务器装系统步骤,浪潮天梭TS10000高性能主机系统配置方案.DOC
- 关系型数据库到MongoDB的战略迁移 - MongoDB大中华区首席架构师唐建法专访
- 计算机毕业设计django基于python平面地图监控系统(源码+系统+mysql数据库+Lw文档)
- Linux怎么查看CPU核数