分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.net

测试左移和测试右移模型

对软件产品而言,传统的质量模式通过测试左移和测试右移被赋予更多的内涵,也承担起更多的职责。

测试左移:测试左移,本质上是借助工具和测试手段更早地发现问题和预防问题。

  • 需求:对需求、架构和设计模型的测试;
  • 开发:着重增加对单元、组件和服务层的测试;
  • 持续测试:自动化测试。

■ 测试右移:对测试同学来说,版本上线后需要持续关注线上监控和预警,及时发现问题并跟进解决,将影响范围降到最低。

  • 灰度发布:新版本线上测试;
  • 监控:合理的性能监测、数据监控和预警机制;
  • 用户反馈:线上问题处理、跟踪机制。

测试左移如何落地?

1. 测试任务跟踪

测试任务跟踪,不仅仅只是跟踪测试本身的工作,还需要介入到需求、技术方案、编码的全过程。只有前序每一步都跟踪到位,才能尽量避免测试过程中的不可控因素,从而保证产品质量。

测试同学的任务其实是不好度量和跟踪的,但是MeterSphere开源持续测试平台为我们解决了这个痛点。测试计划、测试用例、执行情况等都可以在MeterSphere平台上直观地看到,做到了“让数据为质量说话”。

2. 建立代码分支管理规范

开发同学在编码过程中,经常会因为环境不够用、或者代码被覆盖等问题而烦恼。对于敏捷开发模式的团队,需求多、分支多是常态,怎样让开发测试有序地协同工作,规范分支管理流程是必要的。

3. Sonar代码质量检测

Sonar是可视化的代码质量检查平台,支持的语言包括PHP、Java、Python、C#等,包含项目、问题、代码规则、质量配置、质量阀和配置五个模块。

以下是项目执行情况的概览,每个项目名称代表一个项目,项目检查的结果简单呈现在项目首页概览中,包含Bug数量、漏洞数量、不规范、单元覆盖率、代码重复度等维度。

我们通常会将Sonar发现的问题以Bug的方式提交给开发团队,要求致命、严重级别的Bug必须修改,并跟踪解决进度。在实际的运用过程中,也会根据项目实际情况调整质量阀门,以避免误报等情况出现。

4. 持续测试:基于Metersphere平台实现接口自动化

接口测试提前接入,通过YApi管理接口文档,开发同学在需求评审后即进入技术设计与接口设计阶段,测试同学则根据接口文档进行Mock测试。

基于MeterSphere开源持续测试平台,我们实现了测试工作的自动化。提测后自动化测试接口通过率,提前发现问题,有效提升测试效率。

MeterSphere持续测试平台采用开源可扩展框架,实现了测试跟踪、接口自动化、性能自动化的全覆盖,特别适合创业团队。从测试团队的角度看,MeterSphere平台既能切实地提升产品质量和测试效率,又解决了自研自动化框架人力不足的痛点。

同时,MeterSphere支持与Jenkins的集成,每次有新的代码提交后,平台自动触发环境部署和接口自动化Job执行,并发送邮件通知,实现了主流程功能的回归测试,提升测试效率。

测试右移如何落地?

1. 灰度发布

使用灰度发布方式,新版本上线后先更新部分服务器,测试人员先进行验收通过后,再全量发布。这样一来,尽可能地避免了测试和正式环境配置不一致、数据库更新不及时等不确定因素引起的问题。

2. 服务监控

对于测试人员来说,服务上线后仍然需要关注服务的运行情况,以便在出现系统问题时能够快速做出反应,将影响降至最低。在这一环节,我们引入了Zabbix系统检测工具,实时监控系统硬件资源使用情况。同时设置报警通知,将异常情况第一时间通知给相关负责人。

Zabbix通过调用ODBC来获取数据库的数据,以及数据库状态等信息;通过IPMI Agent 监控硬件设备,例如Dell或者HP服务器的主板温度、CPU电压、盖子是不是被打开等;通过JMX Agent监控Java JVM,例如Tomcat;通过追踪模拟鼠标在Web网站上的点击操作,来检查Web网站的功能和响应时间。

