软件测试周刊(第61期):内心强大的人都有三个共性「不和他人作比较」「不对他人有期待」「不批判他人」
今天是 2022年03月04日,欢迎来到第 61 期!这里记录过去一周我们看到的软件测试及周边的行业动态,周五发布。
本期看点:测试人员如何开展功能安全测试?字节服务端接口测试智能解决方案;Cucumber + Selenium自动化测试的优秀实践;开发规约的意义与细则;构建Navid质量框架的5大支柱;前端新手应该知道的模块化知识;怎么把战略变成目标,再把目标变成任务分配下去?如何在一次核打击中生存下来?
·
阅读愉快!
🐞 软件测试
1. 测试人员如何开展功能安全测试?
随着信息社会的不断进步,信息安全的重要性日渐突出,安全测试与功能测试一样,在软件测试过程中,是一个非常重要的测试环节。
那什么是安全测试?为何进行安全测试?在工作过程中,如何开展安全测试呢?
原文地址: |
2. 字节服务端接口测试智能解决方案
业界主要通过接口测试框架或 diff 平台来实现接口测试自动化,前者实现了用例的执行能力,后者在原始流量回放的基础上实现了的 diff 断言能力。
但是,在测试用例生成、用例执行、结果断言、问题定位等高人力成本的环节,尚未有较完整的解决方案或能力的打通融合,这也是质量团队人效提升的关键瓶颈。
ByQI 的诞生,就是期望以智能化手段解决传统服务端接口测试所面临的如下问题:
手工构造用例覆盖度低,丰富度受限于经验值;
人力成本及维护成本高,测试流程中需要大量的人工介入;
数据消费质量差:测试与研发流程未形成闭环,RD 问题定位困难;
实际测试中,有大量有价值数据未得到充分挖掘利用。
ByQI 致力于实现服务端接口验证的全流程无人值守闭环,即提供用例生成、用例执行、结果断言、问题定位的全流程能力;并充分利用 AI 模型学习能力,深度挖掘测试流程中的历史数据,以真正实现对服务端接口的智能化、自动化闭环测试。
原文地址: |
3. Cucumber + Selenium自动化测试的优秀实践
Cucumber 是一个面向 BDD 的优秀测试工具,使用 Gherkin 的纯文本功能描述来运行验收测试。
使用 Cucumber BDD 框架的最大收益是:
在开发实现之前,测试首先就被记录下来。
对于不了解功能的用户都很容易理解测试。
它有效地结合了自动化测试,是一个可以执行的、有关需求的活文档。
本文介绍了一些 Cucumber + Selenium 自动化测试的优秀实践,通过这些实践,会让你对行为驱动开发(BDD)有一个更清晰的认知。
原文地址: |
🐴 质量效能
1. 开发规约的意义与细则
众所周知,制订交通法规表面上是要限制行车权,实际上是保障公众的人身安全。试想如果没有限速,没有红绿灯,没有靠右行驶条款,谁还敢上路。
同理,对软件来说,开发规约绝不是消灭代码内容的创造性、优雅性,而是限制过度个性化,推行相对标准化,以一种普遍认可的方式一起做事。
开发规约的目标是:
码出高效:标准统一,提升沟通效率和研发效能。
码出质量:防患未然,提升质量意识和系统可维护性,降低故障率。
码出情怀:工匠精神,追求极致的卓越精神,打磨精品代码。
开发规约从无到有,只是短期的目标;使大家遵守开发规约的成本极大降低,发布上线的应用符合开发规约是中期目标;而远期目标是从有到无,因为人人自觉遵守,规约和谐地融入代码的字里行间,规约似乎消失了,但又无处不在。
作者根据团队现状,制定了一系列团队开发规约,本文从开发规约之道、术、法进行了介绍。
原文地址: |
2. 构建Navid质量框架的5大支柱
Navid Nader-Rezvani 根据她在敏捷团队的质量咨询经验,提炼出一个敏捷质量框架,也叫 Navid 的质量支柱(NQPs,Navid's Quality Pillars):
简单点讲,就是从团队建设、代码质量、基建能力、专项质量和客户体验这 5 个方面构建起的质量框架。
支柱 1:团队建设和敏捷实践。
强调敏捷是一个团队的活动,而质量需要团队来负责。
因此需要开展敏捷全功能团队的建设和敏捷标准化的实践,包含不同角色的职责培养和人员能力建设。
支柱 2:代码质量和架构
强调代码的整洁度和架构的模块化,有利于采用更优的测试策略,也益于获得更高的质量。
提倡静态和动态的代码分析、遵循一致的代码规范等。
支柱 3:敏捷生产力和质量赋能利器
采用流水线实现标准化流程和部署基础设施的配置,跟高度的自动化(测试)结合;
同时严格执行质量门禁,以获取更高的效率和质量。
支柱 4:非功能领域能力
提倡要集成各种非功能领域能力到产品开发过程中,需要团队对所有非功能质量负责。
通过定期评估 -> 排出优先级 -> 制定改进项,实现非功能领域能力的持续提升。
支柱 5:客户成功
要时刻铭记客户的诉求,从提升客户满意度的角度考虑所做的任何一项工作。
建议关注:
NPS 的影响因素:修复的缺陷数、平均故障恢复时间)、定期处理客户关注的热点问题等;
客户参与迭代评审、新特性和关键 bug 的验收、以及必要的探索式测试等;
产品升级、新产品的安装等相关的客户体验;
影响总拥有成本的主要因素(如:部署)。
原文地址: |
🦧 技术同频
1. 无法忍受不做单元测试和内卷,我离开了 TikTok
最近,一位曾在一家在美中企(TikTok)工作了一年多的华裔,在 YouTube 上发布了一个视频,从五个方面总结了他从中国企业里学到的经验。
第一点:很多西方企业都会写单元测试,每个人都知道这是非常基本的事情。但这里的中国工程师们不需要编写单元测试!每项代码提交都指望 QA 部门的手动测试,团队在提交之前手动测试每个 code commit 提交。
第二点:在中国企业,很少见到一对一式的会议,因为扩展性太差了。各个团队内部很少进一步细分,所以需要跟更多同事开展交互。经常见到那种典型的、自上而下的会议,一开就是 90 多分钟,期间 60 多人同时参会。大多数情况下,都是 1 个人在前面讲、剩下的人在翻看会议资料。很少有欧美公司里常见的那种畅谈会或者讨论会。
第三点:为了防止猎头挖人,这里并不公布明确的组织结构体系。组织结构高度扁平,某些工程经理需要接手 200 多份绩效评估报告(未经划分!)。
第四点:从流程与执行上来说,中国企业里的屁事不多,大家都在低头忙工作,很少会去传闲话或者搞道德评判。另一方面,中国企业在流程设计上还不够成熟。文档与改进团队的同事们无论做得多好,但很难得到激励。也没人审查工程师们的代码。
第五点:从工作与生活的平衡上来说,美国团队不需要 996,但要求必须适应中国时区。这真挺难的,也是造成人员流失的主要原因。
原文地址: |
2. 前端新手应该知道的模块化知识
为什么需要模块化?
因为可以:
减少全局变量污染
控制依赖
增强代码的可维护性
增加代码的复用性
分治思想的实践
模块化标准的现状以及演变历史是怎样的?
原文地址: |
🦉 持续成长
1.怎么把战略变成目标,再把目标变成任务分配下去?
原文地址: |
2. 如何在一次核打击中生存下来?
目前世界上现存的热核武器有几百枚,而其中最大的核武器比 1945 年投到广岛和长崎的威力要大几千倍。如果几千枚这样的炸弹同时爆炸,会发生什么?
只要核武器存在,就有永远会有被使用的风险。因为“回荡在人类历史上最持久的声音就是擂擂的战鼓声”。
如何在一次核打击中生存下来?
一. 提前准备
做好计划。如果真的发生核打击,你需要在避难所待上至少48个小时,待得越久越好。预备好食物和医疗用品能让你安心。
存储不易腐烂的食物。 白米、小麦、豆类、糖、蜂蜜、燕麦、面条、奶粉、脱水水果和蔬菜等。
储存水。用食用级塑料容器来装水。用漂白剂把容器洗干净, 给每个人每天预备大约4升水。给水消毒得预备漂白剂和碘化钾。
准备通讯设备。需要:收音机(收通知)、哨子(求救)、手机。
准备医疗用品。简易的急救药箱、急救指导手册、处方药。
其它物品。手电筒和电池、防尘面具(口罩)、塑料布和管道胶带、垃圾袋、塑料线扣和湿纸巾、扳手和钳子,用来关闭气体阀门和水龙头开关。
时刻关注新闻
分析风险和考虑在核战争发生时如何撤离。
了解不同类型的核武器:原子弹(A-Bombs)、氢弹(H-Bombs)
二. 生存下来
除了正式的地缘政治警告,你所收到的第一个核袭击警告很可能是防空警报声和其它警告标志。
记住辐射可以导致大量死亡。
了解放射性颗粒的种类。阿尔法粒子。贝塔粒子。伽马粒子。
做好准备在避难所待上至少200个小时(8-9天)。在最开始的48小时内,无论如何不要离开避难所。
定量分配供给。
穿戴上你所有的衣物、帽子、手套、护目镜、袖口衬衫等等,特别是在户外,以防止贝塔射线灼伤。
治疗辐射和热灼伤。
做好有后续袭击的准备。
最后:
任何东西都要先清洗,特别是食物,哪怕是避难所内的食物也要洗干净才吃。
不要让别人知道你有什么东西和有多少东西。
除非你有防护服,否则不要外出,而且必须小心其它核武器和坦克。
预先建造一个家庭防空洞。
袭击后你找到的任何东西必须先用沸水煮过。
原文地址: https://zh.wikihow.com/在一次核打击中生存下来 |
🐙 拥抱开源
1. timg:开源的终端图像和视频查看器
如果你想在不离开终端的情况下快速的查看图片、动图、视频,这很有用。
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" --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
如果文章对你有帮助,记得留言、点赞、加关注哦!
(完)