热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

(转)

接口测试介绍接口测试简介接口测试是保证软件产品质量的最重要的软件测试之一。接口测试是进行评估的系统或组件是否正确地传递数据及互相正确的控制。接口测试通常在测试和开发团队都进行。接口

接口测试介绍 

接口测试简介

接口测试是保证软件产品质量的最重要的软件测试之一。接口测试是进行评估的系统或组件是否正确地传递数据及互相正确的控制。接口测试通常在测试和开发团队都进行。接口测试通常在应用或功能开发的初期检验模块间调用的正确性和友好性。

接口测试内容

检查模块之间的所有交互是否正确执行。错误是否妥善处理。对于数据库或Web服务器等第三方的返回,应用要有合适的展示和翻译。用户中断事务时的反应。http等连接中断或重置的反应。对于Web应用和应用程序的测试标准几乎一致。

  • 服务接口 1.检查通信Web服务器,应用服务器,应用服务器,数据库服务等的通信是否正常完成(双向)。 2.服务器软件,硬件,网络连接的兼容性。
  • 外部接口
    1. 覆盖相关的浏览器类型
    2. 相关的外部接口的所有错误条件,比如外部应用程序不可用或服务器无法访问?
  • 内部接口
    1. 如果网站使用的插件,没有插件是否能运作?
    2. 链接文档是否跨平台?
    3. 下载错误是否正常处理?
    4. 用户可否使用复制/粘贴功能?密码/ CVV /信用卡域呢?
    5. 可否提交非加密数据?
    6. 系统崩溃后是否可以重新启动并可靠恢复吗?
    7. 中途离开网站在任务是否取消?
    8. Internet连接中断交易是否取消?
    9. 浏览器崩溃是否考虑?
    10. Web站点和应用程序服务器之间的网络故障如何处理?
    11. 是否有智能错误处理(比如禁用COOKIE等)?
  • 接口性能:对于调用频繁的接口,需要考虑性能。测试性能需要测试单个接口的性能和组合起来接近真实使用的场景的性能。性能可以用python的多进程和多线程配合构造,另外python有很多专门的性能工具。比如:
    1. ​http://testutils.org/multi-mechanize/ 推荐
    2. ​https://pypi.python.org/pypi/pymeter/0.1(估计已经死亡2013-12-29)
    3. ​http://pywebperf.sourceforge.net/(估计已经死亡2013-12-29)
    4. ​https://pypi.python.org/pypi/funkload/1.16.1 推荐
    5. [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

  • Posted: 2014-01-06 18:23 (Updated: 2014-01-10 16:38)
  • 作者: root
  • Categories: test_common


转:https://www.cnblogs.com/xueli/p/4043182.html



推荐阅读
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 加密世界下一个主流叙事领域:L2、跨链桥、GameFi等
    本文介绍了加密世界下一个主流叙事的七个潜力领域,包括L2、跨链桥、GameFi等。L2作为以太坊的二层解决方案,在过去一年取得了巨大成功,跨链桥和互操作性是多链Web3中最重要的因素。去中心化的数据存储领域也具有巨大潜力,未来云存储市场有望达到1500亿美元。DAO和社交代币将成为购买和控制现实世界资产的重要方式,而GameFi作为数字资产在高收入游戏中的应用有望推动数字资产走向主流。衍生品市场也在不断发展壮大。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • 本文介绍了在MFC下利用C++和MFC的特性动态创建窗口的方法,包括继承现有的MFC类并加以改造、插入工具栏和状态栏对象的声明等。同时还提到了窗口销毁的处理方法。本文详细介绍了实现方法并给出了相关注意事项。 ... [详细]
  • ShiftLeft:将静态防护与运行时防护结合的持续性安全防护解决方案
    ShiftLeft公司是一家致力于将应用的静态防护和运行时防护与应用开发自动化工作流相结合以提升软件开发生命周期中的安全性的公司。传统的安全防护方式存在误报率高、人工成本高、耗时长等问题,而ShiftLeft提供的持续性安全防护解决方案能够解决这些问题。通过将下一代静态代码分析与应用开发自动化工作流中涉及的安全工具相结合,ShiftLeft帮助企业实现DevSecOps的安全部分,提供高效、准确的安全能力。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • GreenDAO快速入门
    前言之前在自己做项目的时候,用到了GreenDAO数据库,其实对于数据库辅助工具库从OrmLite,到litePal再到GreenDAO,总是在不停的切换,但是没有真正去了解他们的 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
author-avatar
oFoUro_877
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有