软件测试在软件开发过程中的应用
2020-02-28黄于
黄 于
(湖北师范大学,湖北 黄石 435000)
1 软件测试的背景
20世纪60年代的时候,高级语言不断问世,到了70年代,软件开始出现,软件的发展也越来越好,软件的功能需求越来越多,越来越具有复杂,对软件的要求也越来越高。
到了20世纪80年代,对于软件测试的定义已经 悄悄地发生了变化,软件测试不再是仅仅用来发现错误,还包括了对软件质量进行评估。
到了20世纪90年代,可以用于软件测试的工具种类越来越多,软件进行测试的重要性也越来越高。到了2002年,软件测试被Rick和Steafan在书中又一次定义,软件测试这定义越来越完善。并且由于计算机技术的推广,计算机走入了家家户户,对软件测试的研究越来越多,有关软件测试的研究也有了重大突破。
2 软件测试的分类
1)静态测试。静态测试就是指不运转软件,仅仅对软件代码、测试用例、设计普查和需求剖析就从而找出编码中的错误。
2)动态测试。动态测试对设计测试用的软件的用户进行跟踪观察,了解他们的行踪,对软件的实际效果和预期效果进行比对,从而找到软件存在的不足之处。动态测试和静态测试的区别就是动态测试进行了实际的软件运行。和静态测试比起来,动态测拥有更大的工作量,例如集成、单元测试等。进行单元测试时需要使用到白盒测试技术进行测试,需要有用户参与。进行系统的测试时需要运用黑盒测试技术来对软件进行测试。
3 软件测试的方法
软件测试的方式有三种。第一种就是白盒测试法,白盒测试法需要在测试的时候检查软件工程,以方便发现软件里面的不足之处或者出了问题的地方。进行白盒测试时有许多方法可以运用,其中逻辑覆盖方法使经常能见到的一种方法。那些使用白盒测试技术的软件测人员,首先要了解软件的内部是什么样子的,然后在根据软件内部结构,专门设计了用于测试的针对性测试用例。
第二种是黑盒测试法,黑盒测试法用来检测软件的功能是否正常,软件和数据库之间的连接是否松开,软件的布局是否合理,能否正常运行。黑盒测试法和白盒测试法之间能够互相补充,能更好的发现软件的问题。黑盒测试方法分为几种。错误测试法适宜那些比较有经验的程序开发者,能够依据经验对软件开发过程中经常发生错误的地方有针对的进行测试。在进行软件开发的时候,软件的数据结构和下标可能会容易发现问题,可以做一些针对这些地方的测试,解决问题。
第三种方法就是综合策略发,这种方法就是灵活的运用各种测试方式进行测试,相较于用单一测试方式来说,这种方式比较灵活,可以极大地提升工作效率。
4 软件测试的工具
1)AutoRunner是国内出现的第一个能够进行自动化测试的软件,可以完成功能测试等。AutoRunner有脚本语言,可以完善的脚本跟踪和调试功能,支持IE测试和windows native原生测试。
2)TestDirector是Mercury interative公司企业生产的测试分析工具,该公司是全球最大的软件测试工具提供商。TestDirector可以在公司内外部进行全球范围内测试的管理,测试的时候在系统上集成了测试的各个不同的部分,能加速测试过程。
5 软件测试在软件开发中的应用
软件测试在软件整个开发过程中都是和软件的开发同时进行,能为软件开发工作正常过度打下基础,能够减少开发软件的时间,节省人力物力。
1)在软件需求分析的时候,对软件进行测试,提前预估风险和成本,针对客户的要求进行开发,对于可能出现的问题能提前协商,可以提高开发效率。
2)软件开发过程中,要对设计的模型有准确预估,做的提前发现并改正错误,节省人力物力。
3)软件编写的时候,参与测试的人员要编写合适的试用例和单元测试,把编写试用例当做重点来做。
4)进行软件测试的时候,要及时更新软件,修复测试中问题,保证发布的软件符合客户需求。
5)对软件进行维护时,负责测试的工作人员要选择合适的比例重新组合、解决客户提出的要求,帮客户进行验收。其中,解决客户的要求是最重要的,要从客户的实际需求触发,设计出让客户满意的软件。在运行维护的时候,要及时更新新的测试用例,弥补之前的测试用例出现的问题。
6 软件测试发展的现状和前景
软件开发中农经常会出现错误和缺陷,市场对软件质量需求越来越严,所以,软件测试在软件开发实施中就显得尤为重要。然而,实际情况是软件测试的地位和作用还是没有得到足够的重视,对软件测试的认知还是存在误区,影响了软件测试开展活动和提高了软件开发的质量。
误区一:绝大多数的人都会以为软件测试是软件开发已经结束后再进行的,起着查漏补缺的作用,但是实际情况是,软件测试会伴随这软件开发的全过程。从开始的设计到最后都验收都离不开软件测试。在软件开发的每个阶段,都需要进行对应的测试来解决研发阶段产出的问题。当然,软件测试的对象不仅仅局限于软件的代码,还有其他的方面,比如设计的文档。软件测试和软件开发的同步进行才能确保软件开发能够顺利进行,不会有什么特别大的错误,造成无法弥补的损失,同时还能节省时间,提高整体效率。
误区二:一些没有接触过软件测试行业的人,都认为软件测试就是利用现有程序对软件进行测试,都是些简单工作。其实随着软件工程的发展,软件测试的内容越来越丰富,不仅仅是简单的用程序进行测试就能解决,需要用到专业的知识和丰富的经验,才能胜任这份工作,需要专业的人员来完成测试。
7 总结
在未来,软件测试可能会发展的越来越快,软件测试技术也会更加完善,软件测试效率越来越高,软件测试人员也会得到重视。软件测试行业对于人才的需求会越来越严,也会越来越需要人才。