向微服务最深处进军!自动化测试和质量管理全解析,继续强化锤炼

美团点评:打造微服务自动化测试与持续集成工具链实践 本文内容节选自第六届全球软件案例研究峰会,时任美团点评酒旅质量团队工具链负责人王鹏老师分享的《微服务架构下的自动化测试和持续集成工具链实践》实录,重点分享:微服务架构下解决自动化测试、开发联调、测试环境、持续集成方面遇到的问题及解决方案。(PPT+文稿)。 王鹏老师时任美团点评酒旅质量团队工具链负责人,在软件开发,自动化测试,研发流程改进,持续集成/交付基础设施,敏捷开发等领域有近10年的开发... 阅读详情

写在前边

微服务应用程序的另一个好处是更快且更容易更新。当开发者对一个传统的单体应用程序进行变更时,他们必须做详细的QA测试,以确保变更不会影响其他特性或功能。但有了微服务,开发者可以更新应用程序的单个组件。

向微服务最深处进军!自动化测试和质量管理全解析,继续强化锤炼

 

微服务在带来好处的同时,同样也带来了挑战,具体可以总结为以下几点。

  • 系统依赖性增加

由单体应用过渡到微服务架构时,需要加入更多的隔离组件,这些组件的加入势必会带来更多的依赖性。也就是说,复杂性会变得更高。这同样给测试带来了相应的复杂度,原本只需要从接口层开始的测试,一下子从深度上多出来更多的依赖,测试的工作量也是成倍地增加。

我们拿一个单体应用有10个接口的工程举例,原本测试只需要测试这10个接口就可以,但是使用微服务构建之后,接口的数量明显增加,每一个接口所衍生出来的新接口都需要测试,这样可能是一个倍数的关系。所以,微服务的接口抽象及经验就显得非常重要。

  • 并行开发

接口数量的增加还会带来一个问题,就是原本一个团队维护的项目,被拆分之后,可能是两个或者更多的团队来进行维护。在需求变化时,一个接口的变动,导致的可能是连锁反应,当其中的一个接口出现延期时,整个测试计划就很难得到保证。团队需要等待其他团队以完整相关微服务的并行开发,微服务数量越多,需要考虑的对象就越广泛,这意味着以并行方式开发及发布新功能就变得更加困难。所以,微服务的并行开发同样带来了管理上的挑战。

  • 与传统测试的冲突

对于单块应用,在一个机器上就可以模拟出所有的依赖,但是在微服务场景下,由于依赖的服务往往很多,因此要搭建一个完整的环境非常困难。

  • 更多潜在的故障

微服务迁移的另一大负面影响在于引发大量独立故障点。

  • 更多的团队交互

微服务的方式对于测试来说,意味着需要交互和沟通的人数必然增加,因为一般的团队很难做到需求和实现的高效沟通。沟通成本的增加有可能导致某个重要的功能点没得到优先测试,而不重要的功能点却被优先测试,从而导致整体工期的拖延。

微服务测试

在微服务中,测试是一个非常重要的环节,相比于常见的三层测试金字塔,在微服务场景下,这个层次可以被扩展为5层,如下图所示。

向微服务最深处进军!自动化测试和质量管理全解析,继续强化锤炼

 

和测试金字塔的基本原则相同:

  • 越往上,越接近业务/最终用户;越往下,越接近开发。
  • 越往上,测试用例越少。
  • 越往上,测试成本越高(越耗时,失败时的信息越模糊,越难跟踪)。
  • 越往上,测试的实现和维护成本就越高,测试速度也越慢。
  • 接下来看一下,上面的测试模型。

UI/UE 测试

需要测试的方面很多,包括功能测试、兼容性测试、安装卸载测试等。一般是根据业务模型编写测试用例,然后根据测试用例来判断结果的正确性与否。当然也包括测试用户界面的风格是否满足客户要求,文字是否正确,页面美工是否好看,文字、图片组合是否完美,背景是否美观,操作是否友好,等等。UI测试还可确保UI中的对象按照预期的方式运行,并符合公司或行业的标准,包括用户友好性、人性化、易操作性测试。UI测试比较主观,与测试人员的喜好有关,比如页面基调颜色刺眼、用户登录页面比较难以找到、文字中出现错别字、页面图片范围太广等都属于UI测试中的缺陷。严格来说,所有的测试都包括UI/UE 测试,不仅仅是在微服务测试中。

端对端测试

