软件测试理论基础
2020-01-14 06:42
162 查看
软件测试理论基础
什么是软件测试?
为了发现软件产品中的各种缺陷,而对软件产品进行验证和确认的活动过程,此过程贯穿整个软件开发生命周期。简单的说,软件测试是以发现错误为目的而执行的一个程序或系统的过程。
什么是软件缺陷?
- 软件未达到产品说明书要求的功能;
- 软件出现了产品说明书指明不应该出现的错误;
- 软件实现了产品说明书未提及到的功能;
- 软件未实现产品说明书虽为明确提及但应该实现的目标;
- 软件难以理解,不易使用,运行缓慢,或者从测试人角度看,最终用户会认为不好。
软件测试的目的
- 验证软件需求和功能是否得到完整实现;
- 验证软件是否可以发布;
- 尽可能早的发现软件中的bug;
- 尽可能多的发现软件中的bug;
- 对软件质量进行合理评估;
- 预防下一个版本可能出现的问题;
- 发现开发过程中的问题与风险。
软件测试原则
- 所有测试的标准都是建立在用户需求之上 。
- 合理控制测试深度与广度,完全测试不可能,测试的投入与产出要均衡。
- 80-20原则,软件中80%的bug可以在分析、设计与评审阶段就能被发现与修正,16%的缺陷在系统的软件测试中发现,最后剩下的4%是用户长期使用的过程中才能暴露出来。
- 尽可能早的开展测试,越早发现错误,修改的代价越小。
- 发现错误较多的程序段,应进行更深入的测试。
- 软件项目一启动,软件测试也就是开始,而不是等程序写完,才开始进行测试 。
- 软件开发人员即程序员应当避免测试自己的程序。
- 严格执行测试计划,排除测试的随意性,以避免发生疏漏或者重复无效的工作。
软件开发流程(软件生命周期)
计划-》需求分析-》设计-》程序编写-》测试-》运行/维护
软件测试流程
测试计划-》需求分析-》测试用例-》测试用例执行-》提交bug-》回归测试
软件开发模型
- 瀑布模型:适用于需求很明确的项目,分阶段向下进行,无法回溯。
- 迭代模型:需求不明确,迭代版本系统。
- 敏捷开发模型:
敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。 在敏捷开发中,软件项目被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。 - 测试驱动开发模型:先编写测试代码,再写开发代码
软件测试模型
-
V模型:反映了测试与开发阶段之间一一对应的特点,测试在开发之后,出错后回归测试量大。
-
W模型(双V模型):双V模型并不是在V模型上增加一个V模型,而是测试伴随整个开发周期,测试与开发同步进行,有利于尽早发现问题。
-
H模型:软件测试活动完全独立,与其他流程并行。
- 点赞 7
- 收藏
- 分享
- 文章举报
相关文章推荐
- 软件测试理论基础 Zero to Hero 测试流程及测试需求分析(一)
- 软件测试的基础理论
- 软件测试性能基础 Zero to Hero 性能测试理论 (一)
- 软件测试基础理论(总结)
- 软件测试基础理论1
- 软件测试面试必备的一些基础理论概念(转载)
- 软件测试基础理论
- 对软件测试的认识(理论基础知识)
- 软件测试面试必备的一些基础理论概念
- 软件测试理论基础 Zero to Hero 测试报告该如何写 (一)
- 软件测试理论基础 Zero to Hero 测试执行及Bug的生命周期 (一)
- 软件测试基础理论
- 软件测试的基础理论
- 软件测试基础理论学习记录二
- 软件测试基础理论整理
- 软件测试理论基础 Zero to Hero 黑盒测试用例设计方法 (一)
- 软件测试基础理论知识
- 软件测试理论基础(二)
- 软件测试的基础理论
- 软件测试理论-基础1