软件测试周刊(第11期):飞狗
作者:互联网
这里记录过去一周我们看到的软件测试及周边的行业动态,周五发布。
本周刊开源(GitHub: SoftwareTestingWeekly ),欢迎提交 issue,投稿或推荐软件测试相关的内容。
科普
飞狗
崔健
崔健发了首新歌,名字叫《飞狗》,很多人说听不懂。但仔细看看,充斥着各种意象、符号、批判、隐喻。
比如,
电脑前的狗、倾斜、倒流、逆天、数字草原、人群、羊。概括一下就是,又“歪”、又“乱”,面对“乌合之众”,既“光怪陆离”,还“头晕目眩”……
还有足够锋利且冒犯的“大人无视、小人颤抖”……
部分歌词如下:
坐在电脑前 像一条狗
数字世界大草原 信息糊口
飞来一个念头 像时间穿越
我和草原一起 逆天行走
逆天行走
逆天行走
逆天行走
逆天行走
居高临下看见 自由的底线
人群被带进 羊群的圈
我如此悬在 颠倒的空间
如同黑洞里的 一条飞狗
如此的飞 不同于想象
如此的飞 不像鸟一样
如此的飞 上上下下
如此的飞 跌跌撞撞
扎堆的人群 没有尽头
干枯的草原 河水倒流
庞然大物 倾斜站立
大人无视 小人颤抖
小人颤抖
...
韭零后
韭零后,网络用语,泛指 1990 年以后出生的,购买基金后暴跌的一群人。是被基金割了韭菜的 90 后的戏称。
同义词:
- 跌妈不认:基金跌到妈都不认识了。
- 一地基茅:用来形容跌的很惨的各种基金和各种"茅"。
文章
1. 对网站进行测试的 9 个要点
前端先锋
我们如何该测试 Web 程序呢?
作者总结了 9 个要点来帮助我们用更短的时间得出更加准确可信的测试结果。
1. 将探索性测试与传统技术结合
探索性测试是测试网站最有效的手段之一,它有助于减少测试时间并发现其他缺陷。
2. 测试第三方应用、扩展和插件
第三方扩展、应用和插件。对于提高 Web 应用的性能、功能和安全至关重要,它们的质量差异可能会很大,所以必须要验证。
3. 跨浏览器兼容性测试
人们喜欢在移动设备上访问网站,因此网站要对移动设备友好,另外还要测试不同浏览器的兼容性。
4. 与开发团队沟通合作
QA 不光要测试,还要确保与开发人员、UED 和产品经理的协作。
5. 永远不要低估完整性测试
完整性测试有助于在有限的时间内评估 Web 应用中的功能,很多人认为完整性测试是回归测试的辅助措施,从而忽略了完整性测试的重要性。
6. 站在黑客的角度思考
为了获得真实的用户体验信息,我们需要模拟用户的操作行为,但这很难,不过通过模仿黑客的行为是可以获得更好的测试结果的。
7. 选择可用性测试的理想参数
可用性测试中一些值得注意的参数是 UI 设计、内容可读性、速度、可访问性和可导航性。
8. 确保 URL 字符串不被篡改
应该评估 Web 应用在维护用户数据和企业数据安全性方面的效率。但是黑客可以通过篡改 URL 将用户重定向到恶意网站或访问敏感数据。
9. 进行持续的负载测试
压力测试有助于评估网站在正常压力和峰值压力条件下的性能。可以利用复杂而全面的自动化测试工具来加速负载测试。
2. 契约测试
刘冉
在一个大型 Web 系统中,各个子系统或者依赖系统之间一般都使用 Web API 来集成,从而导致开发不同子系统或者依赖服务的团队之间也存在不少问题。
其中最大的四个问题是:
- 团队之间业务和技术集成沟通困难;
- 难以快速响应外部需求变化;
- 开发流程责任链混乱;
- Web API 部署到测试环境后才发现集成问题。
这些都属于集成和变更管理的问题,使用契约测试可以很好的解决这四个问题。
什么是契约测试?
契约测试,顾名思义是基于契约或者使用契约来测试被测系统。其核心是契约,包括如何制定、更改和使用契约。
首先定义契约必须有 API 的消费者(Consumer)和 API 的提供者(Provider)两端,其次契约还要包含这个 API 的 Request 和 Response 的定义细节。
如下图所示:
然后再分别使用这个契约里面的内容生成测试用例,来测试消费者对于 Web API 消费代码和提供者对于 Web API 的实现代码。
所以契约测试即测试了一部分接口的功能,也测试一部分集成的功能,但是它却不能完全替代接口测试或者集成测试,因为一般情况下契约测试不会包含所有的业务场景。
因此它们之间的关系应该如下图所示:
契约测试存在哪些问题?
- 无法取代功能性的接口测试或者集成测试
- 沟通,开发和维护成本不低
- 小项目中的 ROI 不高很明显
如何应用契约测试?
- 沟通契约:提供者驱动和消费者驱动
- 编写契约:
-
- 使用工具手动编写契约
- 使用特定的契约测试工具编写代码来动态生成契约。
- 业界最常用的工具是 Pact,Swagger 和 Spring Cloud Contract。
- 管理契约:当生成了大量的契约之后,一定要集中化的管理契约,并且最好能可视化出来。
- 持续测试:将相应的自动化契约测试加入持续构建流水线中进行持续测试。
3. 怎么做可观测性建设?
百度搜索中台
为何要可观测?
在云原生时代,传统的服务架构和研发运维模式正在进行着范式转变。微服务、容器化、FAAS(serverless)等技术从根本上改变了应用的研发模式和运维方式。
但是,云原生架构在带来业务迭代效率指数级提升的同时,也产生了一些新的挑战。
从单体应用往微服务进行的转变导致原本聚焦的系统变得分散,服务与服务之间连接的复杂度迅速提高,我们对系统整体的掌控力也在逐渐变弱。在这种情况下,如何去快速定位异常,做到系统的清晰可视,就成为了极需解决的问题。
什么是可观测性?
可观测性是监控的一个超集。监控关注的是一些具体指标的变化与报警,而可观测性不仅需要提供对分布式系统所有链路运行状况的高级概览,还需要在系统发生问题时提供系统链路细化的分析,让开发和运维同学“理解”系统发生的一切行为。
百度可观测性的基本四个要素:
- 指标监控(Metrics)
- 分布式追踪(Traces)
- 日志查询(Logs)
- 拓扑分析(Topos):从宏观角度去分析问题,与「分布式追踪」从微观角度去看一个请求的完整链路区别开来。
基于上述四要素,百度还孵化了历史快照、智能报警、拒绝分析等应用产品。
拓扑分析应用场景:
比如某个服务 Qps 比平时扩大了数倍,我们需要定位异常流量的源头,就依赖拓扑分析工具。
工具
1. 安卓 Native 内存分析工具 - LoliProfiler
腾讯开源
LoliProfiler 是一款针对安卓项目(游戏或 APP 产品)的 C/C++ 内存分析工具,专为进行内存优化的游戏引擎工程师与游戏测试工程师开发。
功能特性
• 调试器客户端支持Windows7/10,MacOS Mojave以及更新版本
• 可直接调试 Debuggable 的 APP
• 支持挂载到运行中的 APP 上
• 支持多种堆栈回溯技术
• 官方提供游戏引擎优化方案,支持调试大型游戏
• 在越狱设备上可调试发布版程序
• 支持多种数据展示模式:堆栈聚合列表、TreeMap、内存碎片
开源地址:https://github.com/Tencent/loli_profiler
2. 录制 Chrome 浏览器中打开的任何页面 - screenity
前端GitHub
screenity 是一个强大的屏幕录制工具。
它是 Chrome 插件:
- 不需要下载和安装, 它可以录制 Chrome 浏览器中打开的任何页面。
- 允许你对它们进行实时注释,最最关键的一点是,它免费开源,无需注册。
- 录制长度无限制,独立的麦克风和电脑音频控制,能导出为 mp4、gif 和 webm。
开源地址:https://github.com/alyssaxuu/screenity
3. 项目管理的 49 个过程
huanzw
什么是项目管理过程?
项目管理过程就是为了完成某项预定的目标而执行的一系列行动,就项目管理而言,不论项目的大小或复杂程度,所有项目都呈现通用的生命周期结构。
项目的管理定义被分为 5 组(启动→规划→执行→监控→收尾) 49 个过程。
图来自:这里
- 启动过程组:定义一个新项目或现有项目的一个新阶段,授权开始该项目或阶段的过程。
-
- 1. 制定项目章程:批准项目、授权 PM 资源
- 2. 识别相关方:识别相关方/记录权力利益及影响
- 规划过程组:明确项目范围,优化目标,为实现目标制定行为方案的过程。
-
- 3. 制定项目管理计划:将所有子计划整合为综合的计划
- 4. 规划范围管理:为范围管理提供指南
- 5. 收集需求:了解客户想要什么
- 6. 定义范围:定义项目要提供什么
- 7. 创建 WBS:确定项目要做什么
- 8. 规划进度管理:为管理和控制进度提供指南
- 9. 定义活动:确定应采取哪些活动
- 10. 排列活动顺序:确定工作执行的先后顺序
- 11. 估算活动持续时间:估算行动所需时间
- 12. 制定进度计划:制定行动指南,分析活动的关系,创建进度模型
- 13. 规划成本管理:确定估算/管理/控制成本的方法,为成本管理提供指南。
- 14. 估算成本:估算每一项工作所需要的成本
- 15. 制定预算:汇总所有项目活动成本形成的预算
- 16. 规划质量管理:识别可交付成果质量要求和标准
- 17. 规划资源管理:定义如何估算/获取及管理资源
- 18. 估算活动资源:估算执行项目的资源需求
- 19. 规划沟通管理:制定与相关方之间沟通的方法
- 20. 规划风险管理:定义如何实施风险管理活动
- 21. 识别风险:识别并记录项目风险及来源
- 22. 风险定性分析:分析风险概率和影响,并排序
- 23. 风险定量分析:分析风险对项目整体目标的影响
- 24. 规划风险应对:制定风险应对策略及应对行动
- 25. 规划采购管理:记录采购决策/方法并识别卖方
- 26. 规划相关方参与:制定相关方参与项目的方法
- 执行过程组:完成项目管理计划中确定的工作,以满足项目要求的过程。
-
- 27. 指导管理项目工作:为实现目标而开展的工作
- 28. 管理项目知识:利用项目知识实现目标,积累知识
- 29. 管理质量:改进过程并开展质量管理活动
- 30. 获取资源:组建团队并获取实物资源
- 31. 建设团队:改善团队氛围,提高绩效
- 32. 管理团队:跟踪成员表现,解决冲突,优化绩效
- 33. 管理沟通:正确及时传递/管理项目信息
- 34. 实施风险应对:执行商定的风险应对计划
- 35. 实施采购:获取卖方应答/选择并授予合同
- 36. 管理相关方参与:与相关方沟通协作,满足其需求与期望
- 监控过程组:跟踪,审查和调整项目进展与绩效,识别必要的计划变更并启动相应变更的过程。
-
- 37. 监控项目工作:跟踪、审查和报告项目进展
- 38. 整体变更控制:审查变更请求/分析并处理变更
- 39. 确认范围:正式验收已完成的可交付成果
- 40. 控制范围:监督范围状态,不能多不能少
- 41. 控制进度:监督进度状态,维护基准变更
- 42. 控制成本:监督成本使用情况,维护成本基准
- 43. 控制质量:监控质量好坏,确保按要求完成
- 44. 控制资源:监督资源使用情况,确保资源合理分配
- 45. 监督沟通:监督沟通效果,确保满足相关方要求
- 46. 监督风险:督风险,识别新风险,评估风险管理及风险应对效果
- 47. 控制采购:管理采购关系/监督合同绩效/关闭合同
- 48. 监督相关方参与:监督相关方关系,调整计划确保相关方合理参与项目
- 收尾过程组:正式完成或结束项目、阶段或合同所执行的过程。
-
- 49. 结束项目或阶段:移交成果/总结经验/释放团队
方法
1. 如何做产品立项?
BLUES
做产品,起点的灵魂拷问,就是要回答:我们究竟要做什么样的产品?
主要包括四个问题:
- 产品的用户是谁?在哪里?
- 产品能满足用户在哪些场景下的什么需求?或者说产品能解决用户在什么场景下的什么问题?
- 产品的核心能力是什么?和其他产品相比,差异点是什么?
- 产品的边界在哪里?(明确知道什么不做)
每个产品都要有自己的定位,这个定位越简单越清晰越好,最好用一句话就可以讲清楚。
比如:
- “保护你电脑安全的默默无闻的工具”。-- 腾讯电脑管家
- “提供快速简洁浏览体验的效率工具”。-- 手机 QQ 浏览器
在腾讯内部做产品立项,是个极其重要的环节,做什么,与不做什么,就是战略选择。
如何做产品立项,腾讯内部流传着经典的“马氏三问”:
- 第一问:这个新的领域是不是你擅长的?(凭什么就你能做好?)
- 第二问:如果你不做,用户会损失什么吗?(不做锦上添花的事情)
- 第三问:如果做了,在这个新的项目中,你能保持多大的竞争优势?(想得更长远,构建护城河)
2. 如何避免写出很渣的用户故事?
北溟大橘
什么是「渣故事」?
用户故事本质是另一种格式的需求文档。那么什么是渣需求文档?就是你照着它开发, 做出来的东西客户不接受。
为什么会写出「渣故事」?
因为理解不一致。
作为 PO 跟客户沟通千万不要高估两件事,一件是自己的理解能力和表达能力,另一件是客户的理解能力和表达能力。
IT 项目中,由于需求反复改变而产生的消耗里面,有一半是为交付者的理解表达能力买单,另一半是为客户的理解表达能力买单。
如何避免写出「渣故事」?
用好「用户画像」。
在设计和交付每一个具体的,最小颗粒度的功能时,都能够参考该功能对应的用户画像,那么开发出为客户所喜爱的功能的机会就会大大增加。
怎么做呢?
用户故事以 “As a user” 开头。
如:
- 作为一个白领订餐用户, 我希望看到某个地址附近的餐馆的客观的评论,这样可以决定去哪里吃饭。
- 作为一个在国贸工作,午休时间短,又追求健康饮食的公司白领,我希望看到某个地址附近的餐馆的客观的评论,这样可以决定去哪里吃饭。
这种操作本质上,是随着需求的分解而分解用户画像,从最高级的需求,到最小颗粒度的需求,都有用户画像的影子存在,指导我们“做正确的事”。
3. 如何提高国内访问 GitHub 的速度?
进击的Coder
国内访问 GitHub 总是不太稳定,有什么办法提高访问速度吗?
可使用镜像网站访问,内容跟 GitHub 是完整同步的,可用的镜像:
言论
1、我现在不和人争吵了...
2、在原型阶段深度解决所有可能出现的问题
3、这位吴先生应该已经不在了...
图片
1、别人用的 Docker,再看看你的。
2、当需求评审会突然变成了技术方案讨论会....
3、原型图与设计图...
订阅
本周刊每周五发布,会同步更新在微信公众号。
微信搜索“毕小烦”或者扫描下面的二维码,即可订阅。
如果文章对你有帮助,请随手点个赞吧!
(完)
标签:11,Web,项目,管理,用户,飞狗,测试,契约,软件测试 来源: https://blog.csdn.net/wirelessqa/article/details/115676864