这里记录过去一周我们看到的软件测试及周边的行业动态,周五发布。

本周刊开源(GitHub: SoftwareTestingWeekly ),欢迎提交 issue,投稿或推荐软件测试相关的内容。

 

文章

1. 前端和后端因为接口吵起来啦,还列了 5 宗罪

前端布道师

image.png

前端列出了后端开发的 5 宗罪:

  • 罪状一:没有文档
  • 罪状二:文档不全
  • 罪状三:接口参数没校验
  • 罪状四:没保证接口原子性
  • 罪状五:接口问题不断

 

2. 测试工程师的分类:质检员和QA

圆小豆的美梦工场

 

测试的工作可以简单抽象为两类:

  • 质检员:工作模式都是事后验证,输入(软件/用例/数据)→判断→输出(通过/不通过),工作目标是确保生产出来的软件质量没问题
  • QA:能对质量进行事前干预,没有固定的工作模式,工作目标是确保能生产出满足品质需求的软件

image.png

进一步细分的话可以分为:

  • 测试:设计并执行测试用例
  • 测试开发:以自动化的方式设计和执行测试,工作内容既有测试又有开发
  • 质量保障/质量分析:事前干预、过程中分析和事后改进,关注质量产生的过程和结果
  • 质量经理/总监:管理质量和质量相关资源(人和物)
  • 不同质量领域的测试:性能测试、安全测试、Web/无线测试
  • 不同业务领域的测试:大数据测试、AI测试、测试运维

3. 51 张图助你彻底掌握 HTTP 协议

码海

 

image.png

作者借用 51 张图,全面剖析 HTTP 的设计理念,助你彻底掌握 HTTP。

 

4. 一种无线端测试平台化最佳实践

阿里技术质量

 

一种无线自动化测试平台实践,无需编写脚本,无需搭建本地工程环境,全程可视化界面操作,即使不懂自动化脚本编程也能完成任务配置,致力于用较小的成本投入和维护自动化。

image.png

 

工具

1. 标星18K开源免费的数据库管理工具 - DBeaver

image.png

DBeaver 一款基于Java 开发,免费开源的通用数据库管理和开发工具 。

DBeaver 的功能特性相当丰富,包括

  • 丰富的数据编辑器,元数据编辑器、SQL编辑器,ERD,数据导出/导入/迁移,执行SQL查询和脚本等
  • 基于Eclipse平台
  • 支持以下数据库:MySQL、PostgreSQL、MariaDB、SQLite、Oracle、Db2、SQL Server、Sybase、MS Access、Teradata、Firebird、Derby 等等

 

Github地址:https://github.com/dbeaver/dbeaver

2. 自动将swagger文档转成.jmx文件

 

使用此工具可以将 swagger 文档一键转成 jmx 文件,要不要试一下?

 

Github:https://github.com/Pactortester/swaggerjmx

 

image.png

3. 1 万 Star !自称“最牛叉的”负载测试工具

开源前哨

image.png

k6 是一个免费、开源、高性能的负载测试工具,能有效提高性能测试的生产力。它总结了Load Impact在负载和性能测试行业的多年经验,提供了简洁、方便的脚本API,支持本地和云端执行,可进行灵活的配置。

 

GitHub: https://github.com/loadimpact/k6

 

k6 支持以下功能特性:

 

1、 使用基于 ES6 语法的编写脚本:支持模块化,以便更好地实现代码复用

2、 所有的东西都是代码:为了版本控制更友好,测试逻辑和配置选项都在JS脚本中

3、 友好:检查和阈值的存在,使得持续化配置构建更加容易

4、 支持HTTP1、HTTP2、WebSocket和gRPC协议

5、 支持TLS:配置客户端证书、SSL/TLS版本以及加密套件

6、 内置支持了很多特性:Cookies、加密、自定义指标、编码、环境变量、JSON、HTML表单等

7、 内置HAR转换器:将浏览器搜集的网络信息har文件直接转换为k6脚本

方法

1. 来自Airbnb、Netflix等公司的代码评审最佳实践

