自动化测试主要分为下面三种:python
1.单元测试(Unit Test)数据库
对单独的代码块,好比函数进行测试。单元测试是自动化测试的主要形式,也是最基本的形式。浏览器
2.集成测试(Integration Test)服务器
集成测试对代码单位之间的协同工做进行测试,好比测试主程序和各个扩展的继承代码。这个部分的测试不容易编写,各个扩展一般会包含集成测试。在部署到云平台时,集成测试能够确保程序和云平台的各个接口正常协做。框架
3.用户界面测试(User Interface Test)函数
称为UI测试,也被称为端对端测试或全链路测试,由于须要启动服务器并调用浏览器完成测试,因此耗时比较长,适合用来测试复杂的页面交互,好比包含JavaScript代码和AJAX请求等实现功能。单元测试
4.使用unittest编写测试单元测试
python标准库内置一个单元测试框架--unittest,其包含:ui
1)测试用例(Test Case)继承
在unittest中,最小的测试单元被称为测试用例,它由继承unittest.TestCase的类表示。每一个测试用例中包含多个测试方法。
测试用例能够建立setUp()和tearDown()方法,它们会分别在每一个测试方法被执行的先后执行,用来初始化测试环境、清除测试环境。
测试用例还有setUpClass()和tearDownClass()方法,这两个方法必须接收类自己做为惟一的参数,并附加Classmethod装饰器,它们会分别在整个测试用例执行的先后执行。
2)测试固件(Test Fixture)
测试固件是指执行测试所需的前期准备工做(如建立临时数据库)和后期清理工做(如清除数据库)。
3)测试集(Test Suite)
测试集是测试用例的集合,用来聚合全部测试以便执行。
4)测试运行器(Test Runner)
测试运行器用来运行测试,收集测试结果,并呈现给用户。
5.测试驱动开发(Test-Driven Development, TDD)
一种测试优先的开发模式叫作测试驱动开发(Test-Driven Development, TDD),在TDD中,测试是先于开发进行的,要实现某个功能先编写代码,不断完善代码直至经过测试为止,这个周期不断循环直至实现整个程序。它遵循KISS(Keep It Simple, Stupid)和YAGNI(You Aren't Gonna Need It)原则,经过这种模式编写出的代码会很是简洁,不会产生多余的代码和程序功能。