关于测试
软件测试(software testing),是描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试时一种实际输出与预期输出之间的审核或者比较的过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。——百度百科
软件测试时软件来发中不可或缺的一个非常重要的环节,在一个成熟的软件开发过程中,根据开发所处的不同的进度,需要做一些不同的测试,以保障软件的可用性。
软件开发流程如下图所示:
作为一个开发人员,需要关注前三个步骤的标准测试,,在这三个测试步骤中尤其要掌握需求分工和多功能合并的单元测试,Python针对这样的需求提供了专门用于单元测试的模块:unittest。
(二)单元测试
1、什么是单元测试?
(1)单元测试是用来对一个模块/一个函数/一个类进行正确性检验的测试工作。
(2)单元测试中最核心的四个概念:
①test case(测试用例):一个py文件就是一个测试用例
②test suite(测试套件):测试用例的集合
③test runner(测试运行器):执行测试套件的东西
④test fixture(测试环境数据准备和数据清理或者测试脚手架)
unittest的静态类图:
(3)测试执行流程
测试前准备环境的搭建(setUp)–>执行测试代码(run)–>测试后环境的还原(tearDown)
3、unittest的使用
(1)步骤
①导入unittest模块,被测文件或者其中的类
②创建一个测试类,继承unittest.TestCase
③重写setUp和tearDown方法(如果有初始化条件和结束条件,就可以写;没有的话可以不写,没有影响)
④定义测试函数,函数名以test_开头,否则无法执行
⑤在函数体重使用断言来判断测试结果是否符合预期结果
⑥调用unittest.main()方法运行测试(没有该方法也可以执行)
(2)案例演示
①我们先创建两个测试函数,看看执行效果,注意,在测试的时候,光标的位置就是函数执行的位置
# 导入unittest
import unittest
# 创建一个测试类,继承unittest.TestCase
class MyTest(unittest.TestCase):
"""测试类"""
def test_01(self):
"""测试函数1"""
print("Case-->这是测试函数1")
def test_02(self):
"""测试函数2"""
print("Case-->这是测试函数2"