栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

2021-10-04 测试体系简记

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-10-04 测试体系简记

测试流程体系

这两天看了培训视频,做一下简单的总结内容

1、一般情况的服务访问

用户 —> 端(H5/native/web) —> 网关 ---- >(负载均衡) —> 微服务集群(依赖服务集群、大数据计算架构、数据库等存储)

正常的肯定比这个复杂,此处简单介绍几个点:
网关、负载均衡

  • 网关 :
    • 功能
      ① 基础的负载均衡
      ② 映射
      前端映射到网关地址1,网关地址2 映射到后台访问的服务,从而实现前端后台之间的访问关联
      也避免了前端修改内容,后台需要变更,后台更改内容,前端需要变更的情况,前端多对一,后台一对多,从而更好地实现前后端隔离
      ③ 部分网关具有加密SDK
      由于协议都会走网关,例如密码等内容,通过抓包是可以获取到的,或者需要制定一个加密规则进行加密,而部分网关具有加密功能,可以使用网关自带的加密SDK,在内容发送出来之前,就已经加密
  • 负载均衡
    • 功能
      均衡负载
      例如,每台服务器,最大支持5W请求,现有50W请求量,我们可以增加设备,并根据不同的服务器性能设置负载量,从而使每台服务器的性能都在合理范围内
2、 测试迭代

这个图,感觉挺不错的,直接拿来用了

在这里,学到两个词:测试左移,测试右移
左移:偏研发
右移:偏交付
也就是说,测试的技能,不单单是只和测试相关,还可以扩展到开发、交付层级,同时也说明,测试的技能面可能会更广,上升空间更大,对测试人员本身的要求也就更高

这里就涉及到几个常见的测试流程了:
敏捷开发
持续集成
持续交付
DevOps

其实最终目的都是希望开发交付上线时更快速

  • 敏捷开发
    原则:
    ①:递增。将大的目标分解为小的目标,通过持续完成小的任务,最终实现完整的需求
    ②避免不必要的开销。认为面对面沟通比书面沟通更加快捷有效,减少不必要的书面文档内容,将更多的时间投入到产品的研发中
    ③:协作。

  • DevOps
    首次将运维加入到研发过程中
    运维的中心思想是保证稳定性,但是项目的持续发布,就会导致不稳定,与运维的思想相矛盾,此时出现了DevOps

  • 持续集成、持续交付、持续部署

    其中
    实现持续集成的重要工具是:Jenkins
    实现持续交付、持续部署重要工具是:docker

目前,由于追求的交付更快,会给测试带来更多的测试压力,交付快,意味着测试时间的压缩。
持续交付的三大支柱:
持续集成、自动化测试、自动部署
压力也带来提升,基本可以看到,测试现在不仅限与基础的功能测试,大家招聘的要求也越来越高,反向逼迫测试人员技术能力的提升

3、测试关键技术体系

这里我也不懂,我只能拿别人的来直接展示

4、交付流程

APP客户端发布

  1. 内部测试交付
    Jenkins自动打包,打包完成后,会有自动通知,在Jenkins上可以拿到最新的下载包,测试团队可以进行对应的手工测试
  2. 灰度交付
    内部测试完成后,会减小用户量,回复发布,方式很多,如test flight、灰度比设置,并且可以通过bugly等工具,对发布后产生的问题进行追踪
  3. 正式发布(全量)
    Android:上传渠道包
    iOS:上传到AppStore

后台发布
这里不太懂,直接给PPT截图吧

5、合理的测试安排

由于最近在新公司,功能测试,每天加班迭代,正好看到这个,觉得有点道理,就贴出来了,可以看看,求同存异

其中,新功能测试,目前来说,还是需要人工手动点点点来验证,但是回归测试,小版本、大版本测试,是不是可以通过自动化,来实现用例分层,从而减少测试人员手动点点点的时间,从而达到更快的交付呢???

❖策略改进⽅案

  • 使⽤分层测试策略,控制UI⾃动化测试规模
  • 少数核⼼⽤例交给⾃动化测试
  • ⼤部分的基础回归测试交给⾃动遍历
  • 新功能测试交给⼈⼯测试

❖技术改进⽅案

  • 良好的维护模型:PageObject或者其他更简单的封装
  • 更好的框架⽀持:增加Watch,智能等待,失败重试等机制
6、自动化测试
  • 流程自动化
    • 打包自动化(Jenkins)
    • 环境自动化(Docker)
  • 测试自动化
    • UI自动化(selenium、appium……)
    • 接口自动化(restassured、soapUI、requests……)
    • 专项自动化(LeakCanary、BlockCanary……)

很多测试人员在学习的时候,包括我自己,可能学习的时候,更多的侧重于测试自动化中的UI自动化以及接口自动化。对于流程自动化其实考虑的会比较少,这个地方是一个遗漏点。
其次就是专项自动化。特别是在移动端测试时,很多人会考虑电量的测试,兼容的测试等等,但是大多数都没有往自动化这方面想,这也是一个欠缺的地方。
包括UI自动化、接口自动化,很多人用selenium、appium、requests,其实只是因为这个比较主流,但是没有自己真正去调研一下为什么这些工具用起来更好更方便。
以上,是值得让我自己反思的地方

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/291642.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号