广州37期-想得美 发表于 2021-12-12 10:22:51

第五天

             测试技术与测试设计

一、认识基础术语
动态测试:软件实际运行时进行的测试
静态测试:看文档或者看代码,对内容进行逻辑检查
于测试人员,常见的度量:缺陷密度(缺陷个数/总用例数),测试覆盖率,系统性能要求,上线前的通过率

技术评审:
1,代码评审:对当前迭代的功能相关的模块的代码进行评审
2,接口评审:前后端要进行数据交互
3,测试人员输出的测试用例进行评审


圈复杂度:代码越复杂,圈复杂度越高;代码越简单,圈复杂度越低
数据流:数据从哪里来最终到哪里去

测试技术:白盒测试、黑盒测试、基于经验的测试、灰盒测试
(1)黑盒测试就是功能测试,主要是对功能进行验证,不看代码,直接根据需求进行测试,对已知的产品功能进行测试,验证实现功能是否符合预期。测试人员是不需要考虑程序内部的逻辑特性

(2)白盒测试:对产品内部的一个工作过程(代码)进行验证,验证每个操作(每个路径)是否满足设计要求

[*]把测试的对象看成一个透明的(被打开的)盒子,对程序所有逻辑路径机型测试,所以也叫做结构测试,透明盒子测试


(3)灰盒测试:介于黑盒和白盒之间,既要对功能进行测试也要对代码进行测试,常见的是接口测试

[*]#灰度测试:功能测试完成之后,但是功能不能完全地马上地给到使用用户使用,指的是小规模投产



