查看原文
其他

软件测试周刊(第61期):内心强大的人都有三个共性「不和他人作比较」「不对他人有期待」「不批判他人」

毕小烦 毕小烦 2022-03-07

今天是 2022年03月04日,欢迎来到第 61 期!这里记录过去一周我们看到的软件测试及周边的行业动态,周五发布。

本期看点:测试人员如何开展功能安全测试?字节服务端接口测试智能解决方案;Cucumber + Selenium自动化测试的优秀实践;开发规约的意义与细则;构建Navid质量框架的5大支柱;前端新手应该知道的模块化知识;怎么把战略变成目标,再把目标变成任务分配下去?如何在一次核打击中生存下来?

·

阅读愉快!

🐞 软件测试

1. 测试人员如何开展功能安全测试?

随着信息社会的不断进步,信息安全的重要性日渐突出,安全测试与功能测试一样,在软件测试过程中,是一个非常重要的测试环节。


那什么是安全测试?为何进行安全测试?在工作过程中,如何开展安全测试呢?


原文地址:

https://mp.weixin.qq.com/s/klAvlbKRQl4Bz7xMVjun4w

2. 字节服务端接口测试智能解决方案


业界主要通过接口测试框架或 diff 平台来实现接口测试自动化,前者实现了用例的执行能力,后者在原始流量回放的基础上实现了的 diff 断言能力。


但是,在测试用例生成、用例执行、结果断言、问题定位等高人力成本的环节,尚未有较完整的解决方案或能力的打通融合,这也是质量团队人效提升的关键瓶颈。


ByQI 的诞生,就是期望以智能化手段解决传统服务端接口测试所面临的如下问题:

  • 手工构造用例覆盖度低,丰富度受限于经验值;

  • 人力成本及维护成本高,测试流程中需要大量的人工介入;

  • 数据消费质量差:测试与研发流程未形成闭环,RD 问题定位困难;

  • 实际测试中,有大量有价值数据未得到充分挖掘利用。


ByQI 致力于实现服务端接口验证的全流程无人值守闭环,即提供用例生成、用例执行、结果断言、问题定位的全流程能力;并充分利用 AI 模型学习能力,深度挖掘测试流程中的历史数据,以真正实现对服务端接口的智能化、自动化闭环测试


原文地址:

https://mp.weixin.qq.com/s/5DjtE9zk1lj9NNRQjJ-Lew

3. Cucumber + Selenium自动化测试的优秀实践

Cucumber 是一个面向 BDD 的优秀测试工具,使用 Gherkin 的纯文本功能描述来运行验收测试。


使用 Cucumber BDD 框架的最大收益是:

  • 在开发实现之前,测试首先就被记录下来。

  • 对于不了解功能的用户都很容易理解测试。

  • 它有效地结合了自动化测试,是一个可以执行的、有关需求的活文档。


本文介绍了一些 Cucumber + Selenium 自动化测试的优秀实践,通过这些实践,会让你对行为驱动开发(BDD)有一个更清晰的认知。


原文地址:

https://mp.weixin.qq.com/s/0z6R3woPM7AbT41KwHrI-g

🐴 质量效能

1. 开发规约的意义与细则

众所周知,制订交通法规表面上是要限制行车权,实际上是保障公众的人身安全。试想如果没有限速,没有红绿灯,没有靠右行驶条款,谁还敢上路。


同理,对软件来说,开发规约绝不是消灭代码内容的创造性、优雅性,而是限制过度个性化,推行相对标准化,以一种普遍认可的方式一起做事。


开发规约的目标是:


  1. 码出高效:标准统一,提升沟通效率和研发效能。

  2. 码出质量:防患未然,提升质量意识和系统可维护性,降低故障率。

  1. 码出情怀:工匠精神,追求极致的卓越精神,打磨精品代码。


开发规约从无到有,只是短期的目标;使大家遵守开发规约的成本极大降低,发布上线的应用符合开发规约是中期目标;而远期目标是从有到无,因为人人自觉遵守,规约和谐地融入代码的字里行间,规约似乎消失了,但又无处不在。


作者根据团队现状,制定了一系列团队开发规约,本文从开发规约之道、术、法进行了介绍。


原文地址:

https://mp.weixin.qq.com/s/SagEntaNsC6Z3f23prl-pA

2. 构建Navid质量框架的5大支柱

