提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|行业资讯|编辑:郑恭琳|2020-05-25 14:56:14.780|阅读 227 次
概述:应用程序编程接口(API)是应用程序的服务层。它们连接数据层和表示层(UI),并驱动用户与应用程序交互的方式。 如果API无法正确响应用户活动,则说明该应用程序已损坏。开发人员和测试人员有责任确保所连接的API在其应用程序中正常工作。 API测试对于识别应用程序多层中的缺陷并确保无缝的客户体验是必不可少的。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
应用程序编程接口(API)是应用程序的服务层。它们连接数据层和表示层(UI),并驱动用户与应用程序交互的方式。
如果API无法正确响应用户活动,则说明该应用程序已损坏。开发人员和测试人员有责任确保所连接的API在其应用程序中正常工作。
API测试对于识别应用程序多层中的缺陷并确保无缝的客户体验是必不可少的。 API测试包括:
执行API测试具有挑战性,因为它需要一种技术方法来针对各种消息格式和协议设计测试用例。它还需要了解组织的业务规则,以一起正确使用正确的API。尝试使用手动方法测试API非常耗时,并且可能导致测试推迟到开发周期的后期。
自动化的API测试使您能够对应用程序进行防弹防御。它可以尽早发现错误,评估构建的强度,并导致更快的软件发布。由于API测试可以自动化并且可以连续运行,因此您可以确保应用程序符合业务期望,同时还可以验证功能准确性。
有了正确的API测试工具和流程,您的团队将获得自动化的所有好处。没有它们,API测试会很快变得不堪重负。
优点
缺点
您可以通过将高级测试技术集成到现有测试中来克服这些挑战。首先,让我们看一下API测试的创建。
建立API测试自动化实践的最大挑战之一就是创建API测试。适当的测试提出了入门(或扩展现有的API测试套件)的障碍。
此问题的一部分是纯粹基于技术知识或书面API规范(如果存在)编写API测试所需的领域知识。这不是测试人员的常用领域。大多数具备必要知识的开发人员都不会参与此级别的测试。他们在其他地方有优先事项。
考虑两种互补的方法:
大多数应用程序提供并使用多个API。有些是众所周知的。有些甚至可能被记录在案。引擎盖下通常有很多活动部件,因此开始进行API测试非常困难。
在自上而下的方法中,API交互是通过工具自动化发现的,这是通常使用和集成测试的一部分。
另一个攻击角度是自下而上的方法,是根据设计意图创建API测试。它通常是组件测试的一部分,并借助工具进行辅助。
自上而下(集成测试)和自下而上(组件测试)方法的结合克服了测试创建的障碍,并增加了API测试的覆盖范围。请参见下图。
按用途创建API测试
捕获API测试方案的最佳方法之一是在生产和测试中都使用产品的现有用法。利用智能记录和回放功能,可以创建可重复使用的测试和方案。
使用SOAtest Smart API Test Generator等工具,您可以记录在应用程序内部发生的API交互。该工具使用机器学习将复杂的流量组织成API使用模式。这样就可以使用现有的手动测试来创建一套API测试,以使用UI提取、过滤和创建API测试方案。
然后,SOAtest使用AI来识别模式并建立数据关系以创建API测试模板。您可以修改和重复使用带有变体的模板。这些测试可用于安全性和性能测试。更重要的是,这些测试一旦创建,便会与UI和基础应用程序分离,并且其依赖关系可以仅通过API测试来行使。
将API流量记录和分析到测试场景中,可以扩展到使用Selenium等工具进行的自动化UI测试。发起API调用的应用程序的任何使用,无论是手动还是自动的,都可以用来创建API测试。也可以将录制的方案与可追溯性要求相关联。
记录后,可以在SOAtest中对这些方案进行调查和修改,如下所示。
SOAtest检测各种API调用和发生的数据交互。然后可以根据需要修改方案和数据有效载荷。一旦理解了模式,就可以将断言插入场景中以验证正确的值和行为。
完全基于现有测试技术创建即用型API测试套件的能力可以快速创建具有重用和扩展功能的测试。这是通过API测试的最大障碍之一的捷径。
通过(服务)设计创建API测试
您可能会想,“我们不知道API的设计。其中大多数都没有记录!”在大多数情况下,这是正确的。但是,仍然可以通过查看应用程序中显式或隐式的服务定义和协定,将现有信息中的API测试组合在一起,以帮助从下至上扩展API测试的覆盖范围。
就API规范而言,大多数服务在swagger文档或WSDL中都有定义。SOAtest可以阅读这些定义并创建API测试方案模板。它包括定义中所有客户端的测试用例。您可以编辑和操作模板以创建有意义的API测试。
SOAtest提供了许多用于从模板创建无脚本测试的选项,包括基于随机数的参数化数据或先前的测试结果,如下例所示。
通过使用简单的复制和粘贴技术,无脚本的测试创建以及灵活的测试数据管理,SOAtest提供了一种构建测试套件的简便方法。这并不是要取代自上而下的方法,而是要对其进行补充。如果手动或UI测试缺少API的重要部分(由覆盖结果告知),则自下而上的方法将填补这些空白。但是,如果不了解覆盖范围,就很难确定要测试的内容和缺少的内容。
覆盖范围取决于上下文,意味着几件事。通常,它是代码、API和要求范围。您需要了解所有这些内容,以清晰了解测试工作的完成程度。
这些重叠的问题在项目生命周期的不同时间都很重要。例如,如果您要跟踪的是API测试覆盖率,则重要的是要确保测试充分覆盖了API,并在缺少的地方进行现有测试。最好的方式是从服务定义中进行查看,如下图所示。
SOAtest跟踪执行的每个测试以及涵盖的API:完全、部分或根本不包括。知道缺少哪些测试,可以让我们根据服务定义进行自下而上的测试,或者在可能的情况下基于新的基于UI的测试。它还指出测试失败的地方(红色),将我们的注意力转移到需要更新或植入中有问题的测试。
Parasoft DTP(开发测试平台)充当各种测试实践结果的中央存储库和枢纽,并根据不同类型的覆盖范围提供了项目所在位置的高级视图,如以下仪表板所示。
此视图合并了静态代码分析、单元测试、API以及手动和自动UI测试的汇总结果。这是测试金字塔的全部色域。它从各个方面提供了完整的覆盖范围:API、需求和代码覆盖范围。
从JIRA中保存的用户故事的角度考虑需求范围。功能测试仪表板(如下所示)包括JIRA Story Status小部件,这是跟踪需求覆盖率的一种方法。
更仔细地查看JIRA状态,鼠标悬停信息指示通过、未通过、未完成或未通过测试的测试数量。
您可以在详细的可跟踪性报告中进一步深入了解,以找出缺少哪些需求,未通过其测试等等。
您可以通过深入研究可追溯性报告来进一步调查,以了解哪些测试正在影响这个故事。
此外,您可以根据需要将此覆盖范围链接到API和代码覆盖范围。您可以从此处导航至API测试,以确定需要进行哪些更改以及需要进行哪些其他测试。这种全面的汇总视图提供了最完整的测试状态信息。随着开发人员聚集在一个完整的应用程序上,随着时间的推移,测试覆盖率“增长”,新的代码被API和为相关需求创建的单元测试“覆盖”。
API测试的重要性已为软件开发组织所认可,但是他们经常难以充分采用该实践。努力的一部分是建立一组测试,因为手动测试的创建很复杂并且需要熟悉的技术知识。甚至采用API测试的团队也面临着增加其API测试覆盖面的挑战,因为其中许多没有记录在案。
诸如SOAtest之类的高级功能测试工具可以基于分析手动测试和常规应用程序使用中的使用行为,使用自上而下的方法来帮助自动化API测试创建。这种智能的测试生成功能可帮助团队快速,轻松地根据现有实践创建测试。
使用SOAtest自动化可以同时采用互补的自下而上的方法,以根据服务定义构建无脚本测试。随着完整的覆盖率分析,您可以使用自上而下和自下而上的技术随着时间的推移来扩展API测试的覆盖率。由于API测试的工作水平远低于UI测试,因此您可以放心,所构建的一致而全面的测试将持续很长时间。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
通过提供强大的3D CAD数据访问工具并适用于桌面、移动和Web的高级环境3D可视化发动机,HOOPS在提升造船设计和制造流程的效率方面发挥了重要作用。
HOOPS Luminate在汽车行业中的应用具有广泛的潜力和深远的影响。它通过提供高效的3D可视化、虚拟装配与拆解、性能分析、客户定制等功能,帮助汽车制造商在设计、生产和销售过程中提升效率、降低成本并提高产品质量。
在不断发展的软件开发世界中,使工具和框架与最新的平台版本保持同步至关重要,欢迎查阅~
全球航运业对国际贸易至关重要,全球 90% 以上的商品通过海运运输。准确监控和控制这些集装箱的移动对于维持高效的供应链至关重要。手动输入集装箱号码是这一程序的关键部分,它带来了相当大的挑战,例如人为错误和效率低下。
人工智能和机器学习赋能 API 和 Web 服务测试
Parasoft SOAtest with Load Test通过使用现有的功能测试来解锁早期的负载和性能测试
Parasoft DTP开发测试平台,通过在SDLC中持续应用软件质量最佳实践降低了商务风险
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