1.什么是单元测试?
单元测试(unit)是指对软件中最小的可测试单元的检查和验证。 至于“单位”的大小或范围,并没有明确的标准。 “单元”可以是函数、方法、类、功能模块或子系统。
单元测试通常与白盒测试相关。 从概念上看,两者是有区别的。 然而,我们通常所说的“单元测试”和“白盒测试”都被认为是与代码相关的,所以在某些上下文中,两者往往被认为是同一件事。 另一种理解是,单元测试和白盒测试是测试开发人员编写的代码。
Tip:粗略理解一下这个概念的意思就可以了~
2. 谁来进行单元测试?
想一想:我们之前介绍过,单元测试简单的理解就是测试开发人员编写的代码。 既然是和代码相关,我们的第一印象应该是“开发者做的”; 其次,单元测试包括“测试”。 “”两个字,那么“测试人员会做”应该是合理的。
单元测试通常由开发人员或测试人员完成。 由谁来做并没有绝对的标准,要根据公司的实际情况来决定。 接下来我们来分析一下单元测试对于开发人员或者测试人员来说的优缺点:
开发人员进行单元测试:
测试人员进行单元测试:
3、如何进行单元测试?
单元测试的实现方式包括:手动静态检查、动态执行跟踪
手动静态检查
人工静态检查的主要内容包括:
动态执行跟踪
动态执行跟踪需要编写测试脚本来调用业务代码进行测试。 为了更好地管理和维护测试脚本,一般采用单元测试框架进行管理。 不同的语言有不同的单元测试框架:
单元测试的一个重要衡量标准是代码覆盖率。 尽量实现代码的全覆盖。 常见的单元测试覆盖率标准:
入门示例:对开发人员编写的实现计算操作的方法进行单元测试
# 开发人员编写的业务代码
class CalUtil:
"""计算器"""
@staticmethod
def add(x, y):
"""加法"""
return x + y
@staticmethod
def sub(x, y):
"""减法"""
return x - y
@staticmethod
def mul(x, y):
"""乘法"""
return x * y
@staticmethod
def div(x, y):
"""除法"""
return x / y
# 单元测试脚本
import unittest
from test_ut.cal import CalUtil
class TestCal(unittest.TestCase):
def test_add_01(self):
# 测试数据
x = 1
y = 2
expect = 3
# 调用被测方法
result = CalUtil.add(x, y)
print(f"result={result}")
# 断言
self.assertEqual(expect, result)
def test_add_02(self):
# 测试数据
x = 1
y = -1
expect = 0
# 调用被测方法
result = CalUtil.add(x, y)
print(f"result={result}")
# 断言
self.assertEqual(expect, result)
# ...
单元测试基本上相当于白盒测试,所以如果你想对单元测试有更深入的了解,可以观看黑马测试的视频教程《黑白测试用例设计》。 请点击以下链接(有百度网盘和b网站视频链接):
我来这里是为了和大家分享我积累的、真实的文档和学习资料。 如果你需要它们,就去获取它们。 一、学习思路和方法
该课程大纲涵盖了市场上公司目前使用的 99% 的技术。 这个教学大纲写得很详细,你应该学什么,公司会用什么。总共十个主题足够你学了
资料收集: 2.我想学但不知道如何开始。 我应该如何学习?
这里我准备了上面每个知识点对应的学习资料、自学工具、项目实践。
数据采集:
素材收集: 3.软件测试/自动化测试【全家桶】学习工具、安装包、插件....
数据采集:
数据采集:
资料收集: 4、有了安装包和学习资料,没有实际的项目实践怎么办? 我在这里准备好了。 请继续阅读。
资料收集: 5.如何获取这些配套资料、学习思路图、以及实际项目源码。
我把这些信息都准备在一个php网页中,大家可以扫码获取或者加入Q群进行交流。 密码及备注为111。
最后一句话:
世界的样子取决于你看待它的方式,你自身的价值取决于你的追求和心态。 一切美好的愿望都不是在等待中获得的,而是在奋斗中获得的。
如果我的博客对您有帮助,如果您喜欢我的文章内容,请一键“点赞”“评论”“收藏”!
打字并不容易。 如果本文对您有帮助,请点赞并保存,以给作者一个鼓励。 也方便您下次快速搜索。
-------------------------------------------------- --------------------------------------------------
最后,为了方便您自学软件测试,我们特意为您准备了13G的超实用学习资源,涵盖所有测试知识点。
还包括软件学习路线图、50多天的黑马课堂视频、16个惊喜实战项目、80多款软件测试软件、37个测试文档、70道软件测试相关题、40篇测试经验级文章,以及上千篇文章。真题分享、2020年软件测试面试指南、以及各种软件测试岗位精选简历,希望对大家有所帮助...