单元测试:颗粒度最小(可以认定为单个函数),一般由开发小组采用白盒方法来测试,多单元进行检查和验证;
白盒测试:对代码级别的测试,针对程序内部的逻辑结构。
Unittest是python中自带的单元测试模块,可以用来做断言以及一些用例执行前的初始化操作
测试用例命名规则:在测试类中的函数需要由'test'开头,并且在执行整个类时,他不会依据函数的先后顺序执行,他是依据tscll值进行排序的
下面我们来进行编写测试用例
第一步,我们需要先拿到开发人员写的代码(我先写一个简单的,但是大概逻辑是一样的)
class name(object):
def app(self,a,b):
c=a*b
return c
def app1(self,a,b):
c=a-b
return c
if __name__ == '__main__':
name=name()
print(name.app(1,2))
print(name.app1(5,2))
第二步,把函数需要传递的参数确认、以及他们的逻辑关系确认也就是a*b=c,还有该文件的位置、类、函数确认即可(我们是不可以在开发给的源代码中进行测试)
第三步,建立一个.py文件进行测试
# 调用开发编写的类
from boke.kaifa import name
#定义类
name=name()
# 调用unittest模块,python自带的单元测试模块
import unittest
# 创建一个类,我们要在类确认他的类型,也就是Unittest.TestCase
class add(unittest.TestCase):
# 定义一个测试用例,需要由test开头,如果不是test开头则不会被执行
def test001(self):
# 传递相对应的参数给函数,并获取返回值
amm=name.app(1,2)
# 做断点,将返回值与我们的预期结果做对比
self.assertEqual(amm,2)
def test002(self):
amm=name.app1(10,3)
self.assertEqual(amm,4)
if __name__ == '__main__':
# 执行类中所有的测试用例
unittest.main()
第四步,运行我们的程序即可
当测试用例成功时
当测试用例失败时
因为之所以做测试用例,就是测试软件的功能,找出软件当中存在的bug,并交给开发,进行修改的,我们不可能把测试结果截图给开发,所以就到了我们下面的测试报告