软件测试中的自动安装和功能测试

233 阅读5分钟

自动化软件测试在确保软件开发的每个阶段的质量方面发挥着重要作用。本文讨论了如何开始使用Python的机器人框架。

每一个代码的改变都有可能引起不希望的副作用,导致软件的错误状态。为了在早期阶段发现这种错误(不仅仅是在生产中),自动化测试必须验证软件的先前功能和新功能。

首先,应该确定项目目标(愿景)和一个粗略的路线图。这里不能忽视必要的预算。正如预期的那样,在项目开始时,开发完全自动化测试所涉及的努力要比后来的运行期间高得多。然而,一定的 "背景噪音 "总是存在的,因为测试结果必须被评估,测试案例必须被调整,新的测试功能必须被实施。

在明确定义了要测试的软件的程序和过程后,选择工具和框架。随后,应该在启动仪式上展示第一个原型,以便使人们接受所使用的工具。

自动化软件测试--介绍

在成功构建(新)软件后,测试自动化会自动启动,并使用要测试的软件版本。在可安装软件的情况下,这必须在所谓的 "静默模式 "下无需人工干预。顺便说一下,大多数软件安装程序提供一个 "响应文件"。响应文件是一个文本文件,包含用户在第一次安装时指定的相应对话框和输入。

然后,软件会自动进行设置和参数化,并测试应用程序、服务、浏览器、GUI等的正确运作。如果要测试的软件产品支持不同的平台(Unix、Linux、Windows),必须对所有这些操作系统进行测试,最好是并行测试,每晚运行一次。通过这种方式,可以有效地进行长时间的测试,更好地分配硬件资源的利用,并且测试结果可以在早上得到,以便进一步分析。

如果大量的测试在几个不同的测试系统上并行运行,那么建议使用虚拟计算机系统,或虚拟机(VM)。如果你不想使用自己的硬件,云计算是一个有趣的选择。在这里,也会提供所需的IT资源。

用机器人框架进行测试

对于开发完全自动化的软件测试,机器人框架显然是我的最爱。决定性的因素是广泛的模块化系统,用于扩大功能范围,以及简单的处理和良好的集成可能性。另一个优点是测试案例的结构简单,像表格一样,只需要一个很短的培训期。

机器人框架专注于用户测试(验收测试和端到端测试),但也可用于系统测试和烟雾测试。机器人框架是用Python开发的,可以作为开源软件免费使用(Apache许可证)。一个新的主要版本,机器人框架5.0,已于2022年3月底发布。

该框架的安装并不复杂,因为只需要Python 3和它的软件包管理器 "pip"。

有两个既定的系统可用于开发和测试执行,但它们也可以一起使用,享受每个环境的好处。RIDE是机器人自己的开发环境,它使新人很容易学习如何使用该框架。RED是一个基于Eclipse的开发环境(IDE),会让有成就的软件开发人员感到高兴。

测试自动化-场景

如上所述,软件的所有功能都应该被自动测试。机器人框架在这里帮助我们,它有大量的库和附加包,可以很容易地集成。其中一个例子是非常稳定的SSH库,它使得所有的测试都可以在Windows、Linux和Unix上远程运行并可重复使用。

在网络浏览器的端到端用户界面(UI)测试领域,可以使用来自Playwright的新的现代浏览器库(自2021年初)或历史悠久的Selenium框架。这些库可以方便地集成到机器人框架中。这使得测试基于图形的功能,如鼠标点击或用户在网站上的输入和输出变得容易。

当然,自行编写的测试脚本也可以毫无问题地集成到机器人框架中。不管是Java、Python还是shell脚本都是首选,只需要观察0或不0的返回值就可以得到有用的报告。

软件测试-评估

广泛的测试报告是由机器人框架自动生成的HTML页面。此外,测试结果可以被导入测试管理系统,如 TestLink。为了能够更快速地分析错误,带有输出日志文件的精确错误描述是非常有帮助的。如果有大量的测试,为测试定义责任也是有意义的。这使得通过自动电子邮件将错误报告发送给相应的同事成为可能。

对于测试结果的图形化展示,锦上添花的是与Splunk仪表盘等的集成。这使得它很容易看到当前的情况,特别是在大量的软件测试中。

如果仪表盘不够用,交通灯系统是最好的解决方案。通过先前定义的阈值,可以使用USB交通灯的不同颜色。例如,如果你早上来到办公室,看到交通灯闪着红光,就会立即明白:发生了错误。否则,如果你看到一个绿色的交通灯,你的一天就可以不那么紧迫地开始了,因为所有的测试都已经运行,软件没有错误地通过。

完全自动化的测试是一个不可缺少的因素,特别是在敏捷软件开发中,以确保连续无错误的软件。通过每晚运行的测试自动化,可以节省宝贵的资源。机器人框架是一个优秀的工具,可以用来实现所有软件测试的自动化。