3. 用户反馈

“用户就是上帝”。任何产品的成功与否,都取决于用户。为此,我们建立了完善的用户反馈处理机制:对于用户反馈的问题,第一时间进行修复上线;针对用户提出的建议,结合实际情况对产品进行打磨和优化。

专项测试

■ 安全

保证邮箱数据的安全性,是产品研发的一个重要环节。数据面临的安全威胁来自于多个方面,如何有效地保护数据的保密性、完整性、可用性和真实性,邮箱团队一直在不断地升级和优化。这部分的工作主要涉及系统安全加固、数据库加密、全链路传输加密、反作弊策略、反黑策略、反入侵策略、安全管理、反商业泄密等。

■ 性能

1. 接口层面

根据用户量预期,制定系统性能要求,再构造数据借助JMeter对系统进行持续压测,测试系统的极限处理能力,以及最佳处理能力。

同时,将部分主要流程性脚本通过MeterSphere开源持续测试平台建立自动化性能测试任务,每次版本升级后自动执行稳定性测试,大大提升了测试效率,也能在早期发现问题并解决问题,进一步提升产品质量。

2. Web页面

从资源加载时间、页面渲染、接口调用逻辑多方面分析Web页面性能。这这方面,通过http://www.webpagetest.org工具,测试首页资源加载、接口响应时长、页面渲染时间等数据记录页面性能。

从不限于以下不同维度的测试数据分析页面性能,并给出合理的改进措施:

  • 多次测试取平均值
  • 是否有缓存数据
  • SSL握手时间
  • 接口响应时间
  • 接口调用合理性(并行、串行、重复请求)
  • 资源优化
  • 弱网

MeterSphere使用体会

对于创业者来说,时间少任务重是常态,反复地手工测试让人精疲力竭,要着手去写自动化代码,又需要投入大量的人力,让人应接不暇。我们团队引入MeterSphere工具之后产生了非常好的效果。

现在来总结一下MeterSphere持续测试平台的优点:

  • 它规范了测试用例,测试计划可追溯,任务执行情况一目了然,团队合作变得高效;
  • 接口测试上手成本低,将接口用例与部署平台结合,每次有新代码部署后,都自动执行自动化脚本,在保证质量的同时提升了效率;
  • 性能测试提供图形化可视界面,且保留历史数据,方便追溯,性能结果一目了然;
  • 开源!开源!开源!

MeterSphere项目还在持续不断优化和改进,如果能增加以下些功能就更好啦:

  • 增加UI自动化模块;
  • 增加性能测试数据的对比功能,方便稳定性测试数据的对比;
  • 场景支持在接口中调用,方便用例的组合测试,减少写重复接口。

对于测试团队来说,保证产品质量,测试左移和测试右移都是非常重要的突破方向,有助于全方位提升研发测试效能。

