基于Python的软件测试自动化平台研究

2021-01-08 02:16黄娟
无线互联科技 2021年23期
关键词:软件测试

摘 要:在整个软件开发行业,软件的测试工作容易被忽视,导致我国很多软件在进行测试时候缺少专业技术支持,软件测试质量和效率不足以满足市场需求。只有拥有更加专业化和自动化的软件测试技术,建立一套完备的测试体系,才能满足各个行业对软件系统的需求,促进我国软件行业的发展。文章针对基于Python的软件测试自动化平台进行了研究,希望能为软件测试行业发展提供一些帮助。

关键词:Python;软件测试;自动化平台

0  引言

在完整的软件开发过程中,软件测试是贯穿整个过程的重要环节,不论是系统编写、框架构建还是系统编码等,每一环节的有效性都离不开软件测试工作,只有通过可靠的软件测试平台才能确保软件的可实用性。在欧美等一些软件开发巨头企业中,软件测试的工作量和成本投入几乎占了整个软件开发过程的一大半,足以看出国外企业对软件测试的重视程度。在传统的软件测试工作中,由于其技术和自动化不足,所以在测试过程中有许多问题和不足尚待改进[1]。比如,测试周期时间过长,而且一旦开始测试就必须一直进行下去,即使在测试过程中发现了问题并进行改正之后,也很难再继续回归测试,因为中途一旦停止就很难了解到已测试内容所占的比例。因此基于Python的软件测试自动化平台就亟待研究。通过Python建立一个自动化软件测试平台,从而利用自动测试的技术来提高软件测试的工作效率,进而带动整个软件开发行业的发展,降低软件研发应用所需要的周期时间[2]。

1  软件测试概述

一个软件系统从开始设计研发到上架应用,这整个过程中需要进行严格的测试。尤其是在投入市场应用之前,需要先对软件系统进行功能性检验,以发现软件中所隐藏的问题和漏洞,因此软件测试可以说是确保软件稳定安全运行的一个重要保障。一般来说,软件测试方法根据分类标准不同,其类别也不一样,按照测试的方式可以分为手动测试和自动测试。手动测试需要测试人员通过鼠标对软件的功能和运行状况进行人为测试,整个过程比较枯燥乏味。而自动测试则是通过写好的测试程序对其进行内部或者外部的测试。在实际情况中,不论是手动测试还是自动测试,都在测试方面起着重要的作用,是研究人员主要应用的两种测试方法[3]。

与自动测试相比,手动测试的不足要更多一些。如手动测试的工作技术含量偏低,且需要进行手动测试的内容过多,就容易导致在测试过程中出现差错和漏洞等。即使手动测试更加适合刚加入测试工作的人员,但由于其工作内容过于单调枯燥乏味,可能会导致工作人员产生疲惫心理,从而降低手动测试的工作效率,导致在测试过程当中因为人为因素而产生错误。

总的来说,手动测试和自动测试各有其优点和缺点,手动测试更加注重对软件业务逻辑等相關的测试,而自动测试则是偏重于对软件进行结构测试[4]。为了确保测试结果的准确从而保证软件的功能完整性和应用稳定性,测试人员都会同时应用两种测试方法。而如果按照检测内容分,检测方法则是分为3种,分别是黑盒检测、白盒检测以及灰盒检测。(1)黑盒检测,将软件看成一个不透光的黑盒子,检测人员对其内部无法进行查看,只能对其行为功能进行测试。(2)白盒测试,与和黑盒测试恰好相反,白盒测试中,工作人员主要就是对软件的内部系统结构进行测试分析,之后还需要结合计算机的知识对测试数据进行引导。(3)灰盒测试,测试内容是介于黑盒和白盒两者之间的。目前,白盒技术更加复杂,所以我国软件测试行业大多数进行的都是黑盒测试,与黑盒测试相比,白盒测试内容和方法也更为复杂,这就要求进行白盒测试的工作人员具有很高的专业技能水平。因此,相对黑盒检测技术来说,白盒检测技术由于其需要专业性技能,在我国的发展更为缓慢。

2  基于Python的软件测试自动化平台需求

随着网络技术的不断发展与创新,软件测试的平台也越来越多。通过Python进行软件测试自动化平台的搭建也是一次对软件测试行业和技术的创新。但这其中也有一些需要相关人员注意的地方。

(1)在构建平台时应该加入至少一种通用的编程语言。

因为现在大多数测试工作中进行软件测试的人员所掌握的编程语言都是现下比较流行热门的编程语言。因此在平台构建过程当中使用通用编程语言,可以省去测试人员重新学习一门编程语言的时间,减轻了测试人员的负担,提高了软件测试工作的效率。

(2)测试平台最好具有支持可视化图形的界面操作。

我国当前的软件测试行业还处于起步发展阶段,人才积累还比较少,大多数进行软件测试的人员都是非专业出身的。因此拥有可视化图形操作界面,可以大大简化操作过程,使得软件测试难度降低,从而降低测试人员的出错率,提高其工作效率。

