软件测试周刊(第40期):大部分的恐惧与懒惰有关

Posted 毕小烦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件测试周刊(第40期):大部分的恐惧与懒惰有关相关的知识,希望对你有一定的参考价值。

编辑:国薇、一口锅、菜菜、静怡、小淑子、夏至

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

本期看点:测试人员如何高效参与技术设计评审?更加深入的性能数据分析应该怎么做?模糊测试和变异测试你能分清楚吗?对比看一下?如何提高一个研发团队的代码速度?如何写出优雅的代码?产品经理到底需不需要懂技术?什么是一流的管理?

·

阅读愉快!

测试

1. 测试人员如何高效参与技术设计评审?

张元(转转QA)

QA 为什么要参与技术设计评审?

  • 纠正项目成员对需求的错误理解
  • 为测试方案提供依据
  • 有效的评估影响范围
  • 有效的评估风险点

通过参与设计评审,QA 能够深入理解技术的实现方案,有助于制定合理的测试方案。同时,通过不断的实践,QA 也能在设计评审时,提出一些合理的建议,帮助项目更高效、更高质的完成,提升 QA 在整个项目中的影响力。

如何高效参与技术设计评审?

【评审前】提前准备 -- 结合需求文档,理解技术设计文档,有问题提前做好批注。

【评审中】重点关注 -- 技术设计是否满足需求、涉及的接口、测试范围

【评审后】积极跟进 -- 做好待办事情的跟进,完成测试方案的设计。

评审中的关注点:

(1)流程图/系统间交互图:可以清晰的展示此次需求的业务流程和系统间的信息传递;

(2)配置类功能:设计中哪些是配置实现的,各种配置、缓存、mq、定时任务等;

(3)数据库设计:数据库的库表结构,关键字段的描述;

(4)设计是否完整:是否覆盖了产品需求文档中要求的功能,避免遗漏;

(5)关注接口的修改/新增/第三方接口/对外提供接口

(6)影响范围的评估:明确此次需求改动影响的范围是什么,需要做哪些场景回归;

(7)分析是否具备可测性:分析模块是否具备可测性;明确不可测试的地方的质量把控方案;

(8)核心接口性能指标:是否需要对核心接口做性能测试;

原文地址:

QA如何高效参与技术设计评审

2. 深入性能测试数据分析

望舒(酷家乐技术质量)

进行性能测试时,一些常用的技术指标能够发现大部分常见问题,但是有一些不够明显的性能异常可能需要做更深入的分析。

本文详细记录了一些性能场景下相关数据分析方法及思路,对不够明显的数据变动做深入性能分析,从而发现性能问题。

原文地址:

深入性能测试数据分析

3. 对比与理解:模糊测试(fuzzing)与变异测试(mutation)

洋葱米(字节跳动技术质量)

谈到模糊测试(Fuzzing)与变异测试(Mutation),在很多场合下这两个概念会被混为一谈,可能很多人分不清它们究竟有什么区别。

他们之间的相同点在于,这两种方法都是通过改变某些东西来引入变化,从而实现检测「系统,接口,服务,测试用例集,etc.」的稳定性与有效性。

Fuzzing:

模糊测试 (fuzz testing, fuzzing)是一种软件测试技术。其核心思想是将自动或半自动生成的随机数据输入到一个程序中,并监视程序异常,如崩溃,断言(assertion)失败,以发现可能的程序错误,比如内存泄漏。模糊测试常常用于检测软件或计算机系统的安全漏洞。

Mutation:

Mutation testing (or mutation analysis or program mutation) is used to design new software tests and evaluate the quality of existing software tests.

二者的核心区别可以总结为以下两点:

  • 二者改变的对象不同:Fuzzing 改变程序输入;而 Mutation 改变程序代码本身;
  • 二者的测试目的不同:Fuzzing 是为了找出程序可能的 bug;而 Mutation 是为了检验测试用例集合的有效性和完备性,从而定位程序中的 bug。

原文地址:

对比与理解:模糊测试(fuzzing)与变异测试(mutation)

质效

1. 如何提高一个研发团队的“代码速度”?

南门

什么是代码速度(Code Velocity)?

代码速度是指,一段代码变更,从 git 里的 commit time,到在生产环境里运行,中间经过了多少时间。换句话说,代码从写完开始,多快能到达生产环境。

为什么要度量和提高代码速度?

代码速度体现的是一个研发团队快速响应业务需求的能力。

如何提高代码速度?

  1. 能频繁地把代码合回 master
  2. 非常强大的跑回归的能力
  1. 一键部署乃至无人值守发布的能力
  2. 把大项目拆成小项目做的能力

原文地址:

如何提高一个研发团队的“代码速度”?

2. VUCA 时代,敏捷团队如何提升效能?

陈庆敏

什么是 VUCA?

VUCA 指的是不稳定(volatile)、不确定(uncertain)、复杂(complex)、模糊(ambiguous)。

用一句话概括就是,我们所处的这个时代,任何事情都在变化,随时都有改变发生,即使是以拥抱变化著称的敏捷团队,身处多变的环境,也需要不断优化管理,应对变化。

而应对变化最强有力的手段之一便是提高团队效能。

如何提高团队效能?

首先,在整个团队内要有一种共同的使命感;

其次,人们必须从他们的领导者那里获得授权,可以自主地工作来实现团队目标;

最后,人们需要空间和机会去精通他们的领域,而不是仅仅学习如何做到“刚好”。

总结一下,目标是团队“想不想”,动力是团队“愿不愿”,能力是团队“能不能”,团队只有想做这件事情,自愿做这件事情,有能力做这件事情,团队才能发挥高效能的状态。