什么是测试左移和测试右移,如何落地?相关推荐

  1. 一文搞懂测试左移和测试右移

    软件测试技术应当贯穿整个软件开发生命周期.对软件产品(包括阶段性产品)进行验证和确认的活动过程,其核心目标是尽快尽早地发现软件产品中所存在的各种问题 bug-- 与用户需求.预先定义的不一致性. 然而 ...

  2. 顶级辅助之测试左移与测试右移

    为什么我把测试工作做得挺好的,线上环境还会出Bug?这些Bug可能是因为当初设计时就有的漏洞,也可能是部署不当带来的问题. 测试就不能做点什么改变这种被动的现状吗?有,你需要践行测试左移和测试右移. ...

  3. DevOps模式下测试左移和测试右移

    一.什么是DevOps模式 可以参看我的上一篇文章:什么是DevOps模式,本文主要介绍DevOps模式下测试左移和测试右移可以做的事项有哪些~ 二.测试左移内容 2.1 PRD评审 这一点相信很多测 ...

  4. 都在说测试左移和右移,只有这篇文章说明白了

    大家熟悉的测试工作(也是传统的瀑布式),是接到项目后参与需求评审,然后根据需求文档写写用例和准备脚本,等开发提测之后正式开始测试.提bug.回归,测试通过后就结束了,项目交给运维上线,之后投入下一个项 ...

  5. 【软件测试】敏捷方法与测试左移

    文章目录 敏捷方法 测试左移 测试左移与DevOps 敏捷方法 当敏捷开发方法(Agile Development Methods)出现时,人们认为它们"最适合约 50 人或更小的团队,这些 ...

  6. 【软件测试】8年资深测试,聊一聊测试技术的厚度......

    目录:导读 前言 一.Python编程入门到精通 二.接口自动化项目实战 三.Web自动化项目实战 四.App自动化项目实战 五.一线大厂简历 六.测试开发DevOps体系 七.常用自动化测试工具 八 ...

  7. 敏捷开发流程下的测试(一)敏捷测试核心

    敏捷开发下的测试(一)敏捷测试核心 本文是参考ThoughtWork冰玉老师(https://blog.csdn.net/bingyulin)讲的敏捷课程加上自己的理解写的,想听原版可以关注Thong ...

  8. 阿里10年测试大佬带你搞懂测试左移和右移

    看到我们论坛一个测试开发知识体系,对于测试左移和右移, 有点不太懂,看了2篇文章,强行提笔总结了下,还有部分内容是直接翻译的.关于测试左移和右移.测试左移中提到了尽早的发现问题.以及持续集成.尽可能的 ...

  9. 测试左移和右移:不是左右逢源而是左右突击

    持续测试是在软件交付生命周期过程中,以防控业务风险为目的,将每一个业务交付阶段都辅以测试活动进行质量保障,并尽最大可能自动化,通过测试结果不断的反馈给制品过程的测试实践活动.随着持续测试实践的广泛应用 ...

最新文章

  1. GPU与CPU交互技术
  2. php5.3 php7兼容,Centos搭建PHP7.0.x让php5.3和php7兼容共存教程
  3. koa中使用cookie 和session
  4. Mysql中大表添加索引的办法
  5. 欧式期权matlab编码蒙特卡罗方法,基于MATLAB的金融工程方法与实践第七章 基于蒙特卡洛方法的期权定价.ppt...
  6. Error: Visual Inheritance is currently disabled because the base … (NET CF)
  7. C++基础学习7:new/delete操作符
  8. Vue (二) --- Vue对象提供的属性功能
  9. jqgrid 编辑列拿不到值_德云社十大杰出学霸,岳云鹏赫然在列,小岳岳你这是否有点牵强...
  10. javascript-流程控制-循环-分支-三元运算符
  11. python复现感知机的二分类算法
  12. fabric监控linux自动化运维,自动化运维之Fabric系列(一)小试牛刀
  13. xNFT Protocol完成天使轮和A轮融资,LD Capital、Fundamental Labs分别领投
  14. Proxy(代理,拦截器),Reflect(反射)
  15. wxpython播放视频_使用wxpython显示网络摄像头视频闪烁
  16. 随机森林树的特点--摘抄笔记
  17. 常用adb命令学习:查看和修改设备的输入法
  18. python 函数enumerate用法
  19. 另一个小程序 返回的支付结果如何得到_微信小程序商城的开发商家需要注意什么?...
  20. 基于51单片机的DAC0832波形发生器

热门文章

  1. 尚品汇后台管理系统完成
  2. C语言 函数中返回数组
  3. 洛谷——P2640 神秘磁石
  4. 基于深度模型Out of Distribution(OOD)基础技术路线研究
  5. MaxCompute执行引擎核心技术DAG揭秘
  6. linux 学习网站
  7. 【Python】Bezier曲线插值反解控制顶点
  8. 杜比ac3专利已于2017年3月到期
  9. 这些大学虽然不是985,却备受国企青睐考上就业不愁
  10. AHOI/JSOI 2014 骑士游戏 题解