规划
#
蓝图
规范 & 稳定
用例规范,测试方案规范,自动化代码规范,工单处理标准,提测准人/出标准,Bug规范
线上异常监控,PPE环境监控,发布接管,线上问题对接,线上告警,自动巡检
内容
基础:功能测试,兼容性测试,性能测试,数据治理,安全测试,线上问题,环境治理,故障演练
提效:API自动化,框架&测试代码自动生成,自动部署&持续集成,数据工厂,UI自动化,Doom引流
赋能:测试用例开放,代码质量度量,story_QA,测试工具&平台开放,自由组装case场景,精准推荐
探索:探索性测试,契约测试,AI技术赋能测试
度量
线上:发布次数,紧急发布/回滚,工单预警数,生产冒烟数,线上工单数,复盘数
线下:代码质量数据,缺陷修复效率,Bug打回数据,自动化通过率,项目进度度量,Story owner度量
基础
#
功能测试
业务梳理:业务结构图,服务调用图,数据流,特殊逻辑时序图
用例设计:模板化,框架化
安全测试
清扫漏洞: 敏感信息,接口安全问题
工具:BurpSuite, 自研代码安全扫描工具
常态化: 下沉QA流程,研发流程加入
兼容性测试
包括:App,H5,操作系统,Web浏览器,API
线上问题治理
工具:工单系统
线上反馈线上化:钉钉机器人接入,Bug自动转移
数据沉淀及可视化
FAQ
运营自查:->QA->开发产品
问题解决
功能缺陷类: 开发解决->QA->运营
答疑问:加入自查文档
功能优化类:指派给产品
问题规约
宣导:线上群公告,线下组织文档操作和业务培训
问题分类和定级
1/5/30原则:1分钟感知,5分钟响应,30分钟解决
FAQ持续转化输出
提效
#
API测试
工具: Jenkins+Newman, JMeter,
思想: 模块化,测试库,数据驱动,关键字驱动,BDD
框架
Jenkins+Python(UnitTest/Pytest, Requests, HTMLTestRunner/Allure)
Jenkins+Java+Maven+JUnit/TestNG+HttpClient/RestAssured+ExtentReport/Allure
框架思想
框架分层解耦: 用例层,组件/业务层,API层,公共基础层
数据分类处理: 公共数据,隔离数据,运行时数据
多协议封装: 接口协议,接口定义及调用
多环境处理: 发布流,框架管理(切换、可维护性可扩展性)
结果自动验证
框架扩展: Pytest
对比策略
数据库设计: 自动化用例nodeid,请求URL,运行环境,用例路径,request_id,请求体,cURL,Response
对比引擎设计:JSONPath匹配对比策略
API覆盖率统计
分类
白盒覆盖率: 代码
灰盒覆盖率:接口
黑盒覆盖率:需求
实践
分子:结合日志,生成RequestID扩展py.test
分母:代码,文档系统
自动生成框架
底层代码生成
核心层
逻辑封装层: 自动获取接口信息,建立模板机制,数据解析器,建立自动触发机制
用例层: 用例自动转化代码(XMind SDK)
冒烟代码生成
步骤: 获取接口信息,拼装请求并验证
场景化改造
Journey模式:用户角色为中心
方案:梳理场景需求,实例化故事场景,转化为自动化验收代码
框架设计: Actor
复用基础层、API层: 公共基础层引入Actor为中心的设计模式
组件层对基础层Actor写业务测试逻辑代码: 主要调用API层
用例层不变
FSM场景化代码,动态组合
FSM生成自动化用例
步骤
业务建模
动态绘制流程图: Graphviz
构建FSM转化器
解析器: 节点函数,解析多叉树与节点内容
用例组合
赋能
#
数据工厂
手工化
脚本化: RESTful API转向SOA API
平台化
服务化
持续集成
代码零库存管理: 代码尽早提交,feature分支尽早集成,功能尽早测试,代码尽早得到反馈
工具:Doom, Sonar
节点
本地IDE: sonarLint, findbugs, P3C, checkstyle, unit test
提交: fundbugs, P3C,checkstyle,unit test, 集成测试,安全检查,集成测试覆盖率,代码构建
环境部署: 集成测试,全量代码质量检查
pull rquest: 新增代码质量预览,测试覆盖率
PRE: 验收测试
PROD: 冒烟检查
自动化
feature分支合入时:接口自动化用例,增量代码扫描用例,流量回放用例
环境部署:全量API自动化用例测试和流量引流测试
代码质量
属性:清晰度,可维护性,注释,重构,充分测试,可扩展,效率
内容:代码规范,持续集成,度量
建设步骤:标准化,数据化,流程化
Story QA
项目经理
作用:培养大家的全局视野,锻炼大家的软性能力
职责:记录技术方案,站会,汇报,验收,把控风险,协调,跟踪
度量体系: 各维度打分
工具化制度化
奖惩:级别,措施
探索
#
流量回放
工具:jvm-sandbox-repeater, RDebug, goreplay
mock处理: DefaultMockStrategy, Parameter-MatchMockStrategy
契约测试
微服务测试模式: 单元测试,接口测试,契约测试,集成测试
特性:一致性,测试前移,覆盖API的各种调用场景
实施:服务消费者,服务提供者,契约文件,契约验证
相对mock有期望请求响应的契约内容
框架:Pack,Srping Cloud Contract
探索性测试
理念:边学习,边设计,边执行,持续优化
全局探索性测试
商业区: 核心特性
娱乐区: 辅助功能
旅馆区: 软件“休息”时要持续保持的功能
历史区: 历史遗留功能,曾经经常出现的问题
旅游区: 老用户不太使用,新用户着重使用
破旧区: 对软件破坏来测试稳定性
流程
反馈收集,持续监控和跟踪
客户/项目需求
技术/测试设计
技术/测试用例/代码评审
单元/集成/系统测试
上线
思维
策略模型: 质量标准、项目环境、产品元素 -> 测试技术 -> 观察到的产品质量
基于测程的测试管理
管理
#
团队管理
团队画像
定格局
团队文化:专业,高效,靠谱
认识自我
向心力
技术分享
方案
课题制度:每人一领域
学习形式:阶段性、周期性
学习周期:每周以小组形式,一小组2人
落地推行:有demo
个人发展
方向:抓住当下,关注自身本体,技术体系构建(横向、纵向)
工作习惯:内容合理分配,多关注业界的思路及方案,总结反思
项目管理
难点:掌控项目进度,合理协调资源,保证整体线上质量
三部曲
序幕
仪式感:同步背景,熟悉相关人员,明确关键时间节点,理清各自边界及上下游依赖
粮草:排期,数据准备及测试用例,环境资源 ,工具资源
高潮
把控进展:定期站会,同步进度风险预警,制定原则
集成测试:重点跟进核心链路,小黑屋即时响应,每天测试报告
线上质量:明确上线顺序、灰度、回滚策略,小规模集成测试,线上压测及演练
终章
线上灰度跟进
项目总结
文档沉淀
沟通一致
风险评估和预案
技术改动
工具化自动化
用人不疑疑人不用
纲领
#
代码门禁
公共分支只能pull request,执行检验
编译
单元测试
接口级别功能测试
静态代码扫描
人员检查
优化门禁工具
缩短时间
10分钟内
mariadb4j
精准测试
提高稳定性
90%成功率
更多用途
Bug Jail不允许开发名单
组件升级检查
测试的本质: 反馈
测试演进
平台建设
自动化回归、造数
质量监控
线上监控报警、资损演练、红蓝对抗、线上引流
基于风险的测试全方位深入
智能化提速: 判断测试范围、测试用例范围
API生成测试框架和代码
专项测试平台使测试结果 可持续沉淀
可视化质量看板
赋能
测试工具全员可运行
质量反馈
代码门禁的结果: 代码是否可接受
功能回归结果: 是否推进到预发布
预发布和灰度验证结果: 是否上线
反馈能力:缩短反馈时间,降低成本,提高可信度
缩短反馈弧
方面
反馈前置等待时间
反馈本身耗时
方法
持续集成
提升稳定性
高频:持续打包,发布,证书和密钥更新,容灾演练,缩短反馈弧,变主动验证为被动
隔离
TiP(Testing in Production)
用完即抛
不自动重跑
提升有效性
防止注水
测试测试代码
变异测试和Bug注入
提升充分性
用例自动生成
业务覆盖率
从测到不测
防错: Poka-yoke
第一时间校验输入值
线上线下权限隔离
视觉辨识度
代码写错:易混淆的类和方法
事情没按正确的方式做
静态代码分析和Bug自动识别
大促场景
#
全链路压测
全链路影子体系: 各中间件切流
压测模型与施压能力
常态化智能压测
全链路功能
统一环境隔离:流量隔离,时间控制,预案开关推送
全链路影子数据: 生成,使用
全民预演
预案开关:大促预案,日常预案
全链路预热: 系统预热,数据预热,预热场景编排
快速扩/缩容:水平,垂直
风险识别引擎压测
移动App场景
#
工具
自动化工具
云测平台
框架
用例生成
数据Mock
专项测试: 启动、崩溃、卡顿、发烫等
稳定性测试: 智能化Monkey方案
基于遗传算法
基于用户操作
兼容性测试
标准
线上保障
监控
监控方案:定义监控指标、监控方式、监控维度
监控度量:版本趋势,版本对比,年度趋势,业务趋势
告警分析
异常监控
性能分级与降级
大数据
#
测什么
功能性验证
数据更新的实时性
数据请求响应的及时性
算法的效果验证
AI算法系统的线上稳定性
工程效率方向
算法系统
工程系统
效果评估
AI系统
#
语音类
计算机视觉类
云计算
#
专有云质量定义
高可用
性能容量
热升级
用户场景测试
金融类
#
风险防控
资损风险防范
资损风险识别
资损风险应急
资损防控文化: 红蓝攻防,常态化演练
物流类
#
通用技术
仓储实操机器人
末端IoT设备
全球化物流骨干网
安全生产
#
资金安全
故障快恢
灰度发布
信息安全风险
突袭演练