中国电子科技集团公司第五十四研究所 党素宁
通信软件的自动化测试分析
中国电子科技集团公司第五十四研究所 党素宁
社会在不断发展与进步中,推动了信息化技术朝着更智能化、自动化方向发展。而通信软件技术由于其在通信软件开发领域中的重要性,受到了行业内外的广泛关注;同时,由于软件的测试工作是保障软件整个寿命同期的重要环节,也使得通信领域的硬件设备能够维持更加稳定的运行周期,是通信技术领域进行软件设计与开发工作的基础。论文在对通信软件的自身特点进行分析的基础上,对通信软件自动化测试系统中应该包含的功能模块进行分析。
通信软件;自动化;模块;测试
软件的自动化测试技术,就是利用机器检测的方式,对软件的性能进行检测与测试,以便能够实现对手工检测过程的替代。而在通信软件开发项目中,项目研发小组出于应用需求评审的考虑,会安排专门的测试人员利用实际的测试用例来对整个通信软件进行测试,而在此过程中,可以通过采用自动化的测试方式,还实现人力成本的控制,以及时间成本的有效节约,整个通信软件的测试精准性也得以提升,使得软件开发中测试环节的效率得到大幅的提升。
在通信软件的自动化测试实施中,为了能够大幅提高相关软件的测试测试效率,就要对通信类软件采用自动化方式进行测试中的一些重要特性进行全面的了解。
软件测试中的回归测试作用更加全面。在测试过程中,采用回归测试的方法,可以将其作为一种重复性测试系统比较高的用例程序测试方法。如果在回归测试中采用自动化的方式,则其实质就是在回归测试实施中,采用回归执行模式来进行测试,简单来说,就是将测试程序预先编写完成后,再进行效率更高的测试过程,使得测试效果更加显著与明显。
对于软件测试中需要使用较多测试用例的情况,如果采用自动化测试方式,可以将测试的时效性大幅提高,能够在最短的时间周期内来获得最佳的测试效果;从而实现对软件测试中各项成本进行有效控制的目的。此外,对于一些难以用手工方式模拟的测试环节,或采用人工手动方式根本不能完成的复杂测试过程来说,很多软件在测试中不可能配备足够的人力资源以及专业化的测试设备,所以,针对这些测试难度系统比较高、资源的耗费量比较大、测试速率要求更高的测试过程,就可以考虑采用自动化的测试技术来完成相关工作。其实,进行软件自动化测试的核心与关键,就是对测试脚本的编写,就是通过脚本编写来实现自动化测试过程。所以,在实际操作过程中,只需要对不同版本的软件进行小幅度的脚本调整与修改,就可以对多数用例进行测试,有效简化测试过程中的重复操作与冗余。
采用自动化方式进行通信软件的测试,其劣势主要体现在:
(1)并非所有通信类软件系统都可以通过自动化的方式来进行测试,部分软件或部分测试环节还是需要通过手工操作的方式来完成测试;同时,部分软件的测试过程如果采用手工方式则更容易实现,还可以有效节约必要的成本与资源投入。
(2)自动化的测试方式,其实更适用于重复性次数较多、测试步骤比较复杂的软件测试过程。所以,这就保证了采用自动化测试技术后的软件运行与使用故障的发生率比较低;不过,对新测试项目进行研究则往往需要花费较多的时间。
(3)自动化测试中,需要更加精准的软件测试版本,而这也比采用传统手工测试方式所造成的影响更大。比如,有些专业化程度较高的软件,由于其版本的更改,会给自动测试中所使用脚本带来难以预料的异常,甚至于崩溃。所以,对软件开发中的测试工作,会给后期的维护带来不小的压力,并给整个软件的维护增加成本与投入,使得相关测试方式有一定的局限性。
所以,通信软件利用自动化的测试方式,相较于传统的手工测试方式,其优势非常明显;但是,自动化测试的局限与弊端也同样不能忽视。所以,不能盲目地不定自动化测试的使用,同样也不能对其进行全盘的肯定,需要对自动化测试工作有更加理性的认识,以便能够在实际工作中合理选择传统手工测试与自动化测试方式,或者实现两者的优势互补,有效提升测试工作的效率。
对于通信软件自动化测试的框架而言,其整个框架的底层需要对API进行自定义,以便能够为测试系统的上层框架提供过度性的服务与支持;同样,自动化测试系统中的上层结构,也是测试用例中比较重要的内容,主要包括了应用脚本、公共包的封装等。
根据实际的参数设置情况,对测试对象所选用的服务器配套类型进行连接。这主要是完成连接操作后,就可以获得相关设备的具体信息,以及与文件相关的环境变量,从而为更加科学的配置与设计提供指导。
在测试中,为了实现对某些程序的功能进行拓展,通过的作法是利用拓展包来完成该任务。所以,脚本在编写中,也应该利用辅助拓展包的辅助功能来完成,也就是说,脚本的属于开源的状态,可以实现脚本功能的更加丰富,并对现有的其他功能拓展问题进行解决。
负责具体测试的操作人员,一般会对软件协议中的状态转化一致性进行检测。而协议状态机的转换还需要通过其他信息资源的驱动才可以完成。所以,这转换的过程中,各类信息资源的中消息的内容,以及报文所采用的类型,就显得非常关键。也可以认为,在协议状态机的切换中,需要借助于报文类型的编写,来提高整个软件测试的质量与速度。
对软件所进行的测试工作启动后,具体的测试程序与测试场景通常会比较多变,且需要对复杂问题的多种情况进行解决。所以,为了能够实现相关复杂状况的有效解决,就需要对自动检测中的状态检测次数进行适当的调整与设置。自动测试中的日志信息设置模块,就是在对各类信息进行详细的记录、反馈、处理的基础上,实现对状态的检测与响应,以便对程序中各类故障的部位进行准确定位。
通信软件的测试实施过程中,其关键的核心模块就是脚本测试模块。负责自动化测试的研发人员都会关注脚本的功能实现,是否与测试设计相互配套与兼容。而对测试脚本进行自动货损的操作测试过程中,测试人员的工作往往显得比较被动,这主要是由于在出现问题的情况下不能及时地终止,从而给整个测试环境产生影响;同时,由于各类问题的出现,如果增加测试工作量,也会给整个测试进度造成影响。所以,在脚本测试时,要充分考虑测试环境的有利性,不仅如此,还应该对脚本的缺陷、异常错误等进行检查,并能够制定更加适合的预先处理机制。
在通信类软件中采用自动化测试方式,其特点主要体现在操作容易、拓展性强。在一些应用,如TCL脚本语言的测试优化过程中,不仅可以加强对软件开发设计方法的研究,还能够通过管理的指令化,解决测试中脚本语言的实际功能实现问题。同时,软件测试操作人员不仅可以对软件的功能特性进行测试,保持功能特性的测试稳定性,进而根据不同的需求,在具体的测试脚本中添加不同的测试内容,最终实现对通信软件功能测试的不断完善。
[1]黄茂生.软件自动化测试工具的评估与选择[J].电子测试,2010(12).
[2]常征,陆守一.基于统一过程原则的软件自动化测试研究[J].铁路计算机应用,2012(3).
[3]易小芸.Tcl Access Excel实现方法及在软件自动化测试中的应用[J].电脑知识与技术: 学术交流,2011(8).
[4]刘腾.软件测试技术与自动化测试框架模型的研究与应用[J].电脑知识与技术,2011(26).
[5]冯伟,李波,何倩.软件测试自动化应用分析[J].制造业自动化,2011(2).