Navid Nader-Rezvani 根据她在敏捷团队的质量咨询经验,提炼出一个敏捷质量框架,也叫 Navid 的质量支柱(NQPs,Navid's Quality Pillars):

简单点讲,就是从团队建设、代码质量、基建能力、专项质量和客户体验这 5 个方面构建起的质量框架。


支柱 1:团队建设和敏捷实践。

  • 强调敏捷是一个团队的活动,而质量需要团队来负责。

  • 因此需要开展敏捷全功能团队的建设和敏捷标准化的实践,包含不同角色的职责培养和人员能力建设。


支柱 2:代码质量和架构

  • 强调代码的整洁度和架构的模块化,有利于采用更优的测试策略,也益于获得更高的质量。

  • 提倡静态和动态的代码分析、遵循一致的代码规范等。


支柱 3:敏捷生产力和质量赋能利器

  • 采用流水线实现标准化流程和部署基础设施的配置,跟高度的自动化(测试)结合;

  • 同时严格执行质量门禁,以获取更高的效率和质量。


支柱 4:非功能领域能力

  • 提倡要集成各种非功能领域能力到产品开发过程中,需要团队对所有非功能质量负责。

  • 通过定期评估 -> 排出优先级 -> 制定改进项,实现非功能领域能力的持续提升。


支柱 5:客户成功

  • 要时刻铭记客户的诉求,从提升客户满意度的角度考虑所做的任何一项工作。

  • 建议关注:

    • NPS 的影响因素:修复的缺陷数、平均故障恢复时间)、定期处理客户关注的热点问题等;

    • 客户参与迭代评审、新特性和关键 bug 的验收、以及必要的探索式测试等;

    • 产品升级、新产品的安装等相关的客户体验;

    • 影响总拥有成本的主要因素(如:部署)。


原文地址:

https://mp.weixin.qq.com/s/26xkfF8BiN_FEATIr4n-jg

🦧 技术同频

1. 无法忍受不做单元测试和内卷,我离开了 TikTok

最近,一位曾在一家在美中企(TikTok)工作了一年多的华裔,在 YouTube 上发布了一个视频,从五个方面总结了他从中国企业里学到的经验。


第一点:很多西方企业都会写单元测试,每个人都知道这是非常基本的事情。但这里的中国工程师们不需要编写单元测试!每项代码提交都指望 QA 部门的手动测试,团队在提交之前手动测试每个 code commit 提交。


第二点:在中国企业,很少见到一对一式的会议,因为扩展性太差了。各个团队内部很少进一步细分,所以需要跟更多同事开展交互。经常见到那种典型的、自上而下的会议,一开就是 90 多分钟,期间 60 多人同时参会。大多数情况下,都是 1 个人在前面讲、剩下的人在翻看会议资料。很少有欧美公司里常见的那种畅谈会或者讨论会。


第三点:为了防止猎头挖人,这里并不公布明确的组织结构体系。组织结构高度扁平,某些工程经理需要接手 200 多份绩效评估报告(未经划分!)。


第四点:从流程与执行上来说,中国企业里的屁事不多,大家都在低头忙工作,很少会去传闲话或者搞道德评判。另一方面,中国企业在流程设计上还不够成熟。文档与改进团队的同事们无论做得多好,但很难得到激励。也没人审查工程师们的代码。


第五点:从工作与生活的平衡上来说,美国团队不需要 996,但要求必须适应中国时区。这真挺难的,也是造成人员流失的主要原因。


原文地址:

https://mp.weixin.qq.com/s/EFMhFazZGVAoKkfwegm_TQ

2. 前端新手应该知道的模块化知识

为什么需要模块化?


因为可以:

  • 减少全局变量污染

  • 控制依赖

  • 增强代码的可维护性

  • 增加代码的复用性

  • 分治思想的实践


模块化标准的现状以及演变历史是怎样的?


原文地址:

https://mp.weixin.qq.com/s/tVy0meFSWUysGYTX_DmlBg

🦉 持续成长

1.怎么把战略变成目标,再把目标变成任务分配下去?


原文地址:

https://mp.weixin.qq.com/s/GBsseZBnVc6lwqH-hKuiVw

2. 如何在一次核打击中生存下来?


目前世界上现存的热核武器有几百枚,而其中最大的核武器比 1945 年投到广岛和长崎的威力要大几千倍。如果几千枚这样的炸弹同时爆炸,会发生什么?


只要核武器存在,就有永远会有被使用的风险。因为“回荡在人类历史上最持久的声音就是擂擂的战鼓声”。


如何在一次核打击中生存下来?


