金字塔: 1->1->2->3->5->8->13->34
1个中心
质量(quality)
1个人
以人为本(human foremost)
2个目标
测试覆盖率 效率
3个支撑
测试人员 测试流程 测试技术
5个要素
质量 人员 技术 资源 流程
5个工作面
基础设施 团队建设 测试架构 成本管理 项目管理
质量-人员-技术:团队建设,包括人员的招聘、培训、考核等。
质量-人员-资源:成本管理,人员和软硬件资源都是测试的投入,但同时必须将人和软硬件资源区别对待,不要将人也作为软硬件资源那样处理,否则会带来较多的问题。
质量-技术-流程:测试框架,技术和流程结合起来就是一种测试架构或测试框架,通过技术,将流程融入系统或工具中,流程的执行才能稳定、有效。技术通过框架固化,技术才能发挥最大效益。
质量-流程-资源:基础设施,构建测试环境,将测试建立在坚固、流程的基础设施之上。
人员-技术-流程-资源:项目管理,在一定的质量标准下,如何平衡这些要素、如何获得最大的生产力,就是软件测试项目管理的主要任务。
8组关系
质量与人员的关系。
质量与流程的关系。
质量与技术的关系。
质量与资源的关系。
人员与技术的关系。
人员与流程的关系。
技术与资源的关系。
流程与资源的关系。
13项原则
测试显示缺陷的存在,但不能证明系统不存在缺陷。
穷尽测试是不可能的。
测试尽早介入。
缺陷集群性。
杀虫剂悖论。
测试活动依赖于测试背景。
持续地测试、持续地反馈。
80/20原则。
建立清晰的阶段性目标。
测试独立性。
确保可测试性。
计划是一个过程。
一切从用户角度出发。
21个关键域
测试计划与策略(Test Planning and Strategy)
测试环境(Testing Environment)
测试执行与监控(Test Execution and Monitoring)
缺陷报告与跟踪(Defect Reporting and Tracing)
结果分析与报告(Result Analysis and Reporting)
度量(Metric)
软件产品质量评估(Software Product Quality Evaluation)
缺陷预防(Defect Protect)
团队文化(Team Culture)
团队业务能力(Team Business Capability)
团队技术能力(Team Technique Capability)
团队成长(Team Growth)
测试生命周期流程(Test Lifecycle Process)
测试基础设施(Test Infrastructure)
测试需求分析能力(Test Requirement Analysis Capability)
测试设计与用例(Test Design and Case)
静态测试技术(Static Test Technique)
动态测试技术(Dynamic Test Technique)
非功能性测试能力
高级测试技术
自动化测试(Automated Test)
34个方法
(白盒测试方法)
1)语句覆盖
2)判定覆盖
3)条件覆盖
4)判定条件覆盖
5)条件组合覆盖
6)基本路径覆盖
(黑盒测试方法)
7)等价类划分法
8)边界值分析法
9)判定表法
10)因果图法
11)正交试验法
12)功能图法
13)AlAC法
14)随机测试法
15)错误推测法
(灰盒测试方法)
16)模糊测试
17)变异测试
18)基于API
(基于不同方式的宏观测试方式)
19)基于用例
20)探索式
21)主动
22)被动测试
23)手工测试
24)自动化测试
(静态测试方法)
25)配对评审
26)轮查
27)会议评审
28)工具扫描
(形式化测试方法)
29)基于模型
30)基于逻辑
31)基于网络
32)基于代数
(其他)
33)基于风险
34)端到端
工具
单元测试
Junit
集成测试
Wiremock (+Junit)
组件测试
Wiremock (+Junit)
后端
URL路由
序列化与反序列化
应用对领域层的访问
领域层对数据的访问
数据库访问层
前端
前端路由
模板
前端的MVVM
拦截器
事件的响应
契约测试(消费者驱动契约(Consumer Driven Contract),如微服务)
Spring Cloud Contract/pact-jvm (+Junit)
端到端测试
Docker/Rancher