一、单元测试、集成测试、功能测试
单元测试
颗粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”;是指对软件中的最小可测试单元进行检查和验证
集成测试
介于单元测试和系统测试之间,一般由开发小组采用白盒+黑盒的方法来测试,即验证“设计”又验证“需求”。主要用来测试模板与模板之间的接口,同时还要测试一些主要的业务功能。
功能测试
颗粒度最大,一般由独立的测试小组采用黑盒的方式来测试,主要测试系统是否符合“需求规格说明书
二、Unittest重要组成
unittest中最核心的部分是:TestFixture、TestCase、TestSuite、TestRunner
1. TestFixture
作用:用于一个测试环境的准备和销毁还原。
2. TestCase:测试用例
定义:一个类class继承 unittest.TestCase,就是一个测试用例
3. TestSuite
测试套件,可以将多个测试用例集合在一起,能一起执行选中的测试用例
4. TextRunner
执行测试用例
三、断言
assertEqual(a,b):断言a和b是否相等,相等则测试用例通过。assertNotEqual(a,b):断言a和b是否相等,不相等则测试用例通过。assertTrue(x):断言x是否True,是True则测试用例通过。assertFalse(x):断言x是否False,是False则测试用例通过。assertIs(a,b):断言a是否是b,是则测试用例通过。assertNotIs(a,b):断言a是否是b,不是则测试用例通过。assertIsNone(x):断言x是否None,是None则测试用例通过。assertIsNotNone(x):断言x是否None,不是None则测试用例通过。assertIn(a,b):断言a是否在b中,在b中则测试用例通过。assertNotIn(a,b):断言a是否在b中,不在b中则测试用例通过。assertIsInstance(a,b):断言a是是b的一个实例,是则测试用例通过。assertNotIsInstance(a,b):断言a是是b的一个实例,不是则测试用例通过。
四、生成测试报告
html格式的就是HTMLTestRunner了,HTMLTestRunner是 Python 标准库的 unittest 框架的一个扩展,它可以生成一个直观清晰的 HTML 测试报告。
五、操作
1:导入unittest模块>>>importunittest2:编写一个类继承unittest.TestCase3:调用setUp(self),tearDown(self)方法实现测试用例前后阶段的操作4:编写测试用例方法(1)该方法必须以test开头,否则在unittest.main()中调用测试找不到该方法(2)设置断言进行判断,输入数据和输出数据的预期结果5:创建套件,将多个测试用例存放套件中,一并执行()6:生成测试报告(python自带或者导入HTMLTestRunner生成html格式的测试报告)7:运行测试用例unittest.main(),调用测试用例中以test开头的方法
六、代码展示
classCalc():
defadd(self,a,b):
c=a+b
return c
defredc(self,a,b):
c=a-b
print(c)
if__name__=="__main__":
c=Calc()
c.add(2,3)
print(c.add(2,3))
七、读取文件
1. 读取xml文件
2. 创建xml文件
3. 读取xml文件
获取xml固定简单数据
抽取方法
具体使用
2. 读取csv文件
在data下创建CSV文件a.csv
创建读文件的文件
在测试用例的类中