一. 提前准备


  1. 做好计划。如果真的发生核打击,你需要在避难所待上至少48个小时,待得越久越好。预备好食物和医疗用品能让你安心。

  2. 存储不易腐烂的食物。 白米、小麦、豆类、糖、蜂蜜、燕麦、面条、奶粉、脱水水果和蔬菜等。

  1. 储存水。用食用级塑料容器来装水。用漂白剂把容器洗干净, 给每个人每天预备大约4升水。给水消毒得预备漂白剂和碘化钾。

  2. 准备通讯设备。需要:收音机(收通知)、哨子(求救)、手机。

  1. 准备医疗用品。简易的急救药箱、急救指导手册、处方药。

  2. 其它物品。手电筒和电池、防尘面具(口罩)、塑料布和管道胶带、垃圾袋、塑料线扣和湿纸巾、扳手和钳子,用来关闭气体阀门和水龙头开关。

  1. 时刻关注新闻

  2. 分析风险和考虑在核战争发生时如何撤离。

  1. 了解不同类型的核武器:原子弹(A-Bombs)、氢弹(H-Bombs)


二. 生存下来


  1. 除了正式的地缘政治警告,你所收到的第一个核袭击警告很可能是防空警报声和其它警告标志。

  2. 记住辐射可以导致大量死亡。

  1. 了解放射性颗粒的种类。阿尔法粒子。贝塔粒子。伽马粒子。

  2. 做好准备在避难所待上至少200个小时(8-9天)。在最开始的48小时内,无论如何不要离开避难所。

  1. 定量分配供给。

  2. 穿戴上你所有的衣物、帽子、手套、护目镜、袖口衬衫等等,特别是在户外,以防止贝塔射线灼伤。

  1. 治疗辐射和热灼伤。

  2. 做好有后续袭击的准备。


最后:

  • 任何东西都要先清洗,特别是食物,哪怕是避难所内的食物也要洗干净才吃。

  • 不要让别人知道你有什么东西和有多少东西。

  • 除非你有防护服,否则不要外出,而且必须小心其它核武器和坦克。

  • 预先建造一个家庭防空洞。

  • 袭击后你找到的任何东西必须先用沸水煮过。

    原文地址:

    https://zh.wikihow.com/在一次核打击中生存下来

    🐙 拥抱开源

    1. timg:开源的终端图像和视频查看器

    如果你想在不离开终端的情况下快速的查看图片、动图、视频,这很有用。


    timg some-image.jpg #显示静态图片
    timg -g50x50 some-image.jpg #显示适合50x50像素框的图片

    #多张图片

    timg * .jpg #显示所有*.jpg图片


    开源地址:

    https://github.com/hzeller/timg



    2. OctoSQL:用 SQL 的方式查询多个数据源的命令行工具

    支持用 SQL 查询 CSV、JSON 文件和多种数据库中的数据,甚至可以在它们之间自由 JOIN。


    octosql "SELECT * FROM ./myfile.json"
    octosql "SELECT * FROM ./myfile.json" --describe # Show the schema of the file.
    octosql "SELECT invoices.id, address, amount
    FROM invoices.csv JOIN db.customers ON invoices.customer_id = customers.id
    ORDER BY amount DESC"
    octosql "SELECT customer_id, SUM(amount)
    FROM invoices.csv
    GROUP BY customer_id"

    开源地址:

    https://github.com/cube2222/octosql

    言论

    1、告诉大家一个真相:内心强大的人都有三个共性「不和他人作比较」「不对他人有期待」「不批判他人」。而内心脆弱的人则是相反,因为太在意他人,所以容易被他人所影响,我之前心态像豆腐一样脆弱,但靠着时常注意这三点终于恢复了平常心,一定要把注意放在自己身上。—— sszsahiro_lif

    2、理论派就是知道原理,却什么都做不出来。实践派就是做出结果,但没人知道为什么。我们的实验室则融合了理论与实践;什么都做不出来,也没人知道为什么。


    -- 爱因斯坦

    3、当你亲手做出一个小雪团(核心)之后,放在雪地里一滚,这个小雪团就会附着、吸收周围很多的雪,你最终将收获一个大雪球;

    而如果你只是漫无目的地在雪地里踱步,走得再勤快,你的收获也只有鞋底的一点点而已。

    图片

    1、

    当你计划跟朋友一起旅行...

    2、

    所有程序的梦想:0 error(s), 0 warning(s)


    | 编辑:一口锅、静怡、小淑子、哲宇、夏至、CC、Silvery、holiday


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


    (完)

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存