内容简介:软件测试随着软件的产生而产生的,近年来,软件行业的迅猛发展,让软件测试停在手工测试的水平已不能满足软件项目的需要。要了解软件测试,首先要知道软件测试工作的流程是怎样的。软件测试流程:需求分析阶段-软件设计和编码阶段(进行单元测试)-集成、系统、验收测试阶段。
软件测试随着软件的产生而产生的,近年来,软件行业的迅猛发展,让软件测试停在手工测试的水平已不能满足软件项目的需要。要了解软件测试,首先要知道软件测试工作的流程是怎样的。
软件测试流程:需求分析阶段-软件设计和编码阶段(进行单元测试)-集成、系统、验收测试阶段。
软件测试模型:
传统:项目计划——需求分析——软件设计——程序开发——软件测试——集成维护
V模型:需求分析-概要设计-详细设计-软件编码-单元测试-集成测试-系统测试-验收测试
W模型:用户需求-需求分析-概要设计-详细设计-编码-单元测试-集成测试-验收测试-单元测试设计-集成测试设计-系统测试设计-验收测试设计-集成-实施-交付
X模型:程序片段1-测试设计-工具配置-执行测试-编码完成-执行测试-工具配置-测试设计-程序片段N;封版-执行测试-测试设计-工具配置-迭代1...N-探索式测试-执行测试
H模型:测试准备-测试就绪点-测试执行-测试流程-其他流程
软件测试W模型
软件测试流程:
需求分析:
需求分析由产品人员制定,他们要做的不是一份简单的文档,而是细化每一个功能的细节,每一个按钮的位置,对于稍大或复杂一点的需求都进行建模。
测试计划:
测试计划(TestPlan)一般由测试负责人来编写。
测试计划的依据主要是项目开发计划和测试需求分析结果而制定。如背景,依据,资源,策略,日程等等。
测试设计:
测试设计主要包括测试用例编写和测试场景设计两方面。
测试环境搭建:
不同软件产品对测试环境有着不同的要求。
如C/S及B/S架构相关的软件产品,那么对不同操作系统,如Windows系列、unix、 linux 甚至苹果OS等,这些测试环境都是必须的。
而对于一些嵌入式软件,如手机软件,如果我们想测试一下有关功能模块的耗电情况,手机待机时间等,那么我们可能就需要搭建相应的电流测试环境了。当然测试中对于如手机网络等环境都有所要求。
测试执行:
测试执行过程又可以分为以下阶段:
根据不同的测试阶段,测试可以分为单元测试、集成测试、系统测试和验收测试。
体现了测试由小到大、又内至外、循序渐进的测试过程和分而治之的思想。
单元测试的粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”。
集成测试界于单元测试和系统测试之间,起到“桥梁作用”,一般由开发小组采用白盒加黑盒的方式来测试,既验证“设计”,又验证“需求”。
系统测试的粒度最大,一般由独立测试小组采用黑盒方式来测试,主要测试系统是否符合“需求规格说明书”。
验收测试与系统测试相似,主要区别是测试人员不同,验收测试由用户执行。
黑盒测试不考虑程序内部结构和逻辑结构,主要是用来测试系统的功能是否满足需求规格说明书。一般会有一个输入值,一个输入值,和期望值做比较。
白盒测试主要应用在单元测试阶段,主要是对代码级的测试,针对程序内部逻辑结构,测试手段有:语句覆盖、判定覆盖、条件覆盖、路径覆盖、条件组合覆盖
集成测试主要用来测试模块与模块之间的接口,同时还要测试一些主要业务功能。
系统测试是在经过以上各阶段测试确认之后,把系统完整地模拟客户环境来进行的测试。
测试记录:
缺陷记录总的说来包括两方面:由谁提交和缺陷描述。
一般而言,缺陷都是谁测试谁提交,当然有些公司可能为了保证所提交缺陷的质量,还会在提交前进行缺陷评估,以确保所提交的缺陷的准确性。
另外,一个版本软件测试完毕,还要根据测试情况出份测试报告,这也是所要经过的一个环节。
缺陷管理:
缺陷管理方面,很多公司都采取缺陷管理 工具 来进行管理,常见缺陷管理工具有Test Director、Bugfree等。
软件评估:
这里评估指软件经过一轮又一轮测试后,确认软件无重大问题或者问题很少的情况下,对准备发给客户的软件进行评估,以确定是否能够发行给客户或投放市场。
软件评估小组一般由项目负责人、营销人员、部门经理等组成,也可能是由客户指定的第三方人员组成。
测试总结:
每个版本有每个版本,每个阶段的测试总结,当项目完成RTM后,一般要对整个项目做个回顾总结,看有哪些做的不足的地方,有哪些经验可以对今后的测试工作做借鉴使用,等等。
测试总结无严格格式、字数限制。
测试维护:
由于测试的不完全性,当软件正式release后,客户在使用过程中,难免遇到一些问题,有的甚至是严重性的问题,这就需要修改有关问题,再对软件进行测试、评估、发行。
流程分析:
我们来看测试的工作内容,测试计划、测试用例、测试结论、测试报告、验收方案、问题的提交跟踪。
其实,我们真用于测试的时间是非常少的,在一周的时间,也许只有一天或不到一天的时间是在进行测试的。
测试人员只有在测试的时候才会体现出他的价值。而大部分工作却不能体现他的价值。
总结:
软件测试,关注的是在整个软件生命周期中,各个阶段的测试活动。
通过对各个阶段的过程质量把控,从而提高产品的测试质量。产品的质量并不是测试能决定的,而是整个项目构建过程中,通过一次次的优化过程,不断的总结成长,是整个项目团队决定的。
不同的工种都在这个过程中起到举足轻重的作用,而全程软件测试强调不断提高每个阶段的质量,最终提高项目团队的综合能力,从而提高产品质量。
欢迎加入 51软件测试大家庭,在这里你将获得【最新行业资讯】,【免费测试工具安装包】,【软件测试技术干货】,【面试求职技巧】... 51与你共同学习,一起成长!期待你的加入: QQ 群: 755431660
以上所述就是小编给大家介绍的《测试人必须了解的软件测试流程及5大测试过程模型,经典干货分享!》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 软件测试你不知道的技术干货:埋点测试技能秒Get!
- 渗透测试及漏洞挖掘技巧干货分享——客户端JavaScript静态分析
- 干货丨实现UI自动化测试,这5个常见问题你应该知道!
- 前端面试题干货集合
- 干货 | 解释 ReGenesis 构想
- 干货 | 什么是 Substrate?
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
计算机程序设计艺术(第3卷)
Donald E.Knuth / 苏运霖 / 国防工业出版社 / 2002-9 / 98.00元
第3卷的头一次修订对经典计算机排序和查找技术做了最全面的考察。它扩充了第1卷对数据结构的处理,以将大小数据库和内外存储器一并考虑;遴选了精心核验的计算机方法,并对其效率做了定量分析。第3卷的突出特点是对“最优排序”一节的修订和对排列论与通用散列法的讨论。一起来看看 《计算机程序设计艺术(第3卷)》 这本书的介绍吧!