几年来,都有个想法:写个《用Python做测试》的系列文章。把自己的经验和大家共享,和大家多交流,同时总结下自己掌握的东西。但苦于一直忙,其实准确点的说是自己懒,迟迟没有开始。我想不能再懒了,要不以后会更忙、更懒。
我为什么选择python做测试? 其实没特别的理由,自己学了perl, python,发现perl语法比较难,python比较简单,可读性也很好。正是因为自己偷懒的想法,赶上了python的壮大,发现现在python的应用很广泛,人才需求也很大,这个得益与这几年互联网公司敏捷开发模式的兴起,python正好符合互联网公司快的需要,正如Python界口号:人生苦短,我用Python。
站在客观的角度总结了些Python 的有点:
- 学习难度小,开发周期短。对目前国内大多数测试人员来说,编码经验不足,python是个很好的入门语言。
- 胶水语言,能与C++, Java, COM, and .NET,Object-C 整合。 测试部门要做单元测试,接口测试,因为人员比例的关系,不可能让测试人员同时掌握多门语言,python可以对C/C++, Java, Object-C进行接口封装后,实现单元测试。
- 语法简约,清晰。减少后期维护的难度。
- 跨平台
- 大量可用的库(但python的库有个缺点是,不像perl一样,有个CPAN类库集中地,大部分集中在SourceForge,其实有google这些都不是问题)
- 成熟的框架。web: django,zope。高性能网络框架:twisted,gevent
- 丰富python测试工具。此系列文章主要关注于python在测试中的应用。这里有很全面的测试工具介绍(http://wiki.python.org/moin/PythonTestingToolsTaxonomy),从web测试,到性能测试,单元测试,持续集成等。
看过以上优点,可以说python在测试当中的所有应用都可以覆盖到,以后测试界也许可以流行:测试好烦,我用Python。
此系列文章主要总结本人在实际的测试工作中的Python应用,大概会覆盖下面内容,有增加的后面在补充。(此系列文章不会介绍python的学习, 入门学习者参考《Python入门手册》和《Python核心编程》)
- Python对服务器端的自动化测试
- Python对web的自动化测试
- Python对数据库的自动化测试
- Python对GUI的自动化测试
- Python网络编程
- Python高性能网络测试框架
- Python画图和科学计算
- Python实现远程性能监控
- Python实现自动化性能测试
- Python数据分析、数据挖掘
- Python对Android APP的自动化测试
- Python对Java代码做单元测试