除了测试服务,测试者还需要确保无论使用何种架构构建,应用都必须实现业务目标,同时我们还要测试集成系统运行的完整性。因此在微服务测试方案中,端对端测试占据了重要的角色。除此之外,考虑到在微服务架构中有一些执行相同行为的可移动部件,端对端测试时需要找出覆盖缺口,并确保在架构重构时业务功能不会受到影响。

API 测试

API (Application Programming Interface, 简称API)又称为应用编程接口,就是软件系统不同组成部分衔接的约定。

API测试是针对系统所提供的API做各方面的验证。API 的功能测试类似于UI功能测试,都是在已知输入内容和期望结果的前提下,使用这个功能/调用这个API并且验证是否能返回期望的结果。不同的是,API测试在返回结果被呈现给客户前就完成了,从而对测试环境的依赖会比较小。

API功能测试的主要手段是使用工具/软件调用待测API,然后验证是否返回期望的output。这个output通常可能是:

  • 返回成功或者失败的status;
  • 一段数据或者information;
  • 跳转到其他API。

组件接口测试

尽管单独测试模块非常重要,但测试各个模块能否正确交互,并测试其作为子系统的交互性以查看接口的缺陷同样重要,这项工作可以通过集成测试来完成。集成测试的目的在于:通过集成模块检查路径畅通与否,来确认模块与外部组件的交互情况。执行“网关集成测试”与“持续集成测试”能确保在找到外部组件间的逻辑回归与断裂之处时迅速获得反馈,从而有助于评估各个单独模块中所含逻辑的正确性。

单元测试

单元测试的范围局限在服务内部,它是围绕着一组相关联的案例编写的。由于单元测试的数量较多,理论上应当是以自动化方式执行的。在微服务中执行单元测试时,必须将协作型单元测试(Sociable Unit Testing)与孤立型单元测试( Solitary Unit Testing)相结合,通过观察其状态变化来检查模块行为,并查看对象及其依赖项之间的交互情况。然而,测试者需要确保在单元测试中,当单元“行为”受限时,“实现"不会受到测试的限制——可以通过不断将单元测试的价值与维护成本/实现受限的成本相对比来做到这一点。

单元测试

单元测试就是编写测试代码,用来检测特定的、明确的、细颗粒的功能。单元测试不仅仅用来保证当前代码的正确性,更重要的是用来保证代码修复、改进或重构之后的正确性。

一个良好的单元测试包括三个步骤:

  • 准备测试环境和数据;
  • 执行目标方法;
  • 验证执行结果(判断程序的运行结果是否如你所想)。

在做单元测试时,代码覆盖率常常被拿来作为衡量测试好坏的指标,甚至用代码覆盖率来考核测试任务完成情况,比如代码覆盖率必须达到80%或90%。

那么一般的代码覆盖率都包含哪些呢?通常的评估指标如下:

  • 行覆盖率;
  • 分支覆盖率;
  • 路径覆盖率;
  • 条件覆盖率;
  • 状态机覆盖率。

目前很多公司已经意识到了单元测试的重要性,但国内坚持写单元测试的团队并不多,其中一个难点在于没有考量,没有很好地执行单元测试覆盖率检测。

API测试

对于API的测试,根据不同团队的不同情况,如果测试人员的编码能力强,则建议使用编码的方式进行,方便与持续集成系统进行集成。但是目前能够达到这种级别的测试少之又少,所以测试一般使用工具完成。

Postman最基础的功能就是发送HTTP请求,支持GET/PUT/POST/DELETE,还有很多其他HTTP方法。

通过填写URL、header、 body 等就可以发送一个请求, 这对于我们平时做一些简 单的测试是够用的。

每次配置完一个请求都可以保存到一个集合中,如此一来,下次测试可以直接从集合中找到你要执行的测试。

集合不单单只有分类和存储功能,Postman支持--键运行整个集合内的测试。

当然,也可以使用Hitchhiker。Hitchhiker是一款开源的 Restful API测试工具,支持Schedule、数据对比、压力测试、支持上传脚本定制请求,可以轻松部署到本地,和团队成员一起管理API。

向微服务最深处进军!自动化测试和质量管理全解析,继续强化锤炼

 

A/B 测试

A/B测试又叫分离测试,类似于顾客焦点团体,将一系列内容变化在一定基准内进行比较。A/B测试来自邮件宣传,发信者将同一目的内容的不同版本邮寄到目标群体中,测量回应率。根据这些数据,商家可以对以后的直邮的内容做相应修改,向更多回应率的版本改进。

