软件测试之测试用例设计(一)

本文是学习软件测试的,内容均转载自https://blog.csdn.net/qq_41782425


一丶测试用例概述

测试流程
需求分析 ----> 测试需求 ----> 测试计划 ----> 测试方案 ----> 测试用例 ----> 执行测试 ----> 测试报告
测试用例:指导测试,是测试的依据。输入(数据,文件,具体操作)操作步骤 ,预期结果

1,测试用例的定义

测试用例(Test Case)是为特定的目的而设计的一组测试输入,执行条件和预期的结果,以便测试某个程序路径或
核实是否满足某个特定需求,通过大量的测试用例来检验软件的运行效果,它是指导测试工作进行的依据

通俗来说就是:通过设计输入数据,执行步骤,按此步骤应产生的预期结果,它是指导测试进行的依据
目的:高效率地发现软件缺陷而精心设计的少量测试数据

2,测试用例的特性

有效性:能使用,不同人使用结果一致(测试用例能够被使用,且被不同人员使用测试结果一致)
可复用性:良好的测试用例具有重复使用的功能
易组织性:好的测试用例会分门别类地提供给测试人员参考和使用
可评估性:从测试管理的角度,测试用例的通过率和软件缺陷的数目是软件产品质量好坏的测试标准(测试计划)
可管理性:测试用例可以作为检验测试人员进度,工作量以及跟踪/管理测试人员工作效率的因素(对测试人员进行工作量和绩效考核)

3,测试用例的八大要素

  • 测试编号
  • 测试模块
  • 测试标题
  • 测试级别
  • 测试环境
  • 测试输入
  • 测试步骤
  • 预期结果

4,测试用例的设计原则(明确性,代表性,简洁性)

①测试用例明确性:测试人员要尽量避免测试用例存在含糊的因素,在测试过程中,测试用例的测试结果是唯一的
明确清晰的描述:如即通过、没通过或未进行测试
不确定的描述:如用户正确操作,系统正常运行; 用户进行非法操作,系统不能正常运行

②测试用例有代表性:尽量将具有相似功能的测试用例抽象合并
如:测试1 ----100之间的两个整数的和 用例 1+2=3 2+4 =6 功能相似的用例要合并(等价类测试)

③测试用例的简洁性:测试用例简洁,可读性良好,测试过程目的明确,测试结果唯一
如:测试用例要用陈述性语句 一句话直指问题的核心 加法器输入框输入是非数字时,应弹出提示“请输入数字”

二丶划分等价类

1,定义

等价类划分:输入具有代表性的数据子集

2,分类

有效等价类–满足需求
无线等价类–不满足哦需求

3,举例

如:计算两个1—100之间整数的和
穷举测试:

1+2=3 1+3=4 1+4=5 1+5=6 ······ 1+100=101

100+1=101 100+2=102 100+3=103 ······ 100+100=200

有效等价类 1-----100 之间 : 68

无效等价类 <1 : 0

无效等价类 >100 : 101

4,等价类划分法概述定义

在这里插入图片描述
①划分等价类
1 两个
2 1–100
3 整数
4 小数
5 特殊字符 * %
6 汉字 好
7 空
8 空格
②对计算两个1—100之间整数的和根据划分的等价类进行分类操作,如下图表所示
在这里插入图片描述

三丶测试用例操作步骤

1.设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这个过程,直至所有的有效等价类均被测试用例所覆盖

2.设计一个新的测试用例,使其仅覆盖一个无效等价类,重复这个过程,直至所有的无效等价类均被测试用例所覆盖

3.设计数据要注意
①无效等价类在一个用例中只能出现一次
②有效等价类在一个用例中可以出现多次
4.等价类划分技巧
①测试用例分析最好用xmind
②按等价类给出数据最好用电子表格
③当产生意见分歧,回看需求规格说明书

四丶测试用例划分注意的七个点

1.如对QQ账号进行测试用例划分(6-10位的自然数)

在这里插入图片描述

2.分析QQ号码的有效等价类以及无效等价类

有效的:

1.长度6到10位之间

2.类型0~9的自然数
无效的:

3.长度小于6

4.长度大于10

5.负数

6.小数

7.英文字母

8.字符

9.中文

10 .空

11 .空格

3.制作以上等价分类覆盖用例

在这里插入图片描述

4.将测试用列进行压缩合并,去掉不涉及到的输入,如负数和小数的输入在QQ账号是不存在的,所说可以直接删除掉,那么最终结果如下所示

在这里插入图片描述

5.等价类要关注的要点

①长度
②类型
③字母
④汉字
⑤特殊字符
⑥空
⑦空格

五丶电话号码练习

1.某城市电话号码由三部分组成,分别是 地区码:空白或是3位数字 前缀:非‘0’且非‘1’开头的三位数字 后缀:4位数字 假定被测程序能接受一切符合上述规定的电话号码,拒绝所有不符合规定的电话号码

在这里插入图片描述

2.根据以上的测试需求编写测试用例

首先第一步是要分析出需要编写多少条测试用例,其中有效的只有两条即空白+前缀+后缀以及三位数字+前缀+后缀;其余的都是

无效等价类,即有效等价类2条,无效等价类13条(17-4,前面4个条件都是有效的),一共就是15条用例,因为一个无效等价类只能对应一条用例所以就是13+2=15条用例

