APP下载

论基于Selenium的Web自动化测试前景

2021-11-18张周浩贾孝辉

科教创新与实践 2021年5期
关键词:前景测试

张周浩 贾孝辉

摘要:Web应用的验收测试往往是一系列的手工测试任务,最常见的操作像打开一个浏览器,然后执行一个测试用例的操作,例如某些数据的增加、修改、删除等操作。但是手工执行的任务容易出现操作人员的错误,并且浪费大量的人力和物力以及时间。而且作为一个简单的应用插件,它的版本交替速度往往特别的快,测试的速度远远跟不上产品发布的速度。因此,尽可能的去实现这些测试用例的自动化,消除人为因素、节约测试成本、提高自动化测试脚本的维护性和移植性,从而更好的去保证和提高软件的质量成为一个迫在眉睫的问题。

关键词:Web自动化;测试;前景

一、基于Selenium的Web自动化测试

不同于一般应用系统的测试,Web测试需要检查和验证系统是否按照设计好的要求去运行,而且还需要测试系统在不同用户的浏览器中显示是否符合要求。还要从用户的角度进行安全性和可用性测试。Selenium测试脚本执行的时候,浏览器会自动按照脚本代码做出点击、输入、打开、验证等操作,就像是真实用户所做的一样,从终端用户的角度来测试Web应用程序。

(一)Selenium的介绍

自动化测试工具越来越多,但开源的却不多,比如QTP、QC、LR、WR这些测试工具功能强大,但由于这些软件都不是开源的,所以被很多公司拒之门外。还有一些因为兼容性不好或者可使用的语言过少,比如Watir、WebInject、MaxQ等。Selenium相对而言却是一款更实用、更方便、更经济的测试工具,它的功能可以满足测试人员的工作需要,并且最让公司和测试人员认同的是它是一个开源、免费、并且兼容性好,能使用多种语言的测试工具。

(二)Web自动化测试的意义

1、Web应用的特点:

Web应用一般有非常巨大的用户量,并且还要对Web资源进行跨浏览器、跨平台的访问,同时还要有处理并发事务的能力,综上所述,Web应用的特点是分布、异构、并发,因此它涉及到的问题比一般应用程序更多。Web应用的服务器一般来说有三层:

第一层:表示层,用户对Web应用的直观体验全都在这一层,在这一层上将提供各种用户需要的信息以及交互操作,并把用户的请求发送到应用服务端,然后把相应的结果返回给用户。

第二层:业务层,运行应用服务器。在这里运行的软件模拟业务流程。

第三层:数据层,从一个或者多个关系数据库管理系统中存储和获取数据,它包含了与第二层进行通信的数据库设备。进入数据层的接口由数据模型来定义,模型描述了怎样进行数据存储,并通過负载均衡机制来缓解应用系统的高事务量。

2、Web自动化测试理论基础:

自动化测试(Automatedtest):是指在测试过程中无需人工干预,完全由预先设计好的计算机程序或者机器代替手工对待测软件进行测试,并在测试的过程中,详细记录测试的操作日志,对程序的异常信息进行捕获上报,以便测试结束后,可以有依据的去分析测试结果,而且还会提供一份详细的自动化测试结果报告。而自动化执行期间,由于程序或者机器没有主观意识,所以需要在程序中预先设定好验证点的正确预期结果,同时由于程序几乎没有疲惫的时候,只要程序逻辑没有问题,长时间的重复测试就也不会出错,这个是人工无法确保的。自动化测试的最大好处就是,可以代替手工进行大量的重复性测试任务,这样既降低了人力成本,又提高了测试的效率。不同于一般应用系统的测试,Web测试需要检查和验证系统是否按照设计的要求运行,而且需要测试系统在不同用户的浏览器中显示是否合适。还要从用户的角度进行安全性和可用性测试。这就更需要自动化测试来对其质量就行把关。

3、Web自动化测试的主要内容:

(1)功能测试

对Web应用提供给用户的所有外部功能点进行全面测试,测试中,只需要关注业务逻辑是否实现正确,是否存在功能缺陷。无需关心产品的内部结构以及其逻辑的具体实现方法。Web应用在版本更新迭代时,需要在多个平台上对旧功能进行回归测试,以保证新版本的质量。Web应用在执行功能测试的时候,最需要关注数据的准确性、一致性。

(2)性能测试

目前同类型的产品市场竞争非常的激烈,为了增大用户量从而赢取利益,仅仅保证Web产品的功能实现,这样已经无法满足广大用户的需求,还需要保证产品在使用时用户有一个好的性能体验,这时,开展性能测试就显得尤其重要,性能测试时,一般需要测试如下几个性能指标,如系统响应速度、用户高峰期时的并发率、内存和CPU占用等,其中系统响应速度的快慢用户是可以很直观地感受到的。在一般负载情况下,要求系统的响应时间控制在2秒之内,否则如果响应过慢,有些用户会因为没有耐心等待而选择离开页面。

(3)兼容性测试

Web应用程序的使用者分布于多种平台上,包括不同的操作系统、不同类型的浏览器、不同版本的浏览器等等。每当Web应用要进行版本更新时,为了保证所有用户都能正常使用产品,就需要在各种不同的平台上对待测应用的新版本以及旧版本进行兼容性测试,而在进行兼容性测试时,无法保证测试可以覆盖到所有的平台,因此最起码需要保证主流的、用户量大的平台必须兼容。

二、Selenium自动化测试的应用前景和展望

基于Selenium 的 Web 自动化测试框架,通过人们不断的研究和实践,已经大量投入到具体的自动化测试项目中,每天都会对稳定模块的用例进行日建测试,大大地提高了版本迭代的效率。Selenuim自动化测试运行稳定,测试的结果数据准确,极大的提高了测试效率,保障了产品的质量,节省了测试和维护所需要的成本,为企业带来了经济效益,有很大的实用价值。在 Selenium 自动化测试框架下应用数据驱动技术可以有效地降低测试时间,提高测试效率。相信今后随着自动化测试技术的不断发展,会有大量自动化测试新方法以及新工具的涌现,自动化测试一定会走向成熟化、标准化。

参考文献:

[1]赖利锋,刘强.Web 应用程序的一种功能自动化测试模型与实现[J].计算机工程, 2006(17):14-39.

[2]刘伟,郭秋月,胡志刚.基于Selenium的Web自动化测试框架优化及应用研究[J].电子测试,2018(20):51-53.

河南科技大学软件工程学院 河南 洛阳 471003

猜你喜欢

前景测试
流苏树与美国流苏树园林绿化前景探讨
心理测试
一年级上册期末小测试
逃离体能测试
巧妙运用前景,照片美感瞬间提高!
中小企业如何适应产业结构调整
心理小测试
测试
你知道吗?