A/B测试最核心的思想,即:

  • 多个方案并行测试;
  • 每个方案只有一个变量不同;
  • 以某种规则优胜劣汰。

事实上,完全可以设计多个方案进行测试,比如A B C测试,“AB测试”这个名字只是一个习惯的叫法。A/B测试需要将多个不同的版本展现给不同的用户,即需要一个“分流"的环节。分流可以在客户端做,也可以在服务器端做。传统的AB测试- -般是在服务端分流的,即基于后端的A/B测试(Back-end AB test)。当用户的请求到达服务器时,服务器根据一定的规则,给不同的用户返回不同的版本,同时记录数据的工作也在服务端完成。

基于前端的A/B测试的监控的粒度则更细一些,能够定位到具体的用户。利用前端JavaScript方法,在客户端进行分流,同时可以用JavaScript记录下用户的鼠标行为,甚至键盘行为,直接发送到对应的打点服务器。这样的好处是不需要技术部(如果前端工程师与后端工程师分属不同部门)参与,并且可以比较精确地记录下用户在页面上的每一个行为,甚至包括后端方法难以记录到的无效点击。

对于大部分需求来说,我们希望各个版本的访问人数平均分配。解决办法有很多种,比如根据某一个Cookie ID来划分用户,这需要为每一个用户植入-一个全局不重复的Cookie ID,因为规则是自定义的,所以可以根据CookieID的规则对流量进行切分。比如单数的显示A版本,偶数的显示B版本。因为Cookie ID 一般设定后不会轻易改变,但不足之处就是如果用户浏览器不支持Cookie, 则分流就不能正常进行了。不过,现代浏览器默认情况下都是支持Cookie的,所以如果出现这种小概率的情况,我们也可以在处理样本时忽略。

还有一点需要注意的是,A/B测试的页面必须有较高的UV,即独立访客数,因为分流带有一定的随机性,如果页面UV太小,分到每-一个版本的人数就更少,结果很有可能被一些偶然因素影响。而UV较大时,根据大数定理,我们得到的结果会接近于真实数据。

对于微服务的场景,我们可以使用网关进行分流,分流之后就可以定向采集需要的数据。采集的数据根据业务分析的需要,包括用户的浏览器版本、点击事件的搁置、点击的时间、访问的URL信息等。将采集到的数据存储到大数据平台,以供需要分析的部门进行二次加工分析。

静态代码分析

在软件开发过程中,开发团队往往要花费大量的时间和精力发现并修改代码缺陷。静态代码分析(static code analysis) 工具能够在代码构建过程中帮助开发人员快速、有效地定位代码缺陷并及时纠正这些问题,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性,找出代码隐藏的错误和缺陷,如参数不匹配、有歧义的嵌套语句、错误的递归、非法计算、可能出现的空指针引用等。从而极大地提高软件可靠性并节省软件开发和测试成本。

常用的分析工具包括Checkstyle、FindBugs、 PMD等,下面我们来一起认识一下这些工具。

向微服务最深处进军!自动化测试和质量管理全解析,继续强化锤炼

 

SonarQube 质量监控

Sonar ( SonarQube)是一个开源平台,用于管理源代码的质量。Sonar 不只是一个质量数据报告工具,更是代码质量管理平台。通过插件机制,Sonar 可以集成不同的测试工具,代码分析工具,以及持续集成工具。

与持续集成工具(例如,Hudson/Jenkins 等)不同,Sonar 并不是简单地把不同的代码检查工具(例如,FindBugs、 PMD等)结果直接显示在Web页面上,而是通过不同的插件对这些结果进行再加工处理,通过量化的方式度量代码质量的变化,从而可以方便地对不同规模和种类的工程进行代码质量管理。

在对其他工具的支持方面,Sonar不仅提供了对IDE的支持,可以在Eclipse 和IntelliJ IDEA这些工具里联机查看结果;同时Sonar 对大量的持续集成工具提供了接口支持,可以很方便地在持续集成中使用Sonar。

此外,Sonar ( SonarQube)的插件还可以对Java以外的其他编程语言提供支持,对国际化及报告文档化也有良好的支持,支持的语言包括Java、PHP、C#、C、Cobol、PL/SQL、Flex等。

