单元测试
颗粒度最小,一般有开发小组采用白盒方式来测试,主要测试单元是否符合“设计”,是指对软件中的最小可测单元进行检查和验证
集成测试
介于单元测试和系统测试之间,一般由开发小组采用白盒+黑盒的方法来测试,主要用来测试模板与模板之间的接口,同时还有测试一些主要的业务功能
功能测试
颗粒度最大,一般有独立的测试小组采用黑盒的方式来测试,主要测试系统是否符合“需求规格说明书”
Unittest重要组成
python中自带的单元测试框架是unittest模块,用它来做单元测试,它里面封装好一些校验返回的结果方法和一些用例执行前的初始化操作
Unittest核心部分
TestFixture、TestCase、TestSuite、TestRunner
TestFixture
作用:用于一个测试环境的准备和销毁还原
主要方法():
setup():准备环境
tearDown():环境还原,执行每个测试用例的后置条件
SetupClass():必须使用@classmethon装饰器,所有CASE执行的前置条件,至运行一次
tearDownClass():必须使用@classmethon装饰器,所有case运行完后只运行一次
TestCase
一个类class,继承Unittest.TestCase,就是一个测试用例
测试用例命名规则
测试方法的名称要以test开头,且只会执行test开头定义的方法
执行顺序会按照方法名的ASCII值排序
如果想要跳过某个测试用例,需要添加@unittest.skip(‘描述信息’)
TestSuite
测试套件,可以将多个测试用例集合 在一起,能一起 执行选中的测试用例
方式一
suite = unittest.TestSuite() //创建测试套件
case_list = [“test001”,“test002”]
for case in case_list :
suite.addTest(类名(case))
方式二
suite = unittest.TestSuite()#创建测试套件
suite.addTest(类名 (“test1“))
suite.addTest(类名 (“test2“))
方式三
suite = unittest.TestSuite()#创建测试套件
loader = unittest.TestLoader()# 创建一个加载对象
suite .addTest(loader.loadTestsFromTestCase(类名))
TextRunner
执行测试用例
格式
runner = unittest.TextTestRunner(verbosity=2)
runner.run(suite)
注释
verbosity:表示测试报告信息的详细程度
0(静默模式):你只能获得总的测试用例数和总的结果,如总共100个 失败10 成功90
1(默认模式):类似静默模式,只是在每个成功的用例前面有个,每个失败的用例前面有个F
2(详细模式):测试结果会显示每个测试用例的所有相关的信息