InfoQ

  1. 为什么要进行代码评审?
    • 首要目的:评审引用的变化的质量;
    • 有助于加速团队之间的学习,为所有团队成员创造心理安全;
    • 还有助于建立和交流最佳实践,教授适当的沟通,并提高团队活力。
  1. 评审代码变更时要注意:
    • 是否完全满足任务需求;
    • 新代码是否适应现有架构;
    • 简单性 / 过度工程化;
    • 是否有安全和性能问题;
    • 可读性、风格、最佳实践、日志记录、异常处理;
    • 可测试性 / 测试覆盖率;
  1. 代码评审是一种团队提升的工具
    • 通过让每个人的代码都接受同行评审,代码评审过程促进了个人的责任感、健康的冲突以及每个人都在一起努力使产品变得更好的想法。
    • 免费的职业发展培训——仅仅通过评审别人的代码,你就能更熟练地阅读和理解新代码。
  1. 评审代码时需要注意人性化和措辞
    • “全面快速的代码评审需要技术技能。但除此之外,代码评审也是一种沟通、教学和学习的形式。无论是作为代码的作者还是评审者,在沟通中考虑周到可以使代码评审对每个人都更有价值。"
    • 代码评审的核心是,你在向你的同事提供反馈,虽然可能很难。但是接受反馈更难。你团队中的每个人都在努力做到最好,所以在传递信息时要小心。

2. 如何快速完成一个拿得出手的汇报方案

PM圈子

 

为了能实现对这个模糊目标的拆解、论证、分析以及设计,一个好方案应该包含如下结构

 

  • 现状调研:业务现状、当前痛点、主要需求、预期目标
  • 相关分析:组织架构、职能分工、协作模式
  • 方案设计:工作识别、一级流程、二级流程
  • 工作计划:里程碑、详细计划、问题风险

image.png

3. 如何进行数据迁移测试?

51STE软件测试部落

 

迁移测试是一种将旧系统迁移到新系统的验证过程,以最小的中断/停机时间,实现数据完整性和无数据丢失,同时确保在应用程序运行后满足应用程序的所有指定功能和非功能方面的要求。

 

应用程序迁移到新系统的原因可能多种多样,包括系统整合,技术过时,优化或任何其他原因。

 

需要确保:

  1. 需要避免/尽量减小由于迁移而给用户造成的任何类型的干扰或不便,例如:停机,数据丢失。
  2. 尽量不给用户带来损害或仅很小的损害,确保用户是否可以继续使用软件的所有功能。例如:功能的改变,某个特定功能的删除。
  3. 预测并排除在真实系统实际迁移期间可能发生的所有可能的故障/障碍也很重要。

 

几个原则:

  • 确保新的/升级的应用程序与旧版应用程序支持的所有可能的硬件和软件兼容。此外,还应该针对新的硬件、软件平台测试新的兼容性。
  • 为了确保所有现有功能都可以在旧版应用程序中正常工作。与旧应用程序相比,新应用程序的工作方式不应发生任何变化。
  • 由于迁移而产生大量缺陷的可能性非常高。许多缺陷通常与数据有关,因此需要在测试过程中识别并修复这些缺陷。
  • 确保新的/升级应用程序的系统响应时间等于或小于对旧应用程序的响应时间。
  • 确保服务器、硬件、软件等之间的连接完好无损,并且在测试过程中不会中断。在任何情况下,不同组件之间的数据流都不应中断。

 

测试策略:

  • 组成专家测试团队
  • 分析可能的错误和风险
  • 识别迁移范围
  • 确定测试工具
  • 准备环境、审查文档
  • 制定待办事项清单

言论

1、

这就有点尴尬了...

image.png

2、

怎么说离职原因新的公司比较能接受?

image.png

图片

image.png

 

订阅

本周刊每周五发布,会同步更新在微信公众号

微信搜索“毕小烦”或者扫描下面的二维码,即可订阅。

image.png

如果文章对你有帮助,请随手点个赞吧!

(完)

  •  
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