软件测试 | unittest 单元测试框架
Django 默认使用 Python 的标准库 unittest 编写测试用例。
单元测试框架
关于单元测试,首先澄清两点误区:
误区 1:不用单元测试框架一样可以编写单元测试,单元测试本质上就是通过一段代码区测试另外一段代码。
误区 2:单元测试框架不仅可以用于程序单元级别的测试,同样可以用于 UI 自动化测试、接口自动化测试,以及移动 APP 自动化测试等。
想要解释误区 2,必须要知道单元测试框架提供了什么功能。
提供用例编写规范于执行:当编写的测试用例达到成百上千条时,首先要解决用例的规范化问题,每个人都有编写代码的习惯,单元测试框架提供了统一的用例编写规范。
其次是用灵活的批量执行问题,可以灵活地指定不同级别的测试,如针对一个测试方法(用例)、一个测试类、一个测试文件,或者一个测试目录等不同级别的测试。
提供专业的比较方法:不管是功能测试,还是单元测试,在用例执行到最后都需要将实际结果与预期结果进行比较,这个比较过程在单元测试中称为“断言”,从而判断用例能否测试通过。所以,作为单元测试框架一般也会提供丰富的断言方法。例如,断言相等/不相等、包含/不包含、True/False 等。
提供丰富的测试日志:提供测试用例的执行日志也是单元测试框架必须具备的功能之一,当测试用例执行失败时抛出明确的失败信息,当测试用例执行完成后提供执行结果信息。例如,统计失败用例数、成功用例和执行时间等。
从单元测试框架所提供的几点功能来看,它可以帮助我们完成不同级别测试的自动化:
单元测试:unittest
HTTP 接口自动化测试:unittest+Requests
Web UI 自动化测试:unittest+Selenium
移动自动化测试:unittest+Appium
Requests 是 Python 语言中用于实现 HTTP 接口调用的库。Selenium 用于实现 Web 页面的各种操作,支持多种编程语言,其中包括 Python 语言。而 Appium 是一款当前非常流行的移动端测试工具,同样支持 Python 语言。
搜索微信公众号:TestingStudio 霍格沃兹的干货都很硬核
评论