自动化测试

2021-09-10 17:44喻伟
家园·建筑与设计 2021年2期
关键词:自动化测试

喻伟

摘要:随着软件工程越来越复杂,软件的重要性也越来越大。软件测试是一门涉及广泛知识的学科,软件测试行业在国内方兴未艾,测试工程师门需掌握各种测试技术和工具,测试团队的管理也需完善和提高。论文介绍了软件测试的含义、特点,还介绍了相关一下辅助工具;还简述了执行自动化测试的项目条件,还有测试的过程。

关键词:自动化测试;手工测试;测试工具;功能测试;回归测试

1自动化测试的含义

1.1自动化测试

自动化测试是测试人员将人工操作行为转换为机器执行,从而减少频繁重复工作的内容,减轻工作量,还可以达到省时省力。通常在编写完测试用例并通过各部门的评审后,执行人员会按照测试用例描述的操作步骤依次执行测试,然后将返回内容与预期内容进行对比,验证是否满足实际。在这个过程,为了获得更优秀的效率,便有了对使用机器执行操作的诉求。

自动化测试,即是使用机器替代人力进行的一系列测试验证工作,它关注的是,整个验证过程是由电脑按照既定逻辑自动实现的,更表现了自动化的思维。

1.2自动化和手工区别

部分测试人员和一些不明白自动化测试的程序员、产品经理、项目经理甚至老板,一直对手工测试和自动化测试这两种方法存在很多争议的,但其实这两种测试方法应一直并存存在,谁也无法取缔谁,各自存在不同的优劣势。

手工测试也因有其缺点,亟需一种补充手段,在这需求背景下自动化测试应运而生,但自动化测试不应全盘接受,将手工测试弃之如敝履,因为对数据和业务逻辑的正确性检验、人们对美观的具现化,这些都是人才能具备,机械在现阶段技术水平暂无法踏足。

但是測试只使用手工方式,那么就会出现比较低的测试工作效率,无法实现高效率,尤其重复工作如回归测试等,这种无味且枯燥的工作重复,就使得测试人员造成压力、情绪低落等不良影响。这就是自动化应一种补充的手段,而不应取代手工。

1.3自动化测试的优缺点:

1.3.1优点:

1)对系统项目开展回归验证的更有效率。在接口层面更是效果显著。因接口测试的实现是按照用例的操作步骤设计的,易于将结果与设计的理想值对比,机械大量一起执行,因而效率极大得到提升,加快项目进度。

2)可以执行更多重复性高的测试。无论是API还是UI自动化,可让大量重复性的测试在极短的时间运行完毕,避免人工因大量重复造成错漏。

3)可以执行一些手工测试几乎不能完成的测试任务。举例对于性能测试的执行需要几千几万的人员,1s内同时点击、秒杀,同时浏览商品详情页面,同时登录等,但是却可以通过,编写脚本,通过调控并发数,模拟巨量用户操作,完成性能检测任务。

4)测试资源的释放。自动化实现繁多且枯燥的操作,从而使机械式的工作状态的人员得以解放,有有条件创造更好的测试框架和用例。可以让测试人员专注于流程、业务、界面、数据验证部分,提高手工测试的准确性和效率。

1.3.2缺点:

自动化测试无法百分百的发现系统中全部问题,但自动化测试也能发现软件包含了负载测试,性能测试,回归测试等百分之三十三点三的问题。而业务逻辑、页面设计错误的百分之七十二点七的问题发现,则现技术不能完成,

1.4手工测试的不可替代性

工具只能执行既定策略进行测试任务,不具备自主辨别逻辑错误的能力,而人恰恰擅长于此,这就成了不可替代手工的原因。具体表示在以下几点:

1)设计:测试经验、对业务错误的设想能力是工具不具备的。

2)系统的体验方面:随机不按既定逻辑的操作,对美的理解都是工具脚本难以实现的领域。

3)正确性的检验:工具对正确性的判断都来自程序员,不具备智能理解需求的能力。

2使用自动化测试的前提条件

自动化测试有其实行的前提条件,要分析系统的开发模型,与实施自动化是否适合,一般需考虑以下几点:

2.1 需求变动是否频繁

需求变动会引起测试用例的更新或者失效,从而相应以此为基的自动化脚本也会发生更新或者失效。当脚本发生改变后需要调试修改,甚至需要开发新的组件包来满足测试需求,都更大了加重了测试成本。这样与实现自动化降低测试成本的目的相违背,这样可以将这项目的自动化测试实施标记为失败。

对于系统整体功能需求是稳定的,修改多数存在逻辑相关较多的小部分功能时,可以有选择地将稳定功能实现自动化。

2.2 项目周期足够长

因自动化框架和自动化脚本编写都是需要开发,需要一个或多个技术强、经验丰富的测试人员或测试开发人员,成本往往不低,实现都需要一定时间,如果项目规模小,复用性比较低,那么将其测试工作自动化,明显是一个不划算的行动。

2.3 自动化测试脚本可重复使用

自动化脚本需要一个或多个技术强、经验丰富的测试人员或测试开发人员,成本往往不低,所以应制定一套框架和标准提供复用性,最大化经济效益。

2.4做“验证”,效果更好

因为自动化测试存在一定的缺点,不擅长发现问题,而是更擅长对问题修改的验证,或是用于对系统进行改动后,对原有功能进行可用性检查。

3自动化测试框架的实现过程

3.1 需求分析

当项目有实现自动化的条件、技术和资源时。测试领导们就可以针对于项目开发测试过程,考虑各方面的因素,以便于后续自动化测试工作的开展实现。

3.2自动化测试框架的搭建

以小型公司UI自动化为例,用最简单实际的方式。

3.2.1要关注业务。

当架构师或tester只为了炫技,为了实现而实现,不贴合业务,不能确实为测试工作做出贡献,这样偏离自动化的初衷,导致项目测试质量下降,造成损失。

3.2.2标准化,先苦后甜

有统一的技术栈,运行环境,代码风格,使得阅读性、可维护性都会上一个台阶,在框架工具包和test case日益增多时,更能体现标准化在效率和质量上的可贵。

3.2.3理性看待、合理运用

要计算自动化的实现成本,效益和成本的不匹配,不适合做自动化的就不要强求。但也不应自动化暂时实现得不好就否定它。未来AI发展也会影响测试行业,自动化的发展会乘风再踏上另一个台阶。

4结束语

在本论文的写作过程中,通过上网和查阅书籍收集相关资料从中了解到了软件测试的发展历程,软件自动化测试的由来,自动化测试的性能和其所用的工具,这些工具所使用的使用范围。

参考文献:

[1]《轻轻松松自动化测试》 作者,朱少民,由电子工业出版社于2009-7-1出版

[2]姚征。对机械设计制造及 其自动化专业课程设置的探讨[J].电子制作,2014(6)。

[3]王冬冬。分析机械设计制造及其自动化中计算机技术的应用研究,2017。

沈阳理工大学应用技术学院

猜你喜欢
自动化测试
基于Java反射的APP自动化混合测试框架的研究与实现
Hadoop性能测试自动化研究
数据驱动和关键字驱动的研究与应用
浅谈空调控制器自动化测试
基于多总线结构的电路板测试系统设计研究
航空航天与国防电子新形势下自动化测试系统的应用
基于CTI—TET和SeleniumWebdriver的Web应用自动化测试框架的设计与实现
自动化测试实现研究
一种航空交换机中CAN总线的自动化测试方法
基于Selenium进行Web应用测试研究