圈复杂度:程序中的独立路径的数量
判定节点==》判定==》是否
判定节点:1,2,3,4(有多种走向就是判定节点)
独立路径的数量:5===》圈复杂度为5
1-4-6
1-2-5-6
1-2-3-7-6
1-4-5-6
1-2-3-2-5-6
C:\Users\Administrator\AppData\Local\YNote\data\weixinobU7VjiqFHbvqudPqzFQrfgIGLh4\6de120e57e644d119cf509e459d850f2\0u{ayz{61yuu33addfb05nr.png
公式1:V=E-N+2=10-7+2=5 (E:结构图的边数N:节点数)
公式2:V=区域数=5(V:区域数就是多少个圈组成)
公式3:V=P+1=4+1=5 (P:判定节点数)


圈复杂度.png图片进行验证圈复杂度:
独立路径:
a-d-g
a-b-c
a-d-e-f
C:\Users\Administrator\AppData\Local\YNote\data\weixinobU7VjiqFHbvqudPqzFQrfgIGLh4\15882ab6301c4cc58200b0cd8fc9da86\圈复杂度.png
&& ==》与符号,同时满足
|| ==》 或符号,至少满足一边

对路径进行测试(举个例子验证一下可以取哪些数):
a-d-g
x=800
y=300
z=9


a-b-c
x=200
y=600
z=788

a-d-e-f
x=80
y=566
z=6000

测试人员根据需求文档,去提炼测试点(XMind思维导图),然后编写测试用例


二、-----等价类-----
对某个同学的成绩进行打分,打0-100分
输入域:0-100分
在0-100之间输入的任何数字都是等效的(效果都是相同的)
等价类中,任意的输入对象都是等效的(效果相同的)

需求:QQ密码由6-10位数字字符组成
有效等价类:6-10位的数字
无效等价类:
(1)通过数字字符的长度去违反
小于6位的数字字符
大于10位的数字字符
(2)通过字符的种类去违反
6-10位的中文字符,英文字符,特殊符号(~!@#$%^&*-=,./?)

4位中文===》不能这样测试,不能同时违反多个规则

往往发现bug的测试用例,就是从无效等价类中发现

等价类划分法,分为两种情况
有效等价类:对程序是有意义的输入(程序可以正常接收的)==》正常测试点,正常场景
无效等价类:对程序是无意义的输出(程序是不能正常接收的)==》异常测试点,异常场景

工作中常用的等价类划分情况:
1,规定了输入值的范围或值的个数(如:0<a<100或输入6-10个字符)
有效等价类:1个==在范围内;无效等价类:2个==小于、大于
2,输入值为布尔值(如:真true或假false)
有效等价类:2个==对、错无效等价类:没有
3,规定了输入数据的一组值(如 文化程度:初 中、高中、大学)==枚举值:一组可以选择的值
有效等价类:枚举值中每一个值就是一个有效等价类;无效等价类:1个==》不是枚举值中的值

常见的能够划分等价类的地方:
1. 数值范围(发红包的场景)
2. 重复次数 (账号)(登陆的情况)
3. 字符串长度(输入框限制字符的长度)
4. 字符串组中字符的个数 ( ['小学','初中','高中'] )
5. 文件命名---上传文件,例如上传头像只支持图片格式的文件.jpg/.png/.gif
6. 文件大小----支持1-100M文件上传
7. 屏幕的颜色种类
8. 超时时间---验证码限制时间,ATM机操作时间限制



三、--------边界值-------
对某个同学的成绩进行打分,打0-100分

上点:在边界上的点,可以取到的点 ===作为正常测试场景
离点:离上点最近点,但又不在范围内的点===》作为异常测试场景
内点:在范围内的点==不考虑设计测试用例
边界值最基本的要求:是一个连续的集合

【1,2,3,4,5,6,7,8,9】==这是一组数据,并不是连续集合
【1-9】==>这才是一个连续的集合,1至9

闭区间 ==0≤x≤100
上点(正常场景):0,100
离点(异常场景):-1,101
内点(正常的数据,但是不用验证,因为已经验证了上点,表明内点都是正常)

开区间 (0.00,100.00) ==0.00<x<100.00
上点:0.01,99.99
离点:0.00,100.00

半开半闭区间 (0.00,200.00]红包金额是大于0.00元小于等于200.00元
上点:0.01,200.00
离点:0.00,200.01

半闭半开区间 [2020-01-01 00:00:00 ,2022-01-01 00:00:00)时间可以选择从2020-01-01 00:00:00到2022年1月1日0时0分0秒
上点:2020-01-01 00:00:00,2021-12-31 23:59:59
离点:2019-12-31 23:59:59,2022-01-01 00:00:00

考虑边界值时,需要考虑集合的最小单位


常见的有序集合
一周7天,一年四季
对于有序集合测试,应该取最开始和结尾的值进行测试
一周7天:周一,周日
一年四季:春,冬




需求:QQ密码由6-10位数字或字母、下划线组成???
用例编号:给测试用例进行编号,目的是让用例唯一
用例标题:简述测试用例的场景,尽可能唯一,要求是陈述句,做到和预期结果首尾呼应
前置条件:描述执行测试之前准备的条件,目的是可以简化测试步骤过程
用例步骤:描述执行测试的动作
预期结果:描述测试用例的预期结果,原则上每个步骤对应着一个结果
C:\Users\Administrator\AppData\Local\YNote\data\weixinobU7VjiqFHbvqudPqzFQrfgIGLh4\44c1b1c3118445b9bb019823dd01dca7\1bpzo{(5_66.jpeg

Excel表格中单元格换行:alt+enter

作业
京东网站的用户名注册有如下要求,
1)用户名由数字,字母,下划线组成
2)用户名字符长度在6~18
3)用户名以字母开头。
这是一个简化版的注册,只有一个输入框(用来填写用户名)和一个注册按钮,暂时不考虑密码。
用等价类划分设计测试用例
C:\Users\Administrator\AppData\Local\YNote\data\weixinobU7VjiqFHbvqudPqzFQrfgIGLh4\a67ea4c9a2554b50a18d4fdc0e7edafb\7tisf4f0u%djxk@v)zy9xlx.jpg


编写测试用例的注意要点:
1,用最少的测试用例来覆盖最多的有效等价类(正常场景)
2,每一条无效等价类是一条测试用例
3,尽可能的多考虑异常测试点(无效等价类)的情况,可以提高测试覆盖率
4,对于输入框的测试点,可以补充不输入的异常测试点
5,前置条件,要求说明测试前准备的东西,执行测试时需要使用到的或者测试步骤关联的一些条件
5,用例步骤、预期结果,使用序号、(也就是每个序号后面的标点符号需要统一、)
7,用例步骤、预期结果一般不超过6点,如果会超过6点则把一些非不要进行测试的步骤简化在前置条件
8,用例步骤(测试步骤)中不应该出现程序返回的结果,程序返回的结果,程序返回的结果放在预期结果中

页: [1]
查看完整版本: 第五天