原文地址:

VUCA时代,敏捷团队如何提升效能?

技术

1. 如何写出优雅的代码?

淘系技术

我们编写的代码,除了用于机器执行产生我们预期的效果以外,更多的时候是给人读的,这个读代码的可能是后来的维护人员,更多时候是一段时间后的作者本人。

什么是优雅的代码?

  • 所谓优雅,相对应的是坑。只有见过足够多的坑,才会形成自己的编码理念。
  • 整洁的代码不一定是好代码,但好代码一定是整洁的。
  • 命名的重要性要大于注释,注释不是万能的,好的函数命名比写一大段注释易读的多。
  • 优雅的代码必然包含以下一些特性:容易理解,便于阅读、测试及其维护,还能够具备良好的扩展性,命名清晰,注释完善等等。

如何能够写出优雅整洁且不让人【哔——】的代码?

原文地址:

如何写出优雅的代码?

2. 产品经理到底需不需要懂技术?

钱冰沁

懂技术对产品经理有什么好处?

01. 更快的建立信任感

在合作时具备同理心。产品同学也可以互相理解技术同学的辛苦和难处。特别是在变动技术底层,或是需求变更造成的返工是产品同学无法想象的巨大调整。

02. 了解可行性,平衡需求和技术的矛盾

虽说「没有实现不了的需求」,但是放在特定的项目环境以及有限的资源下,完全不考虑技术的可行性并非最优解,所以我们在方案设计阶段就需要考虑到技术的可行性、复杂度和局限性。

03. 快速判断需求的复杂程度

对于需求的分拆不能仅局限于UI和前端,需求是否牵涉到服务端,改动过程中是否牵扯到复杂的逻辑调整,都需要产品经理在第一时间做出判断和预估,分析影响面。

04. 提高自己的效率

在稍微懂点技术知识的背景下,可以自己动手写几条 select 语句就能查到自己想要的数据,效率高并且数据实时,不比天天麻烦开发和测试。



 

原文地址:

产品经理到底需不需要懂技术?

成长

1. 一流管理,只讲常识,一切不谈常识的管理,都是天方夜谭。

牟小姝

任正非懂管理吗?半懂不懂。这是他自己说的。

任正非多次坦言:“在时代前面,我越来越不懂技术、越来越不懂财务、半懂不懂管理。从事组织建设成了我后来的追求,如何组织起千军万马,这对我来说是天大的难题。”

那,他懂什么?

两个字:常识对常识的探索,对常识的敬畏,对常识的坚守。

什么是常识?

常识,就是那些被时间反复验证的一套规律。它广泛存在于我们生活的周围,构建了这个世界的运转体系。

大自然的优胜劣汰是常识,技术的迭代是常识,人性的欲望是常识,每个行业也有自己的行业常识。

那华为的常识是什么?

  1. 以客户为中心:面向客户而生,否则便死。
  2. 论功行赏:
    1. 就像农民种地一样,种下就有收获,奋斗不需要理由;
    2. 企业不可能让奋斗者没有回报,世间自有公道、付出终有回报。说到不如做到,要做就做更好。

更多请看:

一流管理,只讲常识

2. 假如现在你有 30 分钟,你会做什么?

禚娴静

我们每天的时间段可以划分为三类:黄金时间(高效时间)、常规时间(固定时间)与碎片时间(无规律时间)。

不同的时间适合做不同类型的事情:

原文地址:

假如现在你有30分钟,你会做什么?

开源

1. 腾讯开源的《代码安全指南》

这是一本面向开发人员梳理的代码安全指南,旨在梳理 API 层面的风险点并提供详实可行的安全编码方案。

理念:

基于 DevSecOps 理念,希望用开发者更易懂的方式阐述安全编码方案,引导从源头规避漏洞。

场景:

  • 开发人员日常参考
  • 编写安全系统扫描策略
  • 安全组件开发
  • 漏洞修复指引

开源地址:

GitHub - Tencent/secguide: 面向开发人员梳理的代码安全指南

2. 开源跨平台的投屏软件:Macast

Macast 是一个跨平台的菜单栏\\状态栏应用,支持 macOS、Windows、Debian,用户可以使用电脑接收发送自手机的视频、图片和音乐,支持主流视频音乐软件和其他任何符合 DLNA 协议的投屏软件。

开源地址:

https://github.com/xfangfang/Macast

言论

1、

大部分的恐惧与懒惰有关。

| M·斯科特·派克

2、

大劫大难之后人不该失去锐气,不该失去热度,你镇定了但仍在燃烧,你平稳了却更加浩荡。

| 史铁生

3、

就像谈恋爱一样,不合理,就是不知道为啥能跑;
就像失恋一样,很合理,但是就是不知道为啥无法运行 。 -- 程序员那些破事

4、

遇事别被情绪控制,优先处理问题。

图片

1、初学者 VS 专业

2、前端 VS 后端

订阅

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

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

如果文章对你有帮助,记得留言、点赞、加关注哦!

(完)

以上是关于软件测试周刊(第40期):大部分的恐惧与懒惰有关的主要内容,如果未能解决你的问题,请参考以下文章

软件测试周刊(第20期):恐惧,来自只思考却不行动

Go语言爱好者周刊:第 12 期

奇舞周刊第 264 期:GraphQL 数据聚合层

软件测试周刊(第67期):用一颗浏览的心,去看待人生,一切的得与失隐与显,都是风景与风情。

软件测试周刊(第63期):凡是持久的,必是温和的与可持续的。

软件测试周刊(第67期):用一颗浏览的心,去看待人生,一切的得与失隐与显,都是风景与风情。