软件测试原则:
测试可以发现bug,但不能保证不存在bug
测试无穷尽
测试尽早介入,也叫金字塔模型(bug早发现,消耗成本越少)
金字塔模型.png
第三方或独立测试团队
测试贯穿整个生命周期
用例全面(有效数据、无效数据)
严格执行测试计划,避免测试随意性
及时更新测试用例,避免思维定势
应该注意测试中的集群现象,80%的bug存在于20%的模块中
妥善保存测试计划、测试用例、测试报告,为维护提供方便
测试流程:
测试计划、测试设计、测试开发、测试执行、测试评估
测试阶段:
单元测试、集成测试、系统测试、验收测试
自研项目会有alpha测试和beta测试
版本发布之前,有用户参与的验收测试。
alpha一般是在开发环境或者实验室进行的,有用户和开发人员一起参与的测试
beta测试无开发参与,全部是用户参与的,在实际现场的测试
缺陷要素
缺陷5C(correct、clear、concise、complete、consistent)原则,
二八定律
缺陷跟踪流程(new->opened->assigned->in progress->resolved->closed)
测试过程管理
W模型
实现了测试设计和测试执行相分离
局限性:相关的测试设计和执行依赖于开发阶段的完成
image.png
H模型:
测试准备,只要达到测试就绪点就开始测试执行
测试准备:测试需求分析、测试计划、测试设计、测试编码
测试执行活动: 测试执行、测试报告
测试是一个独立的流程,贯穿整个周期,与其他流程并发执行
测试尽早准备尽早执行
各个不同阶段的测试除了简单的时间先后关系外,还存在触发、反复、迭代和增量关系。
image.png
软件开发的两种经典模式:瀑布模式和敏捷模式(大多公司在用)
瀑布模型:
image.png
敏捷模型:
image.png
对比:
image.png