测试策略
1.从测试需求开始:从需求中提取功能和测试用例
完整的需求文档包括:
功能需求
非功能性需求
性能需求
安全性需求
扩展性需求
可靠性需求
可移植性需求
易用性需求
兼容性需求
需求分析时应注意:
测试应该尽早的介入(测试尽早介入)
不断变化的需求需要及时的收集和整理(需求会有变化)
没有需求文档时,需要测试人员不断的收集原始的客户需求(与客户沟通,以客户的合理需求为标准)
应有质疑、坚持精神,当需求不明确时,我们可以将需求追溯到终端客户(怀疑质疑精神)
分析需求的具体方法:
1.快速理解需求的捷径:需求串讲(不再是产品经理进行需求讲解分析,由开发人员进行对需求的理解的讲解,为了确保开发人员、测试人员、产品经理等多方人员对需求的理解达到一致)
2.验证需求:需求文档也需要测试:正确性,必要性,完整性,一致性等
3.从设计需求中提取测试需求
测试策略的制定
在分析了需求之后,我们要确认测试业务涉及的测试类别,例如:
功能测试
性能测试
安全性测试
兼容性测试
文档测试
安装卸载测试
其他专项测试
测试策略的具体实施
测试策略需要确认测试使用的测试技术、测试过程的管理和控制、测试团队的组建
根据测试的需要,选择测试技术,例如:
1、需不需要白盒测试? 2、自动化测试采用哪种工具?针对接口测试还是UI测试?
3、性能测试采用哪种工具?jmeter还是loadrunner? 4、兼容性测试如何做?手工测试还是使用平台测试?
测试计划的制定:
根据不同的开发模式,确认测试计划,计划主要包括:什么人、什么时间、做什么事情。 测试的目标要明确,同时 要确认跟踪机制
一个全新上线的app需要做哪些测试?
按照测试流程进行全面测试一个增加了新功能的app需要做哪些测试?
先对新功能进行测试,再进行回归测试一个只修改了广告页面广告的app需要做哪些测试?
对广告页面进行测试即可。
测试方案设计
测试方案主要包括以下内容:
1、测试范围 :由需求分析而来
2、测试策略 :包括针对不同部分的测试方法、测试用例
3、测试控制 :包括测试流程,测试执行,缺陷跟踪
4、其他:环境、版本管理等
5、测试风险
风险分析
需求风险(需求变更、需求增加、需求范围扩大)
计划编制风险(测试时间周期评估不准确、产品周期预估错误)
组织和管理风险
人员风险(人员流动、矛盾)
开发环境风险(工具发生变化、开发的系统环境发生变化)
客户风险
产品风险(矫正质量低下的产品,测试、设计实现工作增加)
设计和实现风险(开发额外的不需要的功能,延长周期计划)
过程风险
测试执行流程设计
根据项目特性制定适合项目的测试执行流程。可以在公司要求的流程上进行裁剪
1.需求测试
2.内部发布版本测试(冒烟测试)
3.系统测试
4.回归测试
4.交叉测试:避免测试的枯燥性
测试报告的输出
测试概况
测试过程分析
缺陷分析
测试结论
缺陷清单
测试的流程(站在项目的角度描述更好 ):
1.需求分析(对需求分析的方法:需求串讲,测试人员尽早介入项目)
对需求分析的方法:需求串讲、从设计需求中提取测试需求、
- 尽早介入项目有利于全面发现问题
2.编写测试计划(确定需求范围,依据测试范围编写计划,制定测试策略,方案,)
- 方案:变更,评审,配置,风险
3.编写测试用例(对需求进行更详尽的测试)
- 编写测试用例的方法:基于需求的测试用例设计、等价类、边界值、因果图、正交排列法、场景设计法、错误猜测法
4.执行测试(环境搭建,数据准备,冒烟测试,系统测试,回归测试,交叉测试,自由测试,还包含对缺陷的管理)
- 系统测试:在集成测试之后,依据需求规格说明书对整个系统进行功能、界面、可靠性、易用性、性能、兼容性、安全性、移植型等多方面进行测试;
- 通过交叉测试的方法降低测试的枯燥性
- 缺陷管理:描述缺陷的要素:版本、环境、输入数据、预期结果、实际结果
5.编写测试报告(缺陷分析,测试结论(通过或不通过))–>版本发布–>项目总结
单元测试策略:
junit:java语言的单元测试框架