(3)将用例的代码格式保存在文本格式下。

由于技术的限制,大多数的文件只能在适合的运行环境下顺利打开运行,但是文本格式由于其运行条件比较简单,因此不论是什么运行环境都可以进行文本运行。保存为文本格式之后直接打开就不需要工作人员再进行额外的编译工作,节省了不少时间和精力。

(4)所有的用例执行都应该包含在输出界面中。

这可以说是自动测试的最明显的一个特点,可以更好地解放人力,提高软件测试的技术化自动化。只有减少人为工作的参与,才能真正实现自动化的目的,这就强调了应该在构建自动化测试平台时保证结果输出的全面性。

(5)自动化测试平台应该支持微软系统。

目前,全国乃至全世界大多数的计算机用户所使用的都是微软的窗口系统,所以要想确保测试平台能够满足大多数计算机用户的运行要求,就应该确保自动化测试平台支持窗口系统的操作,这样才能够实现自动化测试平台的深入全面推广。

3  基于python的软件测试自动化平台设计方案

3.1  c#模块设计

在软件测试自动化平台里c#模块一般分为文件、执行、脚本编辑以及实时信息显示4个模块。

(1)文件模块。

利用专门的控件来进行文件地创建和读取,方便简洁,还能在用户进行页面保存时为用户提供一个更易理解的显示页面。不过在使用时需要注意,将其默认的格式改为文本格式,以减小文件运行所受环境的限制性,大大提高文件运行的通用性和简洁性。

(2)执行模块。

执行模块是对系统平台实施执行命令的一个模块,可控制系统的开始、暂停和结束,相当于系统的大脑,执行模块還可以将在空间中打开的文件转换为文本模式,大大节省了文件运行的时间和过程。

(3)脚本编辑。

脚本编辑也就是程序编写,是由应用程序提供的编程语言。应用程序包括浏览器、多媒体创作工具,脚本包括应用程序的宏和创作系统的批处理语言。

(4)信息显示模块。

由两个控件组成,一个主要是负责在分页第二页发挥作用,另一个可以进行复合操作,属于复合型控件的一种,在数据输出等功能上发挥作用。

3.2  Python入口文件

要想通过Python建立起一个完备的自动测试软件平台并且稳定运行,还需要入口文件的功能。入口文件就相当于推动整个平台工作流的一个引擎,能够推动测试工作进行顺利。实际上,入口文件并不在实际工作指令中发挥作用,所以只有在接收数据参数化后,入口文件才能按照指定的工作流程开始软件测试工作。

Python的入口文件在工作中的主要作用:(1)对命令行的逻辑问题进行分析解读;(2)在工作中建立临时目录;(3)按照计划执行工作流程;(4)对临时路径进行清除,包括临时目录、临时文件等。当然入口文件的功能也不止以上这些,但足以看出入口文件对于平台构建的重要性。

4  结语

随着我国软件开发行业的不断扩大,社会各行各业对其需求的增长,国家对其的重视,软件行业在我国必将长期处于上升的阶段。作为互联网企业要想提高企业竞争力,就需要在此阶段中做出一番创新和改进。基于Python的软件测试自动化平台的构建就是一个需要不断进行研究和创新的项目。通过利用网络技术来提高软件测试的专业化和技术化,提高软件测试的效率,同时也是对我国整体软件行业发展的推动。因此研发人员需要继续进行相关方面的深入研究,在此基础上创建一个完备的软件测试系统体系,为我国的软件行业发展做出贡献。

[参考文献]

[1]张珩.Python的计算机软件应用技术探讨[J].电脑知识与技术,2020(32):96-97,102.

[2]姬峰.基于改进遗传算法的软件测试自动化机制研究[J].信息技术,2019(10):88-93.

[3]王崇刚.Selenium在B/S架构软件中黑盒测试的自动化实现[J].科技传播,2018(23):162-163.

[4]李菲,杨君,曹阳,等.云计算环境下的软件测试自动化技术研究[J].现代计算机(专业版),2018(31):3-6.

(编辑 何 琳)

Research on software test automation platform based on Python

Huang Juan

(Jiangxi Software Vocational and Technical University, Nanchang 330041, China)

Abstract:In the whole software development industry, software testing is easy to be ignored, resulting in the lack of professional technical support for many software testing in China, and the quality and efficiency of software testing are not enough to meet the market demand. Only by having more professional and automated software testing technology and establishing a complete testing system can we meet the needs of various industries for software systems and promote the development of China’s software industry. This paper studies the software testing automation platform based on Python, hoping to provide some help for the development of software testing industry.

Key words:Python; software testing; automation platform

作者简介:黄娟(1984— ),女,浙江浦江人,助教,本科;研究方向:计算机,软件测试。

猜你喜欢
软件测试
基于OBE的软件测试课程教学改革探索
EXCEL和VBA实现软件测试记录管理
关于软件测试技术应用与发展趋势研究
智能电能表软件测试技术概述
《软件测试》课程教学策略研究