单元测试(中)
发布日期:2021-05-06 16:21:12 浏览次数:30 分类:原创文章

本文共 1373 字,大约阅读时间需要 4 分钟。

实现篇

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

被测代码覆盖率

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

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

num=int(input("请输入一个数"))if num >0:    num+=1else:    num-=1print(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=1sum=0while i<=10:    sum+=i    i+=1if __name__ == '__main__':    print(sum)

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

上一篇:单元测试(下)
下一篇:单元测试(上)

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2025年04月13日 06时42分16秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章