SonarQube可以从多个维度检测代码质量,包括以下维度。

  • 复杂度分布(complexity): 代码复杂度过高将难以理解、难以维护。
  • 重复代码(duplications): 程序中包含大量复制粘贴的代码是质量低下的表现。
  • 单元测试(unittests):统计并展示单元测试覆盖率。
  • 编码规范(coding rules):通过FindBugs、PMD、CheckStyle 等规范代码编写。
  • 注释(comments): 少了可读性差,多了看起来费劲。
  • 潜在的Bug (potential bugs):通过FindBugs、PMD、CheckStyle 等检测潜在的Bug。
  • 结构与设计(architecture & design):依赖、耦合等。

后记

不论是自动化测试,还是质量管理,都只是一种实现手段;它们真正存在的价值在于提高代码质量和提高产品的持续交付能力。

在现在的软件开发过程中,能够自动化地实现测试和质量管理是非常重要的,既节省了测试和质量管理人员的成本,也提高了整体软件构建的速度,在AI大行其道的今天,必将成为微服务生态闭环中非常重要一个环节。

喜欢文章请多多点赞评论转发,关注小编,你们的支持就是小编最大的动力!!!

基于k8s构建高可用的微服务环境并实现自动化测试 2020QECon全球软件质量&效能大会,自动化专场余超先生做的基于k8s构建高可用的微服务环境并实现自动化测试报告的PPT文档,分享给大家! 立即下载

相关推荐

微服务架构下的自动化测试和持续集成工具链

微服务架构下的自动化测试和持续集成工具链

微服务场景下的自动化测试

微服务和传统的单块应用相比,在测试策略上,会有一些不太一样的地方。简单来说,在微服务架构中,测试的层次变得更多,而且对环境的搭建要求更高。比如对单块应用,在一个机器上就可以setup出所有的依赖,但是在微服务场景下,由于依赖的服务往往很多,要搭建一个完整的环境非常困难,这对团队的DevOps的能力也有比较高的要求。 相对于单块来说,微服务架构具有以下特点: 每个微服务在物理上分属不同进

qq_19674905的博客 1139

智慧矿山无人机空地一体化解决方案

未来,随着技术的不断进步和应用场景的不断拓展,智慧矿山无人机空地一体化解决方案将在矿业领域发挥更加重要的作用,为矿山的可持续发展提供更加有力的保障。该系统能够实现矿山的全方位、全天候监测与管理,提升矿山生产效率,降低安全风险,并为矿山的可持续发展提供有力支持。智慧矿山无人机空地一体化解决方案是当前矿业领域技术创新的重要方向,旨在通过集成无人机技术、物联网、大数据、人工智能等先进技术,实现矿山的智能化、高效化和安全化运营。在矿山爆破、挖掘等危险作业中,无人机可进行远程监控和指挥,降低人员安全风险。

专注多旋翼、复合翼无人机技术研究,从事低空经济行业。 1110

十分钟自动执行一次_「自动化测试」微服务自动化测试简介

什么是微服务?微服务 - 也称为微服务架构 - 是一种构建方式,它将应用程序构建为松散耦合服务的集合,具有完整的业务功能。微服务架构允许连续交付/部署大型复杂应用程序。本文将概述自动微服务测试工具和最佳实践。它还使组织能够发展其技术堆栈。微服务逐渐用于创建更大,更复杂的应用程序,这些应用程序作为较小服务的组合得到更好的开发和管理,这些服务可以协同工作以实现更重要的应用程序范围的功能。大而复杂的应用...

weixin_39673471的博客 489

红外避障模块介绍

该传感器模块对环境光线适应能力强,其具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,绿色指示灯会亮起,同时信号输出接回输出数字信号(一个低电平信号),可通过电位器旋钮调节检测距离,有效距离范围2~30cm,工作电压为3.3v-5v。该模块测距离2~~30cm,检测角度35°,检测距离可以通过电位器进行调节,顺时针调电位器,检测距离增加;1.VCC外接3.3v-5v电压(可以直接与5v单片机和3.3v单片机相连).

weixin_46251230的博客 2万+

怎样自己亲手搭建一个四比特加法器

如何用三极管搭建一个四比特加法器 一、前言 作为大一上学期第一个大作业,最终还是拖到了冬学期的第八周,从第七周的周六开始,一直到第八周周五上午课上展示,中间连续熬了好几天的夜,另外,白天凡是有时间都用在研究它了,最终大约是用了30个小时,完成了这个四比特加法器的“从零到一”。 最终,小组得分92,个人分数100(贡献比35%),也不枉自己投入的心血 二、器材 电阻 1 包(10kΩ×100,1kΩ×50) 三极管 1 包(9013×100,LED×6) 跳线 3 短 1.5 长 电源 1 个 USB 线

qq_34771124的博客 1万+

