1. 自动化测试
    • web自动化:Python+Selenium
    • App自动化:Python+Appium
    • 接口自动化:Python+Requests
  2. 开发小工具
  3. 性能测试
    1. Locust
  4. 搭建测试平台
    1. flask或django

1.将日常工作最常用的一些命令或者工具脚本化,比如用Python脚本完成更新代码,打包功能
2.使用Python创建一个声称测试数据的脚本,开发每次都要找你帮忙创建一堆测试数据,你能忍受每次都要鼠标点击那么多次来填写n多表单么,为啥不搞个脚本
3.做一些自动化测试的工作
4.用Python创建一些简单网站,把开发,测试,产品经常烦扰你的工作都放到网页上,让他们自己傻瓜操作多好。
5.用来维护测试服务器
6.CI(持续集成)往往也需要一个脚本来配合工作
7.创建一些监控程序,监控测试环境和线上的接口

 

unittest是Python标准库中自带的单元测试框架。unittest有时候也被称为PyUnit。就像JUnit是Java语言的标准单元测试框架一样,unittest(PyUnit)则是Python语言的标准单元测试框架

unittest支持自动化测试,测试用例的初始化和关闭,测试用例的聚合等功能。unittest有一个很重要的特性:它通过类(class)的方式,将测试用例组织在一起。

一个简单的示例如下:

importunittest

class TestStringMethods(unittest.TestCase):
    def test_upper(self):
        self.assertEqual('foo'.upper(), 'FOO')
 
if__name__=='__main__':
    unittest.main()

执行结果:

...
---------------------
Ran1 tests in 0.000s
OK

需要注意的是,unittest有一个关联模块unittest2。但是unittest2仅适用于Python 2.4-2.6。这是因为,从Python 2.7开始,unittest增加一些新的特性。为了在老的版本Python 2.4-2.6支持这些特性,提供了unittest2这个库。对于Python 2.7及之后的版本,unittest是唯一的。

 

我个人还是觉得unittest比较好用,一方面它是python自带的模块,不必额外安装,目前functest项目中已有的测试用例也提倡使用unittest。其基本使用方法总结如下:

1.import unittest
2.定义一个继承自unittest.TestCase的测试用例类
3.定义setUp和tearDown,在每个测试用例前后做一些辅助工作。
4.定义测试用例,名字以test开头。
5.一个测试用例应该只测试一个方面,测试目的和测试内容应很明确。主要是调用assertEqual、assertRaises等断言方法判断程序执行结果和预期值是否相符。
6.调用unittest.main()启动测试
7.如果测试未通过,会输出相应的错误提示。如果测试全部通过则不显示任何东西,这时可以添加-v参数显示详细信息。

更多推荐

软件测试用Python能做什么