APP下载

软件自动化测试方法的应用

2019-12-02张蓝图

电子技术与软件工程 2019年18期
关键词:测试法测试人员关键字

文/张蓝图

现阶段各类网络软件的出现导致软件使用者对软件质量提出了更高要求,故为了满足社会群众的要求,现阶段的软件测试方法也不断革新、研发,通过对软件质量和性能的全面、高速测试,以便根据测试结果对已完成的软件进行针对性的优化。而传统的人工测试方法,其效率与准确性都已难以满足现代社会的相关要求,故自动化测试方法已逐渐成为现代软件测试中新的研究课题。

1 软件自动化测试方法的研究

1.1 软件自动化测试的概念

自动化测试就是将以人为基础的传统测试革新为以执行机器为核心的新型测试工作。通常情况下,在完成对测试工作的设计后,还应经由一定的审核、评价,再通过测试人员按照相关设计执行测试并获取到测试结果。而自动化测试即是将这一过程改为应用各类软件、设备等按照预先设置的内容进行测试,并经由相关程序实现对测试结果的自动化评价,从而在确保测试准确性、科学性的基础上,还能提高测试效率。通常来说,软件自动化测试常会分为软件需求、测试计划、测试设计、执行测试、缺陷处理与测试总结等环节。并且为了满足制作者对软件、程序高效率和低成本的要求,在实际测试时常需要进行多次的重复测试。故为了提高软件测试效率,软件自动化测试的重要性逐渐提高,现阶段的软件自动化测试方法、程序等也不断丰富,由此现阶段的软件自动化测试也逐渐拥有了更广泛的应用空间。但相关测试人员也应明确,现阶段的软件自动化测试仍未达到完全的自动化测试模式,在测试过程仍需要一定的人工操作,现阶段的软件自动化测试中其自动化程度通常占整个测试流程的50%左右,而若自动化过高,相关测试程序、设施的维护成本将大大提高。

1.2 软件自动化测试的方法

现阶段的软件自动化测试方法常会根据主要操作模式分为脚本编写、录制回放、数据驱动和关键字驱动四个主要方法。在脚本编写的测试方法中,通常需要测试人员先对软件及其中各模块的功能进行探索,还需要相关设计人员对软件实际功能与软件说明进行对照,而后再以此为基础编写软件测试的脚本。经由采用脚本对软件进行自动化测试,故该方法往往具备较高的准确性及良好的灵活性,但由于脚本编写过程常会耗费大量的人力资源且大部分的脚本程序往往难以重复利用,致使该方法的软件测试成本较高。而录制回放方法则与脚本编写方法类似,录制回放法是以编写的录制回放脚本为基础,通过脚本对用户操作记忆的模拟、复现功能,从而实现对软件的自动化重复测试,经由该方法往往能够满足最基本的测试要求。该方法通常具备较强的操作性,并被广泛应用于低成本的软件开发中。但由于该方法所编写的脚本逻辑性、功能性较为单一,故受脚本重复利用性较差的影响,应用录制回放法时常会造成大量冗余。至于数据驱动方法则是以相关变量的参数化为基础,通过将测试数据记录于测试脚本中,从而使文件数据与脚本数据相对应,由此在测试脚本与测试数据相分离后,其测试脚本仍能重复利用。故该方法的测试脚本往往能够拥有较高的灵活性和较全面的测试内容,但在将测试脚本应用于不同软件时,仍需要相关测试人员针对该脚本进行一定修改,而这就在一定程度上提升了该方法的应用成本。关键字驱动方法是以数据驱动测试技术为基础,经由一定的改进、革新而创建。在应用该方法时,通常需要相关人员先根据关键字、方法与函数等创建关键字框架,再以此为基础建立起函数库,从而通过对关键字的读取与对测试项目的调用等实现软件的自动化测试。由于该方法在数据驱动法的基础上开发了以关键字为核心的数据库、数据表,并以此成为独立测试的自动化工具,故该方法往往拥有更强的灵活性,能够广泛应用于软件测试的各环节中。

而虽然现阶段软件自动化测试方法较为多样,但测试人员的操作仍在很大程度上决定了测试结果的准确性与高效性。尤其在面对软件设计时间要求较短的情况下,自动化测试中重要的脚本研发环节更是会出现时间短缺的情况,由此自动化测试也难以开展,这就需要相关人员针对所需测试的软件,通过采用手动测试加以可重复使用的自动化脚本进行辅助,由此实现软件的测试。综上,在应用自动化测试技术前,相关人员就应当对软件测试能否应用自动化测试方法进行一定辨别,在确定软件需求变动不频繁且项目周期较长的情况下,才能利用相关脚本展开自动化的测试工作。

