单元测试(中)

实现篇

1单元测试之计划
计划一:确定单元测试范围(有范围才有方向)
计划二:被测试代码覆盖率(根据覆盖率了解整体)
确定测试范围
在这里插入图片描述
注:1. 频率:使用频率高的代码段;
2. 复用性:(是否已被复用)
1). 全新
2). 部分复用
3). 全部复用
3. 开发人员:
1). 技术
2). 业务
4. 复杂度:业务逻辑复杂度(一般认为圈复杂度在7级以上代码包括在20%的代码中)

被测代码覆盖率

语句覆盖率 【非分支非判断】

练习理解
提示用户输入一个数,如果该数大于0则加1,如果小于0则减1;
代码:

num=int(input("请输入一个数"))
if num >0:
    num+=1
else:
    num-=1
print(num)

流程图:
在这里插入图片描述
测试数据

  1. 输入 1
  2. 输入 0
  3. 输入 -1
    在这里插入图片描述

分支覆盖率 【判断语句的分支;如:if判断有两个分支】

练习理解

输入用户名和密码,如果用户名为:admin,密码为:123456,输出验证成功;否则输出验证失败;

代码:

user=input('输入用户名')
password=int(input('输入密码'))
if user=='admin' and password==123456:
    print('登入成功')
else:
    print('验证失败')

流程图:
在这里插入图片描述
测试数据

  1. 用户名:admin 密码:123456
  2. 用户名:zhangsan 密码:123456
  3. 用户名:admin 密码:456789
    在这里插入图片描述

路径覆盖率 【 计算方式:覆盖路径/全部路径】

输入两个数a,b,如果a>5 and b<5 执行语句3;否则 elif a==5 or b<10 执行语句4;否则执行语句5

代码:

a=int(input('输入数a'))
b=int(input('输入数b'))
if a>5 and b<5:
    print('执行语句一')
elif a==5 and b<10:
    print('执行语句四')
else:
    print('执行语句五')

流程图:
在这里插入图片描述

分支-条件覆盖率【分支和条件的组合 】

练习理解
输入用户名和密码,如果用户名为:admin,密码为:123456,输出验证成功;否则输出验证失败;

代码:

user=input('输入用户名')
password=int(input('输入密码'))
if user=='admin' and password==123456:
    print('登入成功')
else:
    print('验证失败')

流程图:
在这里插入图片描述
分支条件覆盖率即分支率+条件率相加
在这里插入图片描述
2单元测试之设计(测试策略、实现)
在这里插入图片描述
所谓的测试策略即是针对单元测试的一种方式
单元测试策略-方式

  1. 自上向下(从最上层函数往下开始逐层测试)缺点成本高
  2. 自下向上(从最下层函数往上开始逐层测试)缺点周期长
  3. 孤立策略 (选择需要进行测试的函数进行测试)

单元测试的实现
把我们选定的代码,转向流程图、流图及用例的过程
实现过程

  1. 将测试代码转换成流程图
  2. 根据流程图转换为流图
    练习理解
i=1
sum=0
while i<=10:
    sum+=i
    i+=1


if __name__ == '__main__':
    print(sum)

流程图
在这里插入图片描述
流图(确定圈复杂度)
在这里插入图片描述
在这里插入图片描述

单元测试(下)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
单元测试报告 版本:V1.3 文 档 编 号 保 密 等 级 作 者 最后修改日期 审 核 人 最后审批日期 批 准 人 最后批准日期 修订记录 日期 版本 修订说明 修订人 目 录 1 简介 2 1.1 目的 2 1.2 背景 2 1.3 范围 2 2 测试用例清单 2 3 功能测试分析 2 4 边界测试分析 2 5 覆盖率分析 2 6 内存使用分析 2 7 典型缺陷记录 3 7.1 缺陷1 3 7.1.1 表现 3 7.1.2 原因 3 7.1.3 方案 3 8 测试数据分析 3 8.1 测试有效性分析 3 8.2 测试效率分析 3 9 产品质量分析 4 10 测试结论 4 简介 目的 【描述该单元测试报告的目的。】 背景 【描述单元测试报告的背景,单元测试活动目的。如无特殊背景信息,可裁剪。】 范围 【说明该单元测试报告在整个项目周期的适用范围】 测试用例清单 模块 目标类 级别 用例类 用例描述 执行结果 备注 【被测的代码类】 【代码级别】 【Junit测试类1】 【意图描述】 【P/F】 【Junit测试类2】 功能测试分析 边界测试分析 覆盖率分析 目标类 级别 方法覆盖率 行覆盖率 备注 【被测的代码类】 【代码级别】 内存使用分析 典型缺陷记录 记录单元测试所发现的典型缺陷或常见缺陷。供再次发现同类问题时,作为参考使用。 缺陷1 表现 【缺陷表现描述】 原因 【缺陷产生原因分析描述】 方案 【解决方案描述】 测试有效性分析 【统计实际发现的缺陷数据,分析与计划值产生偏差的原因,结合《项目量化管理计划》定义的阈值,确定是否采取相关措施】 计划发现缺陷数 致命 严重 一般 实际发现缺陷数 偏差分析 对策或调整措施 产品质量分析 【结合上述数据和信息,对本次测试的项目、产品的本身质量进行分析、评价和总结】 测试结论  【描述测试是否达到测试计划的目的,是否满足单元测试的结束条件。】

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值