接口测试介绍 接口测试简介
接口测试是保证软件产品质量的最重要的软件测试之一。接口测试是进行评估的系统或组件是否正确地传递数据及互相正确的控制。接口测试通常在测试和开发团队都进行。接口测试通常在应用或功能开发的初期检验模块间调用的正确性和友好性。
接口测试内容
检查模块之间的所有交互是否正确执行。错误是否妥善处理。对于数据库或Web服务器等第三方的返回,应用要有合适的展示和翻译。用户中断事务时的反应。http等连接中断或重置的反应。对于Web应用和应用程序的测试标准几乎一致。
- 服务接口 1.检查通信Web服务器,应用服务器,应用服务器,数据库服务等的通信是否正常完成(双向)。 2.服务器软件,硬件,网络连接的兼容性。
- 外部接口
- 覆盖相关的浏览器类型
- 相关的外部接口的所有错误条件,比如外部应用程序不可用或服务器无法访问?
- 内部接口
- 如果网站使用的插件,没有插件是否能运作?
- 链接文档是否跨平台?
- 下载错误是否正常处理?
- 用户可否使用复制/粘贴功能?密码/ CVV /信用卡域呢?
- 可否提交非加密数据?
- 系统崩溃后是否可以重新启动并可靠恢复吗?
- 中途离开网站在任务是否取消?
- Internet连接中断交易是否取消?
- 浏览器崩溃是否考虑?
- Web站点和应用程序服务器之间的网络故障如何处理?
- 是否有智能错误处理(比如禁用COOKIE等)?
- 接口性能:对于调用频繁的接口,需要考虑性能。测试性能需要测试单个接口的性能和组合起来接近真实使用的场景的性能。性能可以用python的多进程和多线程配合构造,另外python有很多专门的性能工具。比如:
- http://testutils.org/multi-mechanize/ 推荐
- https://pypi.python.org/pypi/pymeter/0.1(估计已经死亡2013-12-29)
- http://pywebperf.sourceforge.net/(估计已经死亡2013-12-29)
- https://pypi.python.org/pypi/funkload/1.16.1 推荐
- [grinder.sourceforge.net] java开发,知名的性能工具,python写脚本。
接口测试的方法
接口测试一般用编程的方式基于协议实现。python语言因其易学易维护且功能强大是首选。java也应用比较广泛。
- python的suds,soapPY等模块在webservice测试。
- python的urlib,urlib2,requests等模块适用于http相关的测试。
- python 的netsnmp,pysnmp可以进行snmp接口测试。
接口测试示例
某公司模块之间通信有seq,以免通信乱序。seq约定是64位整数。某工程师加班误把unit64改成了unit32。系统上线运行一定后,出现通信异常。
如果有做接口测试,针对0,2的64次方等值进行,就不会出现这种问题。当然长时间的性能测试也会发现此问题。但是接口测试发现这种问题更快速,而且性能测试,尤其是系统测试期间的性能测试也不可能这样面面俱到。
改进方案:利用pytest调用socket库,每个版本对接口进行自动化测试。
本文地址
- http://automationtesting.sinaapp.com/blog/test_interface
- 本站地址:python自动化测试http://automationtesting.sinaapp.com python开发自动化测试群113938272和开发测试群6089740 微博 http://weibo.com/cizhenshi
参考资料
http://www.vibrantinfosystems.com/interface-testing.html
接口测试简介
接口测试是保证软件产品质量的最重要的软件测试之一。接口测试是进行评估的系统或组件是否正确地传递数据及互相正确的控制。接口测试通常在测试和开发团队都进行。接口测试通常在应用或功能开发的初期检验模块间调用的正确性和友好性。
接口测试内容
检查模块之间的所有交互是否正确执行。错误是否妥善处理。对于数据库或Web服务器等第三方的返回,应用要有合适的展示和翻译。用户中断事务时的反应。http等连接中断或重置的反应。对于Web应用和应用程序的测试标准几乎一致。
- 服务接口 1.检查通信Web服务器,应用服务器,应用服务器,数据库服务等的通信是否正常完成(双向)。 2.服务器软件,硬件,网络连接的兼容性。
- 外部接口
- 覆盖相关的浏览器类型
- 相关的外部接口的所有错误条件,比如外部应用程序不可用或服务器无法访问?
- 内部接口
- 如果网站使用的插件,没有插件是否能运作?
- 链接文档是否跨平台?
- 下载错误是否正常处理?
- 用户可否使用复制/粘贴功能?密码/ CVV /信用卡域呢?
- 可否提交非加密数据?
- 系统崩溃后是否可以重新启动并可靠恢复吗?
- 中途离开网站在任务是否取消?
- Internet连接中断交易是否取消?
- 浏览器崩溃是否考虑?
- Web站点和应用程序服务器之间的网络故障如何处理?
- 是否有智能错误处理(比如禁用COOKIE等)?
- 接口性能:对于调用频繁的接口,需要考虑性能。测试性能需要测试单个接口的性能和组合起来接近真实使用的场景的性能。性能可以用python的多进程和多线程配合构造,另外python有很多专门的性能工具。比如:
- http://testutils.org/multi-mechanize/ 推荐
- https://pypi.python.org/pypi/pymeter/0.1(估计已经死亡2013-12-29)
- http://pywebperf.sourceforge.net/(估计已经死亡2013-12-29)
- https://pypi.python.org/pypi/funkload/1.16.1 推荐
- [grinder.sourceforge.net] java开发,知名的性能工具,python写脚本。
接口测试的方法
接口测试一般用编程的方式基于协议实现。python语言因其易学易维护且功能强大是首选。java也应用比较广泛。
- python的suds,soapPY等模块在webservice测试。
- python的urlib,urlib2,requests等模块适用于http相关的测试。
- python 的netsnmp,pysnmp可以进行snmp接口测试。
接口测试示例
某公司模块之间通信有seq,以免通信乱序。seq约定是64位整数。某工程师加班误把unit64改成了unit32。系统上线运行一定后,出现通信异常。
如果有做接口测试,针对0,2的64次方等值进行,就不会出现这种问题。当然长时间的性能测试也会发现此问题。但是接口测试发现这种问题更快速,而且性能测试,尤其是系统测试期间的性能测试也不可能这样面面俱到。
改进方案:利用pytest调用socket库,每个版本对接口进行自动化测试。
本文地址
- http://automationtesting.sinaapp.com/blog/test_interface
- 本站地址:python自动化测试http://automationtesting.sinaapp.com python开发自动化测试群113938272和开发测试群6089740 微博 http://weibo.com/cizhenshi
参考资料
http://www.vibrantinfosystems.com/interface-testing.html