软件自动化测试系统的应用与分析
2016-10-19夏德俊
夏德俊
渤海大学工学院
软件自动化测试系统的应用与分析
夏德俊
渤海大学工学院
在软件的开发的时候必然要经过多次的代码修改,可能需要不止进行一次某一项性能的测试,需要开展多次测试,在检测的过程中可能会出现软件缺陷,为了避免软件缺陷的产生,需要对软件项目开展多种测试用例,这种方式比手工测试来说更加具有效率,而且通过软件自动化可以最大限度地解决问题。
软件缺陷 测试用例 手工测试 自动化测试
软件从开始发展到现在有几十年的时间,但是其应用范围已经从科研应用转向到社会生活的各个方面,由于人们对软件有着很强的依赖性,所以软件对我们的生活产生了重要的影响,在2007年发生的奥运订票网站不能登录的问题,有上百万人不能购票,大学生通过低买高卖的方式获得了很大的利润,这些新闻在网络上有很多,要避免出现这样的问题就要在软件上线之前解决,这样才能实现软件质量的提升,因为软件测试是软件质量提升的重要保证,现在有许多软件公司非常重视软件测试,不断地对软件进行更新换代,软件具有更多的功能模块,这些都有利于软件自动化测试扩展发展空间。
1 软件自动化测试的定义
软件自动化测试主要是通过自动化测试工具进行的,这种测试方式不是人工进行的,而且第二种测试方法主要是软件的测试,包括测试的报告以及一般自动化测试的流程。
第一种测试需要自动化测试工具,在测试的过程中需要人为参与,这些测试工具包括有各种公司的软件;第二种定义更加广泛,他主要提出的是软件,并不是自动化的测试工具,所以自动化测试不需要考虑自动化测试的不足,因为这种测试情况下的自动化是通过专门的公司开发的,他是公司根据测试的需要开发的,这种情况有利于通过先进的测试手段促进效率的提升。
2 自动化测试的优点
在自动化测试的时候可能会涉及到许多的流程,包括测试体系以及测试的系统,要做好测试的自动化这才是公司当前要着重解决的问题,公司不仅需要提供各种资金以及管理上的支持,而且要通过专门的测试团队获得测试过程以及体系,对于手工测试系统而言,这种测试工具覆盖范围更广,这些测试通过手工是不能完成的,因为在自动化过程中具有重要的属性,公司不仅要提供各种资金以及管理支持,还要通过各种专门的测试团队建立测试的流程和体系,相对于手工测试系统来说,自动化测试工具具有更高的覆盖范围,需要通过大量的测试,这些测试通过手工是不容易完成的,自动化测试的过程中具有非常重要的属性:
(1)速度。手工测试进行测试的时候,可能会要花费很长的时间,可能5秒钟执行的测试用手工需要花费10倍乃至百倍的时间。
(2)效率。测试人员如果要做好测试用例,他可能不会开展其他工作,因为减少测试工具可能会缩短测试用例的时间,从而没有更多的时间执行测试计划。
(3)准确度和精确度。测试人员执行测试用例后,可能会出现注意力分散以及犯错误的情况,所以测试人员需要一如既往地执行测试,这样才能避免出现测试的问题。
(4)节约资源。要节约资源就要更好的开展测试用例,一些相关的人物对真实的情况进行模拟,这样才能最大限度地减少测试需要的物理资源和时间。
(5)仿真和模拟。测试工具需要和产品连接的硬件和软件,这样才能更好的驱动软件,但是在实践起来可能会存在问题。
3 软件测试自动化的设计及实施
3.1自动化测试系统框架设计
自动化测试的过程中,需要关注以下关键要素,如表 1 所示。
表1 自动化测试关键要素
通过这些关键要素及测试的机制,我们可以获得测试的准确框架,如图1所示,通过业务规则以及测试脚本语言可以进行软件测试。
图1 自动化测试系统框架
3.2 自动化测试脚本选择
自动化测试,包括测试工具中的各种数据和指令,包括对信息的同步以及比较,对数据的存放以及信息的控制,脚本语言和使用的工具有密切的关系,好的脚本可以满足测试的需求,所以好的脚本应当具有良好的可靠性,也能够维护,应当遵循以下的标准:
注释:提供用户和管理者帮助。
功能:执行任务可以复制脚本,目的比较单一。
结构;容易进行维护和理解。
支持:可以给用户提供比较清晰以及简洁的文档。
每个脚本在使用的过程中都有各自的优点,在脚本进行测试的过程中会花费很长时间,我们需要根据具体的测试用例,对脚本技术进行分析,这样才能获得更好的测试用例。
3.3自动化测试的实施
通过正确的测试方法和自动化工具,有利于进行软件脚本的编写,通过多样化的测试用例,通过脚本运行就可以获得测试用例,而且这种用秘盒手工测试的效果是一样的,通过制定日志以及跟踪等方式,有利于更好地进行自动化测试,通过科学的测试流程以及规范可以有效的控制流程,并且可以控制整个产品的测试周期,最终可以实现产品质量的提升。
4 软件自动化测试在工作中的合理应用
4.1使用自动化测试的原因
自动化测试具有深刻的原因,因为软件版本需要升级,升级就需要进行检测,在软件检测的第二个版本开始,通过各种重复性的测试对软件来说具有重要的意义,但是对于测试人员来说是很复杂的,所以需要节约时间进行深入的测试,这也就是我们所说的自动化测试。
4.2了解自动化测试的对象
首先我们应当对测试对象进行分析,获得测试的自动化策略,因为测试的产品是嵌入式软件产品,所以软件具备实用性,因为许多软件测试的时候需要利用到外界通讯,而且网络的状态会影响测试结果,所以在测试的时候应当运用良好的产品,这样才能进行自动化测试的时候不受到网络环境的影响,而且测试的结果更具有针对性,通过这种自动化测试的方式有利于周期的缩短,也能够实现工作效率提升的目标。
4.3使用何种自动化测试工具
测试软件的时候要使用何种工具,在当前使用的环境中有许多测试工具,但是这些测试工具一般是不实用的,而且有很复杂的制作时间,各种维护工作可能会增加工作量,并且软件本身也存在一些问题,不能够更好的判断问题,我们需要根据软件产品发展的需要,提出自动化测试工具的发展需求,需要做到以下几点:
(1)设计比较简单的工具软件,这样软件的问题就会减少;(2)通过测试脚本进行编写,可以通过表格的形式进行编辑;(3)输入输出的内容需要符合实际;
4.4编辑自动化测试脚本
要使用自动化测试工具,就要更好的对脚本进行编辑,脚本设计需要覆盖测试项,这样才能在编辑的时候能够兼容许多的项目产品,出现新产品的时候也能够继承和修改,而且能够减轻脚本维护的工作量,这样脚本编辑的时候就具有操作性。
因为脚本不是通过专门的人员编辑的,许多的测试员都会参与编辑,如果脚本涉及的内容太过复杂,可能会产生不一致的脚本,这是不利于进行自动化测试的,所以在脚本进行编辑的时候,必须要制定自动化测试的编辑规则,这样才能更好更方便的查阅脚本,也能够进行脚本的维护。
4.5自动化测试的扩展需求
使用的第一种测试工具可能会大大的减少重复的测试量,自动化测试具有非常大的便利性,但是我们需要不断地扩展自动化的测试范围,首先要做好软件性能方面的测试,通过组合各种测试步骤,这种情况是非常适用于自动化测试的,我们也能够制定自动化测试策略,通过实际的情况选择正确的文本文件,因为组合测试的内容需要根据矩阵的功能进行编辑,人们关心的是最终结果,而不是输入和输出,所以通过文本文件的方式进行组合测试是非常有利的,所以软件自动化测试对于我们来说非常适用,有利于提高测试的工作效率,也能够进行合理的使用。
5 结语
软件测试有利于提升软件质量也能够更好地进行成本控制,主要目标就是通过测试用例的方式进行系统的测试,最终可以检查系统是否满足需求,然后可以保证系统的质量,软件测试自动化的效率很高而且速度快,这是软件测试发展的最终方向,本文对软件测试自动化的意义以及软件测试自动化的工具进行了深刻的分析和讨论,通过不同的测试方法和案例,使用最好的脚本技术有利于实现软件测试的功能化,最终可以最大限度地提升软件测试的效率
[1]王英龙,张伟,杨美红.软件测试技术[M].北京:清华大学出版社,2009.
[2]黄茂生.软件自动化测试工具的评估与选择[J].电子测试,2007(12):62-66.
[3]马瑞芳,王会燃.计算机软件测试方法的研究[J].小型微型计算机系统,2003,23(4):2210-2213.
[4]王莉,殷锋,李奇.软件自动化测试脚本设计研究[J].西南民族大学学报:自然科学版,2005,15(2):357-360.
[5]梁博,许珊,徐钦恺. 测试有道——微软测试技术心得 [M].北京:机械工业出版社,2009.
[6]李霁.软件测试行业发展对策研究[J]. 软件导刊,2007,10(3):35-36.