devops:改变思维,让一切更加高效

持续交付发布可靠软件的系统方法(基础篇)第四章:测试策略的实现

2018-07-21  本文已影响94人  潘晓华Michael

《持续交付发布可靠软件的系统方法》读书笔记

项目在一开始阶段,测试人员就会与开发人员及客户一起写自动化测试。这些测试应该在开发前就写好。
以上这些测试仅仅是系统进行功能测试,容量、安全性及其非功能性试也应尽早建立,为它们写自动化测试套件。确保不符合需求的问题尽早暴露。

测试象限图

业务导向且支持开发过程的测试

在开发一个用户故事之前,应写好验收测试,采取完美的自动化形式。
系统的验收测试应运行在类生产环境(UAT)
验收测试有价值的特性:

并不是所有的东西都需要自动化。我们倾向于将自动化验收测试限于完全覆盖Happy Path的行为,并仅覆盖其它一些极其重要的部分。每一种测试都应该覆盖应用程序的80%
验收测试一般都是端对端测试,但是这样很多时候验收测试的失败并不是因为真正的缺陷,而是因为界面的变更,这将导致增大了验收测试脚本的维护。有两种方法解决这个问题:

技术导向且支持开发过程的测试

单元测试:不应该访问数据库,不应该使用文件系统,不与外部系统交互
组件测试:涉及更多的准备工作并执行更多的IO,需要连接数据库,文件系统,与外部系统交互
部署测试:用于检查部署过程是否正确

业务导向且评价项目的测试

其中非常tgsvr一种测试是:演示
探索性测试,并不只是发现缺陷,它还会致使创建新的自动化集合
易用性测试,为了验证用户是否能很容易使用该应用软件完成工作
Beta测试,金丝雀发布,多个版本同时运行在生产环境,收集不同版本的数据,如果分析证明新功能无法带来足够的价值,就删除它

技术导向且评价项目的测试

验收测试分两类:功能性测试,非功能性测试

测试替身

现实中的情况与应对策略

新项目:一开始就要写自动化验收测试

项目进行中

遗留系统

集成测试

集成测试:那些确保系统的每个独立部分都能够正确作用于其依赖的那些服务的测试
集成测试应该在两种上下文中运行:

流程

管理待修复的缺陷列表

上一篇下一篇

猜你喜欢

热点阅读