一、单元测试、集成测试、功能测试
单元测试:颗粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”;是指对软件中的最小可测试单元进行检查和验证
集成测试:介于单元测试和系统测试之间,一般由开发小组采用白盒加黑盒的方法测试,即验证设计又验证需求。主要用来测试模板与模板之间的接口,同时还要测试一些主要的业务功能。
功能测试:颗粒度最大,一般由独立的测试小组采用黑盒的方式来测试,主要测试系统是否符合需求规格说明书。
一、UnitTest组成
(1)setUp():准备环境,执行每个测试用例的前置条件;
(2)tearDown():环境还原,执行每个测试用例的后置条件;
(3)setUpClass():必须使用@classmethod装饰器,所有case执行的前置条件,只运行一次;
(4)tearDownClass():必须使用@classmethod装饰器,所有case运行完后只运行一次;
1、testFixture
作用:用于一个测试环境的准备和销毁还原
2、testCase
定义:就是一个测试用例
3、testSuite
测试套件,可以将多个测试用例集合在一起,能一起执行选中的测试用例
4、testRunner
执行测试用例
二、断言
(1)assertEqual(a,b):断言a和b是否相等,相等则测试用例通过。(最常用的)
(2)assertNotEqual(a,b):断言a和b是否相等,不相等则测试用例通过。
(3)assertTrue(x):断言x是否True,是True则测试用例通过。
(4)assertFalse(x):断言x是否False,是False则测试用例通过。
(5) assertIs(a,b):断言a是 否是b,是则测试用例通过。
(6)assertNotIs(a,b):断言a是否是b,不是则测试用例通过。
(7)assertIsNone(x):断言x是否None,是None则测试用例通过。
(8) assertIsNotNone(x):断言x是否None,不是None则测试用例通过。
(9)assertIn(a,b):断言a是否在b中,在b中则测试用例通过。
(10) assertNotIn(a,b):断言a是否在b中,不在b中则测试用例通过。
(11)assertIsInstance(a,b):断言a是是b的一个实例,是则测试用例通过。
(12)assertNotIsInstance(a,b):断言a是是b的一个实例,不是则测试用例通过。
三、生成测试报告
1、下载一个文件,HTMLTestRunner.py,复制到项目中
2、使用
四、读取CSV数据
1、创建CSV文件并添加数据
2、创建读取CSV文件
3、在测试类中调用即可
五、xml读取
1、创建xml文件
2、编写读取xml文件的文件
3、调用