如果你正在开发一个移动的应用,非常高的可能性这个应用是需要跟后端的 Web API 进行交互的,这个 API 可能是你们团队自己开发的,或者是第三方提供的。毫无疑问,在过去的这两三年里,API 已经成为企业和应用的催化剂,通过 API 可瞬间让设备和平台更具灵活性。
在这片文章中,我们将谈谈关于 API 的质量以及如何通过 SmartBear 工具来确保 API 的质量。
一个移动应用(原生,混合或者网页),通过标准协议与其后端API交互,大多数基于HTTP和REST协议,使用JSON或者XML格式的数据。这些API可能是你们自己的或者来自于任何一个第三方(比如说Twitter或者Google Maps),可以直接从你的应用中调用或者通过你们的API后端间接调用:
间接集成有如下几个优势:
直接集成有如下优势:
你还可以扩展更多优劣势——最终根据你的需求和资源归纳。
API后端自身既可以为Node.js或者Grails应用服务,也可以用于基于J2EE或.NET的面向服务的应用。底层数据有可以用关系型数据库操作,可以用NoSQL存储,也可以带有REST API。后端程序可以运行在本地服务器,也可以上传到虚拟云服务中。
无论你选择怎样的解决方案,你都需要解决API的测试和性能问题。现在让我们具体说说。
我们都知道代码的质量是整个项目开始时就要非常注意的一个方面。需求需要进行评审、UI 模型需要进行测试、积压的问题需要优先处理、架构需要被评估等等。
如果你使用敏捷开发,你将在你的整个应用生命周期中进行不断的迭代。如果你使用瀑布流模型,那么前期你需要做更多的工作。不管是什么方式,你的 API 设计都应该得到绝对的重视,包括技术选择、数据格式、安全、认证和管理等等。
单元测试和代码评审是在实际编码阶段中比较常用的质量手段。但你必须确保你把各个部分组合起来以正确的方式来测试 API。你可以看到 API 的测试是作为你的类、对象、脚本、数据存储的集成测试。
1.功能测试3.安全测试
安全测试是额外重要的.APIs常常可以直接访问核心数据与那些组成你商业核心价值的逻辑.你必须确保你的APIs可以避免一般的攻击,比如SQL注入,错误的数据输入,越界.
确认当系统遇到环境错误或者输入错误时不会向那些潜在的恶意的人员发送详细的系统信息,以防止被用来控制系统.对于性能测试.重新用"功能测试去"测试"安全测试"(即功能安全测试)是有好处的.它可以在你进行功能测试的时候扫描你的安全缺陷(比如在你的客户端验证完你的APIs后进行SQL漏洞扫描).
所有的这些测试(功能,性能,安全)需要被创建的尽可能的早,不断的运行你那些还在发展与不断成熟的APIs.包括你自己的单一独立的测试执行单元.(我也不太懂这句,,,,-_-!!再查查)
确保每周回来看看,了解第三方APIs如何复杂化了你对质量保证的努力,而且可以帮助你监控你部署后的APIs....
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。 2KB翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务