质量不是项目的一个阶段,而是一项持续的责任。 QA(质量保证)涵盖保证产品正常运行的流程、实践和文化。本指南介绍了如何对数字产品实施有效的质量检查。
什么是质量检查
定义
保证软件质量的一组活动。
质量保证与质量控制
QA 是过程(防止缺陷)。 QC是检查(发现缺陷)。
范围
不仅仅是测试。流程、标准、文档。
为什么质量检查很重要
错误成本
生产中的错误成本比开发中高出 100 倍。
用户体验
错误令人沮丧。用户放弃。
声誉
存在漏洞的应用程序会收到负面评论。
信任
更改代码的时间更安全。
测试类型
单元测试
测试隔离功能。快,很多。
集成测试
一起测试组件。 API,银行。
端到端 (E2E)
作为用户完成流程。
手动测试
人类探索产品。
冒烟测试
快速检查构建是否有效。
回归测试
确保更改不会破坏现有的更改。
性能测试
负载下的行为。
安全测试
漏洞和合规性。
测试金字塔
概念
单元测试多,集成少,E2E 少。
为什么
单位又快又便宜。 E2E 缓慢且脆弱。
平衡
每种类型都有价值。不要忽视任何一个。
测试自动化
为什么要自动化
重复性、速度、覆盖范围。
自动化什么
重复、关键、稳定的案例。
工具
Jest、Pytest、Cypress、Playwright、Appium。
维护
自动化测试需要持续关注。
敏捷中的 QA
左移
质量从开始,而不是结束。
持续测试
每次提交都会运行测试。
完成的定义
包括质量标准。
跨职能
QA 融入团队,而不是分开。
质量保证流程
测试计划
测试什么、如何测试、何时测试。
测试用例
场景文档。
错误报告
清晰的描述、再现、严重性。
分类
错误优先级。
回归
修复后重新测试。
测试环境
开发
对于开发商来说。不稳定。
分期
生产镜子。全面的质量检查。
###制作
始终稳定。有限的测试。
日期
真实但安全的测试数据。
移动质量检查
设备碎片
许多设备、版本、尺寸。
设备实验室
在真实设备上进行测试。
云测试
BrowserStack、Firebase 测试实验室。
平台特定
iOS 和 Android 有一些怪癖。
探索性测试
这是什么
无脚本测试。调查。
何时使用
发现意想不到的错误。
启发式
技术指导探索。
文档
捕捉你的发现。
质量检查指标
错误逃逸率
生产中出现的错误。
测试覆盖率
测试覆盖的代码。
缺陷密度
按代码大小划分的错误。
修复时间
多久修好。
测试通过率
测试通过的百分比。
CI/CD 和 QA
持续集成
每次合并都会运行测试。
门控
如果测试失败则合并被阻止。
持续部署
如果测试通过则自动部署。
监控
生产中的可观察性作为持续的质量保证。
品质文化
共同责任
质量属于每个人,而不仅仅是 QA。
代码审查
同行评审代码。
完成的定义
质量包括在内。
无罪事后剖析
从错误中吸取教训,不要责怪。
文档
测试计划
功能/发布的测试策略。
测试用例
测试场景的步骤。
错误报告
完整的游戏说明。
发行说明
改变了什么,测试什么。
常见错误
最后的质量检查
把它留到最后一刻。左移。
仅手动
手动测试无法扩展。
忽略反馈
已知错误未修复。
不同的环境
制作阶段非常不同。
结论
质量保证是一项投资,可以避免更高的成本。自动化重复、尽早测试、建立质量文化。经过充分测试的产品才是值得信赖的产品。
##常见问题解答
1) QA 只是测试人员的责任吗? 不。整个团队都对质量负责。
2) 自动化程度如何? 只要有道理。广泛的单元测试,选择性的E2E。
3) QA 是否会延迟交付? 也许是短期的。从长远来看,避免返工。
4) 我需要专门的质量检查吗? 这取决于尺寸。小团队可以分担责任。
5) 如何确定错误的优先级? 严重性 x 影响。首先是阻滞剂。
另请阅读
- [软件质量指标:验证和基础知识0
- [软件质量指标:完整指南1
- [手动软件测试:完整指南2
- [数字质量保证:工具和基础知识3
- [数字质量保证:基本工具和步骤4
- [功能测试5
