04-测试领域实践
测试环境管理
文档完善的测试环境能让自动化任务的执行没有“后顾之忧”
测试环境管理不单是某个部门、某个角色的事,每个人即是测试环境的使用者,更是测试环境的建设者
基准环境和功能环境的配合使用,可以让一套微服务环境满足多个需求并行测试的场景
自动化验收测试
自动化测试框架的选择,除了考虑框架的技术特性,更需要考虑团队的人员能力
自动化验收测试用例需要持续维护,保持高稳定性与可用性
自动化验收测试,现阶段不能完全替代手工测试
自动化接口测试
测试的橄榄核模型决定了接口测试在现在测试体系中的重要性
自动化接口测试保函协议客户端模拟、接口逻辑模拟、数据驱动、自动化执行、断言操作、关键字驱动、测试替身等关键技术
在自动化接口测试中,缺陷自动提交、误报缺陷自动过滤是需要关注的方向
测试数据管理
测试数据要评估投入产出比,不是所有测试数据都要提前准备,也不是所有测试数据都无法准备
测试数据管理需要与测试工作结合,按需建设,集市维护和更新
测试数据产生的价值是衡量测试数据管理效果的唯一标准
性能测试
性能测试可以有效衡量系统的容量大小、响应速度、并发能力
性能测试实践包含测试环境、测试数据、测试策略、测试工具、测试结果五个要素
性能测试可以按照单机评估、集群评估、扩缩容对比三种方式开展
全链路测试
全链路压测中的链路可分为调用链路和业务链路两种形式
调用链路的压测主要应用于单个系统或者业务产经的容量评估;业务链路压测则是对多个有业务关联的场景所产品的调用链路集合进行评估
流量录制回访技术丰富了全链路压测实践的手段,再次基础上可根据业务场景对录制的数据进行修正和验证
安全测试
风险就是最大的损失,安全就是最好的汇报
安全风险把控不单是某个部门、某个角色的事,更需要产品研发声明周期的所有参与方共同负责
安全测试需要融入研发流程的各个子环节,以一种“润物细无声”的方式发挥作用
精准测试
传统黑盒测试存在测试过程不可靠、测试范围不明确、效果评估模糊且滞后的问题
精准测试从软件系统的逻辑、变更、覆盖三个底层关注点进行分析和度量
先通过分析变更找到发生变更的代码段,然后监控测试执行过程中被测试系统的覆盖率,从而指导测试用例的选取,以达到变更代码的最大覆盖度
测试中台
测试中台能够赋能开发人员开展高效、高质量的测试
测试中台的全局架构设计可以让测试提效的全局视野更清晰、更直观
测试中台包含测试执行服务、测试数据服务、测试执行环境服务、工程效率工具链仓库等组成部分
解读
测试环境的构建参考 环境即代码,多系统之间测试环境应该对应并且与之匹配的测试数据也应该对应(这个是整片文章中最困难的地方)
和开发领域实践类似,开发人员负责一部分单元测试的代码,但单元测试能够测试范围仅仅是关键的业务过程中涉及到的代码组件,在理想情况下再做到全量覆盖
部分安全测试代码、压力测试代码,可以根据条件通过测试平台提供的接口放在项目集成之前、项目部署之后运行。
测试数据与测试用例的准备应该同时准备,并且测试数据应该按照一个测试场景来配置,也就是说,测试用例的粒度应该按照一个业务场景来开始,并且测试数据应该覆盖任意一个测试业务场景的状态。
举例来说:若我们用户登录的业务场景,用户状态有3个(正常,离职)用户正常情况下登录进入首页,用户离职状态登录提示用户离职无法登陆,数据准备就得准备两种数据,一种客户正常的一种客户离职的
效能平台应该建立需求、设计、开发分支代码、测试用例之间的关系,甚至是生产环境中的异常(可以根据异常堆栈定位开发代码,进而定位问题)
测试左移一般指测试在开发初期完成测试代码的编写,测试右移是指在软件上线之后持续进行质量监控,避免出现变更导致的潜在质量问题