面向微服务的自动化测试框架

     如果你是一名测试工程师,你可能在过去一年左右听到了更多关于微服务的信息。这并不奇怪,因为许多软件公司也正在转向更“微服务”的创建软件的方式。这不可避免地带来了很多挑战,特别是如何在微服务世界中实现自动化测试。      “微服务”是软件架构中增加的另一个术语。微服务架构风格涉及开发单个应用程序,这些应用程序可以作为一套小型服务一起工作,每个应用程序都运行在其单个进程中,并与轻量级机...

良月柒 2711

pytorch搭建SSAE实现预测分类代码模板完整代码

pytorch搭建SSAE实现预测分类代码模板完整代码

325

向微服务最深处进军!自动化测试和质量管理全解析,继续强化锤炼(2)

当然也包括测试用户界面的风格是否满足客户要求,文字是否正确,页面美工是否好看,文字、图片组合是否完美,背景是否美观,操作是否友好,等等。UI测试还可确保UI中的对象按照预期的方式运行,并符合公司或行业的标准,包括用户友好性、人性化、易操作性测试。对于API的测试,根据不同团队的不同情况,如果测试人员的编码能力强,则建议使用编码的方式进行,方便与持续集成系统进行集成。在微服务中,测试是一个非常重要的环节,相比于常见的三层测试金字塔,在微服务场景下,这个层次可以被扩展为5层,如下图所示。

qd520_1314的博客 437

拉曼光谱入门:10.显微拉曼与共聚焦技术

本文系统阐述了显微拉曼光谱技术与共聚焦原理的融合机制,详细解析了从激光激发、针孔空间滤波到光谱采集的完整光路架构,阐明了共聚焦设计在提升三维空间分辨率、抑制荧光背景及实现微区无损层析方面的核心优势,并探讨了关键光学器件的性能边界与系统技术局限。

qq_53529450的博客 167

OpenClaw 预置技能完全指南

OpenClaw 技能(Skills)是扩展 AI 助手能力的插件系统。🔐 管理密码和敏感信息(1Password)📝 操作 Apple Notes 和 Reminders🔍 实时搜索互联网(Brave Search)🎨 生成和编辑图片(Nano Banana Pro)📧 收发邮件(Himalaya)🏠 控制智能家居(OpenHue、Eight Sleep)💬 发送消息(iMessage、WhatsApp、Slack)🎵 控制音乐播放(Spotify、Sonos)

Maynor的博客 1703

腾讯T4架构师谈微服务:SpringBoot+Cloud+Dcker可能是2020最全的

前言 最近几年,微服务可谓是大行其道。在业务模型不完善,超大规模流量的冲击的情况下,许多企业纷纷抛弃了传统的单体架构,拥抱微服务。这种模式具备独立开发、独立部署、可扩展性、可重用性的优点的同时,也带来这样一个问题:开发、运维的复杂性提高。有人感觉微服务越做越不方便管理。 然而,随着 Docker 容器技术和自动化运维等相关技术发展,微服务变得更容易维护。因此,未来微服务的发展只会越来越完善,成为将...

如果频繁就私信一下呢 749

什么是 SAP Build Process Automation?

SAP Build Process Automation 是一款综合性的低代码工具,允许企业用户快速开发和自动化端到端业务流程。它整合了工作流管理、任务自动化和人工智能技术,提供了一个易于使用的平台,帮助企业更好地应对现代商业挑战。通过该工具,用户无需具备深厚的编程技能即可创建复杂的业务流程。例如,用户可以使用直观的拖放式界面设计流程、设置触发条件、定义任务分配规则,并通过内置的分析功能对流程效率进行评估。流程建模与设计:提供图形化界面,帮助用户直观地设计业务流程。任务自动化。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1259

laravel yii thinkphp 框架对比_php7和php5有什么不同之处?php5与php7之间的对比

点击蓝字关注我们!每天获取最新的编程小知识!源 /php中文网 源 /www.php.cn这篇文章给大家介绍的内容是关于php7和php5有什么不同之处?php5与php7之间的对比,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。PHP7来一发PHP7正式发布到现在已经一年半了,刚出道就号称比旧版本快了几倍,各种开源框架或系统运行在PHP7上速度效率提高了几...

weixin_39815410的博客 370

晶闸管选型参数,结构原理,工艺与注意问题总结

