软件测试是使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
软件测试帮助开发人员辨别软件的正确度,完全度和质量,是软件质量保证的重要组成部分。
成功的测试通常包括以下几个方面:
(1)测试的目的是为了发现程序中的错误,测试本事而执行程序校对的过程
(2)良好的测试方案常常使得测试事半功倍,测试中一些新奇的想法或偶然的灵感极可能发明一种新的更有效的测试方案。
(3)成功的测试是发现了之前没有发现的错误的测试,但即使没有发现错误,测试本身也是对软件质量的一种认可。
(4)测试的目的不仅仅是为了找出大量代码中隐藏的错误,更多的是需要测试人员通过分析错误产生的原因和错误的发生趋势,从而更好地帮助项目管理人员发现并及时修正当前软件开发过程中的缺陷,以便提出更有效的开发方案。
(5)软件测试时,对BUG的存在分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性。
(6)在软件测试过程中,即使没有发现错误的测试也是有价值的,只要严格的执行一套完整的测试,软件的质量就能得到相应的保障。
(7)另外,根据软件测试目的的不同,通常还有回归测试、压力测试、性能测试等测试类型,这些测试时为了检验修改代码或者优化代码的过程是否引发新的问题以及软件所能达到处理能力是否达到了预期的目标。
2.2 常用的软件测试模型
2.2.1 V模型
V模型是软件开发瀑布模型的变种,它反映了测试活动与分析和设计的关系 。
从左到右,描述了基本的开发过程和测试行为,非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系 。
左边依次下降的是开发过程各阶段,与此相对应的是右边依次上升的部分,即各测试过程的各个阶段。
V模型问题
1.测试是开发之后的一个阶段。
2.测试的对象就是程序本身。
3.实际应用中容易导致需求阶段的错误一直到最后系统测试阶段才被发现。
4.整个软件产品的过程质量保证完全依赖于开发人员的能力和对工作的责任心,而且上一步的结果必须是充分和正确的,如果任何一个环节出了问题,则必将严重的影响整个工程的质量和预期进度
2.2.2 W模型
W模型由Evolutif公司公司提出,相对于V模型,W模型增加了软件各开发阶段中应同步进行的验证和确认活动。W模型由两个V字型模型组成,分别代表测试与开发过程,图中明确表示出了测试与开发的并行关系。 W模型强调:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,需求、设计等同样要测试,也就是说,测试与开发是同步进行的。W模型有利于尽早地全面的发现问题。例如,需求分析完成后,测试人员就应该参与到对需求的验证和确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度和测试风险,及早制定应对措施,这将显著减少总体测试时间,加快项目进度。 但W模型也存在局限性。在W模型中,需求、设计、编码等活动被视为串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。这样就无法支持迭代的开发模型。对于当前软件开发复杂多变的情况,W模型并不能解除测试管理面临着困惑。
2.2.3 H模型
H模型中, 软件测试过程活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段。软件测试可以尽早的进行,并且可以根据被测物的不同而分层次进行。 基于annotation的junit测试(3):http://www.751com.cn/jisuanji/lunwen_5205.html