当测试开放API时,测试专家约Johanna Rothman建议要测试API的功能性、端点安全性,尤其是连接的正确性。
为什么要测试新开发的或者成熟的开放API?这个问题的答案和测试应用软件的原因是相同的:确保连接和流程能正常工作。测试和验证某个API可以成功连接,并能够提供可靠的安全性和预期的功能,这点对于软件开发公司的声誉很重要。
API测试不是一个简单的任务,涉及的人员要比单元测试多得多。为了保护和提高公司应用的声誉,必须要对API做全面测试。在规划和开发针对开放API测试时,务必要验证系统间的连接性。通常情况下,验证连接性都很棘手,要找到能够满足业务需求的方法。连接性测试是API测试的基本前提,同时也有其他很多方面需要考虑。
清楚测试内容
测试团队需要决定具体哪些方面需要测试。和其他测试一样,风险、优先级和可访问性都会影响要在API上执行的测试类型。最起码,需要测试端点的功能性,是否能够正确地接受或者转发信息。如果有条件,也需要测试端点安全性和业务逻辑的功能性。有些测试人员不喜欢测试端点安全性,但是可以和开发人员一起确保令牌和证书无法轻易被绕开。
业务逻辑功能性的测试非常关键。即使API端点是安全的,并且已经成功建立链接,确认API能够按照设计工作,仍然非常重要。API功能性测试包括模拟客户行为使用所有可供选择的功能。测试团队必须决定他们是否需要创建一个虚拟的用户实例,或者是否更适合试点测试,或是和真实客户一起完成测试。测试深度取决于业务需求以及可用于测试和开发的时间。
创建API测试数据
应用所服务的领域决定了需要多少时间和技能来创建测试数据。比如,在医疗软件领域,不违反HIPAA病例信息披露原则很重要;否则,不仅可能面临巨额的政府罚款,而且任何形式的数据泄露都不可避免地损伤企业的公众形象。但是不管API所服务的是什么领域,都需要花费时间为API测试创建简洁或者广义的数据。
简洁数据是有效的真实数据,但是不可识别或者跟踪到真实的某个人。一组数据也可以手动转化成一系列数据,用于开发人物角色,用于五个不同的客户场景。比如,针对药物记录的数据转换API,一个人物角色可能是主动去看初级医生,和肺、心脏病和风湿病专家的病人。要创建这个人物角色需要个人数据、医疗记录信息,以及每个医生的地址,电话号码和病人到访信息。根据就诊场景的需要,测试人员使用满足需求的最小数据集填充数据库。可以使用这些数据测试API,验证返回的数据是否正确。
测试端点安全性
测试API时,测试API端点的安全性至关重要。测试确保端点只会回复有效链接的请求。测试消息安全性也很重要。很多API使用JWT令牌和证书来保证收到的消息来自于授权的发送方。尝试使用无效令牌发送未经授权的消息,或者确保能够使用有效令牌。API的功能决定了是否需要使用公司外第三方的安全测试服务,或者公司内现有的测试人员和开发人员能否完成充分的测试。
测试API功能性
创建出的测试数据主要用来测试API的功能性。一种有效的方法是创建模拟的API系统,模拟真实的业务伙伴来使用API。当然,创建模拟系统需要时间,取决于对API使用的理解程度,但是这仍然是一种测试API功能性的有效方式。如果没有时间开发模拟应用来连接测试API的功能性,那么可以考虑和真实的业务伙伴合作。
和试点测试类似,和真实的业务伙伴一起测试有很多优势。主要的优势是使用的是真实的数据实例。这时花在测试和开发上的时间不像花在模拟系统上显得被浪费了,因为最终创建了能提供价值的可以工作的业务伙伴系统。已经证明数据传输的可靠性对于API的成功至关重要,没有试点系统也很难对此进行测试。试点测试同样也使用真实的客户系统来完整测试商业逻辑。
保护已有客户并维持客户信任对于业务增长而言至关重要,因此花费时间和精力来测试开放API是很值得的。客户可能是个人用户和大型或小型公司,得到客户的信任和尊重会直接带来商业上的成功。开放API的测试也提供了初级的安全测试和业务逻辑认证。软件公司都必须在此领域深度测试来确保API的质量。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
看华为如何打造行业+融合通信生态圈
在近日举办的首届华为开发者大会上,华为为行业提供了一个统一的开放平台,面向更多的开发者,同时开放网络、安全和数据API。
-
又一个十亿美元 华为的开发者战略“上不碰应用 下不碰数据”
在首届华为开发者大会(HDC)上,华为又抛出了一个十亿美元,我们已经听到过太多的“十亿美元”了,华为的“十亿美元”又会有什么不同呢?
-
Docker技术发展路线中囊括了新技术
新一年,Docker技术路线图中包含了Microsoft技术支持、开源编辑工具以及更新后的容器产品。
-
开发人员怎么才能让开放API易于使用和理解?
如果你发布了一个开放API,而它却难以集成,且没附有相关标准,或附有标准但却不适合,那么就不会有开发人员使用这一系统。