闸管(Thyristor)是一种半导体开关器件,也被称为可控硅整流器(SCR, Silicon Controlled Rectifier)。它可以在高电压和大电流条件下工作,常被用于交流电的控制和整流。本文对晶闸管的工作原理,结构特点,工艺流程,选型参数及设计注意事项进行总结。

fydar的博客 1284

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

01-探索式测试简介

软件测试业界有一本很有名的书《探索式软件测试》,作者是美国的詹姆斯.惠特 克,微软卓越测试部门总监阿伦.培为之做序。 何为探索性测试(exploratory test),即完全抛开预设的测试脚本(用例)的 测试。 测试人员在测试应用程序中看似天马行空,自由发挥不受限制,但是对于有经验 并且熟练掌握探索式测试方法的人员来说,这种测试方法非常强大有效。 在敏捷开发模式中,探索性测试发挥了重大作用,受到了业界的极大重视。 《Google软件测试之道》4.6 章节中,Google ...

一分耕耘一分收获 438

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

一站式自动化测试平台 http://www.Autotestplat.com

Autotestplat 一站式自动化测试平台及解决方案 自动化平台开发 3.1 自动化平台开发方案 3.1.1 功能需求 支持 API、AppUI、WebUI 性能等自动化测试,集成实现测试用例管理、产品管理、任务计划、测试报告、定 时任务或持续集成等功能模块。使自动化测试的过程达到数据、脚本、任务分离易于维护和管理,成本更低、数 据更直观、产出更快等目标,甚至能让不会代码的手工业务测试...

zouhui1003it的专栏 1677

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

携程微服务架构下的测试浅谈

一、前言在现在这个互联网时代,多变的市场环境以及日益增长的客户需求,加速了产品的迭代和更新。传统的单体式应用已经因跟不上发展的步伐而逐渐退出历史的舞台,取而代之的是SOA...

Docker的专栏 508

python+robotframework 实战微服务车辆管理接口之自动化测试

2020年3月2日早7点记:研究这些自动化也有一段时间,今天给大家整理下我的工作思路,并附上实战代码,希望能帮助到有需要的人,同时自己也完成总结,实现知识的自我升华. 持续更新中…………敬请期待 ...

zy50721235的博客 488

微服务可靠性测试_通过自动化测试保障微服务的质量

测试是保证质量的关键措施,关于测试,下面有一些共识: · 尽可能让测试自动化。自动化测试可以减少对于历史功能的测试疏漏,加快测试执行过程,提高测试过程中发现问题的修复闭环效率。自动化测试以代码提交为起点,通过流水线的方式顺序执行单元测试、服务测试、端到端测试[1]。尽管手工测试很多情况仍然是不可避免的,也建议通过文档的方式,对手工测试用例进行管理,在合适的测试环节能够重复这些测试过程。· 平均故障...

weixin_42402730的博客 500

软件测试自动化的最新趋势

本文将回顾 2018 年的趋势,并阐述对 2019 年的期望。 过去几年,QA 行业的一个持续趋势是测试自动化和持续测试。这一趋势也将在 2019 年继续下去。虽然 CI/CD、DevOps 和测试框架在未来一年仍将是突出的主题,但一些新技术正在影响我们测试的内容和测试方法。 人们期待在 JavaScript 领域看到更多的开源测试框架,在使用的工具中嵌入更多的人工智能功能,以及来自商业工具供...

cpongo011702 364

关于微服务应用的自动化测试平台(一)

本文是我的同事丽丽姐2018年11月29日发表于公众号“CI智创未来”的一篇文章,特为大家转载分享   关于微服务 微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,每个服务运行在其独立的进程中,服务间采用轻量级通信机制互相沟通(通常是基于HTTP协议的RESTful API)。每个服务都围绕着具体的业务进行构建,并且能够被独立部署到生产环境、测试环境。 从微服务的概念可以...

alva_xu的博客 1016

微服务架构—自动化测试全链路设计

背景 被忽视的软件工程环节 - DEVTESTOPS 微服务架构下测试复杂度和效率问题 开发阶段 unitTest mock 外部依赖 连调阶段 mock 外部依赖 自动化测试阶段 mock 需求 autoTest Mock Gateway 浮出水面 轻量级版本实现 整体逻辑架构 将 mock parameter 纳入服务框架标准 request contract 使用 AOP + ...

dengzai7446的博客 586
上一篇: 八年CRUD,疫情备战三个月,三面头条、四面阿里拿offer面经分享
下一篇: 如何培养架构师思维?看十年架构师为你量身打造学习计划,真干货
Java领域指导者
博客等级 码龄7年 404粉丝 265原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值