这里是有效的话是全部条件都满足才能算作有效(就是4个条件有效可以划分出两个等效类)
无效只需要有一个无效就可以了(17-4=13这13个条件可以划分13个无效类)
所以总的数量就是2+13 = 15条等价类

在这里插入图片描述

六丶界面独立功能的划分

1.完成一个页面的测试

Step1 分析需求中包含多少个独立功能
判断独立功能的标准:

                              1.1 功能名是一个动词

                              1.2 不可继续往下分割

                              1.3 包含三要素:输入丶处理丶输出

Step2 分别针对每个独立功能开展需求分析

                              1.1 分析界面可见输入参数,罗列参数个数及名称

                              1.2 分析界面不可见输入参数:网络、浏览器/系统、权限、数据库服务、系统本身服务

Step3 分析界面可见输入参数的特点及其关系
输入参数需要用户输入数据, 并且存在有效/无效规则校验 —— 则用等价类法设计测试用例
Step4 分别罗列每个界面可见输入参数的有效无效规则,形成等价类表
在这里插入图片描述

2.编写测试用例

例:如下用户注册页面的需求
在这里插入图片描述
编写的等价类测试需求如下
在这里插入图片描述

七丶边界值

1,边界值分析法
对输入或输出的边界值进行测试的一种黑盒测试方法

长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部
(从开发角度可以发现)。因此针对各种边界情况设计测试用例,可以查出更多的错误

2,使用边界值分析方法设计测试用例
首先应该确定边界情况。通常输入和输出等价类的边界,就是应该着重测试边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据

3.如测试如下例子取值

10<=x<=20

测试取值:9,10,20,21 上点 10,20 离点 9,21 内点11,19

1<x<100

测试取值:0,2,99,101 上点 2,99 离点 1,100 内点3,98

上点:刚刚好,正好等于
离点:刚刚大于
内点:刚刚小于
4.边界值分析
在这里插入图片描述
5.总结

等价类用例设计要点:

1 操作步骤

             1.1 一个新用例尽量覆盖有效规则       

             1.2 一个新用例只能覆盖一条无效规则   

2 测试过程中需要考虑要点

边界值用例设计要点:

1 上点

2 离点

3 内点

离点和内点有时二选一

八丶用等价类划分法和边界值来测试163邮箱

1.创建163邮箱注册等价类边界值表

在这里插入图片描述

2.163邮箱注册测试用例设计

在这里插入图片描述

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
子系统名:单元测试实例 模 块 名:单元测试实例模块 计划编号 用例编号 创建日期 测试要点描述 执行状态 数据输入、结果输出 预期结果 测试代码 是否通过 BUG号 覆盖率快照文件 覆盖率% 签名 PL-UT-MyCode-estimate UTC-MyCode-estimate-01 2005-7-31 id正确等价类:65535 未完成 "输入:id=65535 输出:return 1" 1 TestMyCode.testEstimatet1() 通过 / PL-UT-MyCode-estimate.jpc 100.00% 张三 UTC-MyCode-estimate-02 2005-7-31 id边界值:0 未完成 "输入:id=0 输出:return 0" 0 TestMyCode.testEstimatet2() 通过 / 张三 UTC-MyCode-estimate-03 2005-7-31 id边界值:1 未完成 "输入:id=1 输出:return 1" 1 TestMyCode.testEstimatet3() 通过 / 张三 UTC-MyCode-estimate-04 2005-7-31 id错误等价类:a 未完成 "输入:id=""a"" 输出:return 0" 0 TestMyCode.testEstimatet4() 通过 / 张三 UTC-MyCode-estimate-05 2005-7-31 id错误等价类:空 未完成 "输入:id="""" 输出:return 0" 0 TestMyCode.testEstimatet5() 通过 / 张三 PL-UT-MyCode-insertData UTC-MyCode-insertData-01 2005-7-31 增加记录正常 未完成 "输入:""2"",""111"",""m"" 输出:0" flag=0 TestMyCode.testinsertData1() 通过 / PL-UT-MyCode-insertData.jpc 83.10% 张三 UTC-MyCode-insertData-02 2005-7-31 id为空,insert失败 未完成 "输入:"""", ""111"", ""m"" 输出:1" flag=1 TestMyCode.testinsertData2() 通过 / 张三 UTC-MyCode-insertData-03 2005-7-31 id为1,重复,insert失败 未完成 "输入:""1"",""222"",""f"" 输出:2" flag=2 TestMyCode.testinsertData3() 通过 / 张三 UTC-MyCode-insertData-04 2005-7-31 name为空,insert失败 未完成 "输入:""3"", """", ""f"" 输出:3" flag=3 TestMyCode.testinsertData4() 通过 / 张三 UTC-MyCode-insertData-05 2005-7-31 sex不是m或f,insert失败 未完成 "输入:""4"", ""ggg"", ""h"" 输出:4" flag=4 TestMyCode.testinsertData5() 通过 / 张三 "填写说明: 1.该页面由开发人员填写 2.开发人员根据开发组长所填写的第二个sheet的内容设计单元测试用例,即,完成该sheet蓝色区域的填写。 3.开发人员执行测试用例,并执行过程中填写该sheet的紫色区域。"

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值