2 软件自动化测试的实际应用

2.1 Linux GUI自动化测试

Linux GUI自动化测试是以现阶段Linux自动化测试的开源软件为核心,该测试法属于关键字驱动方法中的一种。而GUI测试则是一种软件测试类型,其测试对象主要是以图形界面为主的相关软件,其中的具体测试元素则为软件窗口、界面图标、软件菜单与指示设备。Linux GUI自动化测试法的原理是由多个关键字进行驱动,通过分层的结构框架,从而实现各功能的同时进行,并能经由该方法中低层向高层提供服务的模式,以达到高效化的自动测试工作。在实际应用Linux GUI自动化测试法时,测试人员的主要任务即是对软件功能、集成、性能、稳定性等方面进行测试,以及对软件各单元、组件的功能进行测试。在对软件功能、集成的测试中,通常需要对软件中各类组件的不同集成进行验证,并通过将边缘测试进行合并从而建设出多种类的错误处理测试。而软件性能测试中则涵盖有压力测试、负载测试与并发测试三种类型,该自动化测试环节中往往需要极高密度的测试工作,故手工测试方式常无法满足该环节的测试需求。而针对软件稳定性的测试则主要是测试软件在长时间、大容量等条件下的运行可靠性,经由相关条件的模拟从而测试出软件的研发成熟性与实际应用性能。而在对软件单元、组件进行功能测试时,由于相关的测试单元较为繁杂,故这一测试环节中通常会针对最小测试单元进行测试,而即便如此该环节中也同样存在着较为复杂的测试内容。通常LinuxGUI的自动测试法还会分为通用功能与非通用功能测试两类,通用功能测试即是对被测试软件中的控件功能进行测试,从而实现对软件中最小测试单元的性能测试,而非通用功能测试则是根据软件中不同控件使用时的执行顺序为基,由此生成不同的测试序列,以便Linux GUI控件能够自动进行相关的测试内容。针对软件性能测试环节,Linux GUI控件则能经由多版本的特性实现对相关软件的大量重复测试工作,还可以利用元素树的自动化测试法,进一步保障Linux GUI自动化测试法的准确性。

2.2 Python CLI自动化测试

CLI属于一种文本类型的命令接口,其功能是利用终端或远程端口来建立起用户与网络设备间的通信渠道,而在控制时则主要是基于用户使用键盘输入的文本命令,由此对相关网络设备进行监管与维护。而CLI的测试模式则主要由命令协议、命令外壳与命令集构成。CLI的测试原理主要是通过用户操作来驱动终端,再经由其终端向用户端进行发送命令,并由远程通信协议的沟通,而后服务终端将会开始运作,随后通过终端对服务终端外壳的驱动,最终利用命令集实现对用户命令的解析。故在应用CLI自动化测试法时,首先应当选择科学、合理的测试框架,再以此为基础对CLI自动化测试法的功能进行整合、总结,最后再根据整合结果与测试框架对测试方案进行设计。在中国联合网络通信有限公司济南软件研究院中,就对Python CLI自动化测试进行了深入探索,并建立起了自动化程度较高的测试脚本。仅需要测试人员输入、选择相关的测试数据,在CLI系统的测试环境初始化完成后,CLI系统就会自动读取相关测试数据,并经由翻译、执行测试用例以及输出、记录测试结果等自动化测试环节,从而完成对软件自动化的测试工作。此外,该CLI的自动化测试脚本中,还具备着测试完成的自动清理功能,能够为后续测试的准确性打下良好保障。

3 结语

综上所述,经由丰富的软件自动化测试方法,现阶段测试人员已能够全面、准确、高效地探索到相关软件的可优化空间。而利用自动化测试方法,也能有效减小人力物力等资源耗费。故相关测试人员应当积极采用自动化测试方法,通过降低人工测试的比例,从而在提高测试效率的基础上,保障性能测量的准确性。

猜你喜欢

测试法测试人员关键字
履职尽责求实效 真抓实干勇作为——十个关键字,盘点江苏统战的2021
成功避开“关键字”
高校分析测试中心测试队伍建设方案初探
伊士曼展示其耐受医用消毒剂的新一代聚酯——四步测试法显示伊士曼MXF221共聚酯具有出色的耐化学性
新型混合材料咀嚼效率测试法
电气化铁路轨道电路绝缘电压测试法的研究
基于D-最优化理论的陀螺仪力矩反馈测试法
犯罪心理测试人员素质要求分析
智能垃圾箱