1 测试理论
1.1 测试理论基础
1.1.1 软件研发流程
软件生命周期: 需求-设计-编码-测试-维护-废弃
**软件测试流程:**需求分析-测试计划-测试方案-测试用例-测试执行-测试报告
需求分析:分析产品功能点;产品核心竞争力;Kano模型、马斯洛需求分析、多问几个为什么、上下文分析法
制定测试用例:
- 使用思维导图列举测试大纲,尽量发散,想到什么写什么;先放后收,对知识点进行总结和归纳,标记重点测试模块,删除冗余及重复测试点。
- 可使用边界值法、等价类划分法、错误推测法、因果图法等设计案例
- 根据测试大纲制定测试用例,需包含模块名、测试优先级、操作步骤、期望结果、测试结果、备注
执行测试:
根据测试用例执行测试
发现问题保留现场,记录测试方法,通知开发解决问题
覆盖测试用例之外若有时间可进行探索性测试
提交Bug并推动Bug解决
在Bug管理工具上提交Bug,详细记录测试步骤
根据Bug严重程度划分Bug等级:致命、严重、一般、提示
推动开发解决问题,记录问题进展,一般聊天沟通,若问题严重则需通过邮件推动解决
回归测试
对已修复的Bug进行验证
对Bug所在模块进行基本功能测试;整体进行冒烟测试,确保不会因为修改Bug而引起其他功能出现问题
编写并提交测试报告
可使用金字塔原理设计测试报告,先总后分,上级统领下级,下级推导出上级,环环相扣
对Bug进行汇总,筛选出各个等级的Bug存活情况
制订Bug发现及解决曲线图,一般版本正常应是前期多,后期收敛,存活的是级别较低的Bug
总结归纳版本情况,评估发布与否
1.1.2 软件测试基础
软件测试的经典定义: 在规定的条件下对程序进行操作,以发现缺陷和错误,对软件质量进行评估。
测试目的: 不仅仅是为了发现软件缺陷和错误,而且也是对软件质量进行度量和评估,以提高软件的质量。
软件测试对象: 软件包括程序、数据、文档,软件测试贯穿整个软件生命周期。
软件测试风险: 进度风险、质量风险、人员风险、变更风险、成本风险等。
软件测试工程师的职责:
- 配置测试环境
- 执行软件测试
- 报告软件缺陷
- 验证修正的缺陷
- 报告测试状态
- 完成测试相关的其他任务