自动化测试基本流程是什么?什么是自动化测试

2025-03-17 09:30:01 0

自动化测试基本流程是什么?什么是自动化测试

本文目录

自动化测试基本流程是什么

自动化测试基本流程

1、制定测试计划

在展开自动化测试之前,最好做个测试计划,明确测试对象、测试目的、测试的项目内容、测试的方法、测试的进度要求,并确保测试所需的人力、硬件、数据等资源都准备充分。制定好测试计划后,下发给用例设计者。

2、分析测试需求

用例设计者根据测试计划和需求说明书,分析测试需求,设计测试需求树,以便用例设计时能够覆盖所有的需求点。一般来讲,基于Web功能测试需要覆盖一下几个方面:

1)页面链接测试,确保各个链接正常;

2)页面控件测试,确保各个控件可靠;

3)页面功能测试,确保各项操作正常;

4)数据处理测试,确保数据显示准确、处理精确可靠;

5)模块业务逻辑测试,确保各个业务流程畅通。

3、设计测试用例

通过分析测试需求,设计出能够覆盖所有需求点的测试用例,形成专门的测试用例文档。由于不是所有的测试用例都能用自动化来执行,所以需要将能够执行自动化测试的用例汇总成自动化测试用例。必要时,要将登陆系统的用户、密码、产品、客户等参数信息独立出来形成测试数据,便于脚本开发。

4、搭建测试环境

自动化测试人员在用例设计工作开展的同时即可着手搭建测试环境。因为自动化测试的脚本编写需要录制页面控件,添加对象。测试环境的搭建,包括被测系统的部署、测试硬件的调用、测试工具的安装和设置、网络环境的布置等。

5、编写测试脚本

根据自动化测试用例和问题的难易程度,采取适当的脚本开发方法编写测试较薄。一般先通过录制的方式获取测试所需要的页面控件,然后再用结构化语句控制脚本的执行,插入检查点和异常判定反馈语句,将公共普遍的功能独立成共享脚本,必要时对数据惊醒参数化。当然还可以用其他高级功能脚本。脚本编写好了之后,需要反复执行,不断调试,知道运行正常为止。脚本的编写和命名要符合管理规范,以便统一管理和维护。

6、分析测试结果、记录测试问题

应该及时分析自动化测试结果,建议测试人员每天抽出一定时间,对自动化测试结果进行分析,以便尽早地发现缺陷。如果采用开源自动化测试工具,建议对其进行二次开发,以便与测试部门选定的缺陷管理工具紧密结合。理想情况下,自动化测试案例运行失败后,自动化测试平台就会自动上报一个缺陷。测试人员只需每天抽出一地你该时间,确认这些自动上报的缺陷,是否是真实的系统缺陷。如果是系统缺陷就提交开发人员修复,如果不是系统缺陷,就检查自动化测试脚本或者测试环境。

7、跟踪测试BUG

测试记录的BUG要记录到缺陷管理工具中去,以便定期跟踪处理。开发人员修复后,需要对此问题执行回归测试,就是重复执行一次该问题对应的较薄,执行通过则关闭,否则继续修改。如果问题的修改方案与客户达成一致,但与原来的需求有所偏离,那么在回归测试前,还需要对脚本进行必要的修改和调试。

8、自动化脚本的维护

如果系统发生变更时,对自动化测试脚本和相关文档包括《自动化测试用例》、《自动化脚本设计说明书》进行维护,以适应变更后的系统。

什么是自动化测试

原文

首先我们从招聘岗位需求说起。看近期的职业机会,提到“软件测试工程师”,基本上都有关于自动化测试的要求。例如:

  • 了解 selenium、appium或者其他自动化测试框架;

  • 至少熟悉一门面向对象开发语言,有一定的代码功底优先;

  • 熟悉Java或者python,有一定的测试自动化经验和代码阅读能力;

  • 了解接口集成测试,会使用JMeter、Postman、SoapUI等接口测试工具;

等等,上述内容不再一一列举。突然自动化测试遍地开花,好像测试工程师的自动化测试能力成为了标配一般。本文就从自动化测试的要求入手,简单的进行自动化测试扫盲,争取让各位在一分钟之内了解自动化测试。

那么我们就从“自动化测试”五个字来剖析。

    一、测试

测试:这个我们熟悉。最经典的一个解释“ 程序测试是为了发现错误而执行的过程。”这个来自于G.J.Myers的经典著作《软件测试的艺术》的定义,给我们展示了测试的本质: 过程。

测试是为了发现软件的错误,而执行的过程,这个过程可以是以下内容:

  • 运行被测试的软件,执行软件的功能;

  • 运行其他工具,去检查软件的内部和外部。

总而言之,是一个过程,执行的过程。接下来就一张最常见的测试示意图:

    请点击输入图片描述

    确认过眼神的手工测试

比如:测试主管让测试工程师去把软件的所有功能遍历一遍,该测试工程师通过鼠标、键盘、麦克风、手机屏幕触控等,把软件所有的功能,全部遍历了,这个叫做什么?熟悉测试的童鞋明白,这就是传说的“手工目测”呀,这是“人肉测试”。

我们好好的画这张图,实际上是这样的。

    好吧,手工测试

    二、自动化

到这里,结合上面的说法,自动化测试就是让被测试的软件自己运行起来,执行软件的功能;或者就是让其他的工具自己运行起来,去检查软件的内部和外部。

既然测试是一个过程,那么自动化测试,就是自动的执行的过程。

接下来我们探讨的一个核心的问题:自动。什么叫做自动呢?让机器自己动,就是自动。让机器按照人类的要求,把软件的所有功能遍历一遍,这是自动化。。这样说会不会清晰一点?

重点来了,机器。让机器去动,这可不是“吃鸡”哦,这是人类命令机器去操作。不知道童鞋们有没有思考过,机器怎么知道人类的要求?上面的例子,测试主管只要告诉测试工程师,命令传达就完成了。可是人类直接的沟通,远比人机沟通容易啊。

  • 首先,机器听不懂“人话”,无论中文,英文……

  • 其次,机器默认会的“汇编语言”,应该是绝大部分的童鞋不会,并且短期掌握不来吧。

  • 好吧,用“编程语言”。是时候拿出我们的另一张图了:

  • 这个厉害了吧,自动化测试

    机器学习一个编程语言,轻松和简单到令人发指的地步:安装上去,机器就学会了。好在人类学习编程语言也不是特别难的的事情。看来这个可行。

有了编程语言,就有了人机交流的桥梁,剩下的事情,是帮机器挑选工具。做对应的测试,就需要找到对应的工具,这样自动化就自动起来了。能到这里,我希望各位童鞋了解了基本的“自动”原理。

同样,好好的画这张自动化测试的示意图:

    这个呢?自动化测试示意图

jmete怎么写自动化测试脚本

  把Jmeter配置成一个Web代理,用Jmter自己来录制脚本  第一步: 创建一个Thread Group (邮件点击: Test Plan -》 Add -》 Thread Group)  第二步: 创建  应该设置下忽略这些没用的请求

自动化测试的分类有哪些

在敏捷开发流程中,自动化测试涉及到下面重要四种类型的测试。单元测试(UnitTest,UT)关注某一个函数,模块的正确性,一般需要开发人员编写相关的测试代码来进行自动化测试。可以使用对应的测试驱动开发(TDD)框架,如:Java的JUnit和TestNG等,相应的python语言中有unittest和nose等测试工具。集成测试(IntegrationTest,IT)集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求组装成为子系统或系统,进行集成测试。实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。这个阶段,可以尝试接口的自动化测试,同样可以利用单元测试的框架编写针对API调用的测试代码。另外也可以利用selenium和appium等测试工具来进行UI相关的测试。用户验收测试(UserAcceptanceTest,UAT)用户验收测试,也叫用户可接受测试,一般在项目流程的最后阶段,这时相关的产品经理、业务人员、用户或测试人员根据测试计划和结果对系统进行测试和验收,来决定是否接收系统。它是一项确定产品是否能够满足合同或用户所规定需求的测试。本阶段主要是UI相关的测试,编写自动化测试脚本的难度比较大。同样是利用selenium和appium等测试工具来编写测试脚本回归测试(RegressionTest)回归测试是软件测试的一种,旨在检验软件原有功能在修改后是否保持完整。回归测试主要是以检查退化为目的的测试。退化主要指由于系统的版本更新,在之前的版本中正常运行的功能变得无法正常运行,或者紧急修正了某个问题,但引发了其他的问题的现象。从开发人员视角出发的单元测试是需要进行回归的,还有从用户视角出发的集成测试和用户验收测试的测试用例集也是回归测试的相关内容。

软件开发各个阶段可以实施的自动化测试技术有哪些

1. 单元测试自动化, 包含: 用例代码自动化生成, 测试数据生成, 被测代码的静态分析, 测试覆盖率统计等2. 接口自动化测试, 包含: 测试数据的生成, 调用参数并发起请求, 验证请求返回的结果等3. 基于页面的GUI自动化测试, 包含: 根据不同平台和业务场景, 选择合适的自动化框架和测试执行框架等更多实战小技巧可以到网络上找下黑马程序员相关视频。很高兴我的回答能对您有所帮助,谢谢您的采纳

关于软件测试行业,未来发展方向是否是自动化测试,非自动化测试是否会逐渐消失

产生这种疑问的原因,可能也是感受到传统手工测试在自动化等测试技术面前所面临的竞争压力。

非自动化测试手段不会消失,但其比重和测试内容会有较为明显的降低和改变。

首先随着市场、产品迭代对测试效率、测试成本、测试深度和广度等要求的提高,以及测试技术发展、应用,将会不断的驱动通过测试技术取代重复、单一的手工测试操作。

其次非自动化测试的内容改变,也会由传统的纯手动改变为更精细化的测试,结合测试深度及广度更全面的进行测试分析和设计,更关注影响产品质量背后的其他因素——用户体验、支撑数据。

同时也能够看的出来,这对测试人员的要求由原来的 软件测试 逐渐过度到 测试开发。

自动化测试写的用例怎样让其在执行失败的时候自动重跑1次或多次呢

自动化测试用例失败重跑有助于提高自动化用例的稳定性,那我们来看一下,python和java生态里都有哪些具体做法?下面是我的一些实践过的还有了解到的一些内容,

怎么做

  • 如果我们是在python生态里,用pytest做测试驱动,那么可以通过pytest的插件pytest-rerunfailures来实现失败用例重跑,具体的使用方式有两种,一种是通过命令行指定pytest --reruns 2 --reruns-delay 1,reruns表示重复运行次数,reruns-delay 表示重复运行是的延迟时间。另一种方式是通过@pytest.mark.flaky(reruns=2, reruns_delay=1),这种方式一般运用,不想全局所有的测试用例都重跑,只是特定的测试用例需要跑,那就在特定的测试方法上使用这个标记。

  • 如果我们是在java生态里,用junit做测试驱动,junit5提供了注解@RepeatTest(2),可以试下测试类或者测试方法的重复运行,也可以自定义,通过实现个TestRule接口,来控制测试用例的运行。还有就是如果使用到了maven可以添加一个rerunFailingTestsCount参数,不过这个是控制所有的用例了。

为什么要让失败用例重跑呢

因为自动化一般都会在测试环境或者其他非线上的环境,由于环境的不稳定可能会导致测试用例莫名其妙的失败,是用例的稳定性大打折扣。这个时候加入失败重跑机制,能够在一定范围内提高测试用例的稳定性,做出更多的产出。

什么样的自动化用例要进行失败重跑

接口自动化测试用例我建议加入这种失败重跑,而对于UI接口接口自动化,失败重跑的话,我觉得意义不大,因为往往当用例的失败的时候,要么是由于界面元素没加载出来,要么是用例的逻辑有问题,要么是意外的弹窗影响,这个时候应该让错误尽早的抛出来,好尽快的修复,而不是在哪儿一个劲的重试,没啥用。UI自动化应该做好显式和隐式等待,这个是提升稳定的关键。

什么样的失败用例应该重跑

在测试框架中,最好能区分出什么样的异常时服务异常,什么是测试框架本身的异常,对于服务异常可以适当重试,对于框架异常不进行重跑,直接抛出。断言失败当然更不需要重跑。所以在控制测试用例执行的时候,不要一股脑儿的全都重跑,有选择性的,既要保证稳定性,还要保证效率,让自动化发挥价值。

总结

我们在做测试的时候,要做到有的放矢,在合适的时候做合适的事情,自动化测试的价值就是因为它能快速的实现回归测试,能够快速的反应系统是否正常,如果因为重试导致运行的时间成倍增加,是没有任何意义的,还不如抛出错了,尽快去解决。而且自动化测试用例的运行顺序也要控制,处于业务前方的接口尽量先跑,处于业务后方的接口尽量后跑。比如登陆接口和下单接口,登陆接口属于业务靠前的,下单是靠后的,一般在测试下单接口的时候都要初始化登陆状态,这个时候会调用登陆接口,在测试用例批量执行的时候,可以先让登陆接口测试用例先跑,如果这个接口有问题,那么其他需要登陆接口配合的用例全都会失败,那这样后面的用例就不用跑了,这样会节省很多的时间。

自动化测试基本流程是什么?什么是自动化测试

本文编辑:admin

本文相关文章:


自动化测试工具(自动化测试都有哪些测试工具 junit ant testng)

自动化测试工具(自动化测试都有哪些测试工具 junit ant testng)

本文目录自动化测试都有哪些测试工具 junit ant testng自动化测试工具哪些经常用到常用自动化测试工具都有哪些当前应用最多的自动化测试工具有哪些谁能对比下几款常用的自动化测试工具的优缺点啊 比如Selenium、QTP、TestW

2025年3月24日 14:20

更多文章:


小马激活工具win7(win7小马激活工具怎么用啊)

小马激活工具win7(win7小马激活工具怎么用啊)

本文目录win7小马激活工具怎么用啊win7小马激活工具是干什么用的如何使用小马激活工具激活win7小马激活工具能在封装win7部署后调用时自动运行吗小马Win7激活工具怎么激活Windows7系统激活工具,教您怎么用win7小马激活工具激

2025年3月30日 13:00

plsql中如何执行存储过程?plsql developer怎么使用

plsql中如何执行存储过程?plsql developer怎么使用

本文目录plsql中如何执行存储过程plsql developer怎么使用如何使用plsql developerplsql plsql developer 怎么执行 plsql语法plsql怎么连接mysqlplsql怎么连接oracle数

2025年3月25日 14:10

ps切图工具(PS切片工具怎么用啊)

ps切图工具(PS切片工具怎么用啊)

本文目录PS切片工具怎么用啊如何正确使用Photoshop切片工具PS里面,切片工具是干嘛用的用ps怎么切图PS的切片工具在哪ps切片工具怎么用photoshop中的切片工具是干什么的怎么用ps切图怎么切PS切片工具怎么用啊在使用PS应用照

2025年4月3日 23:10

pupils怎么读英语(pupiLs用英语怎么读)

pupils怎么读英语(pupiLs用英语怎么读)

本文目录pupiLs用英语怎么读pupils这个英语单词怎么读pupils的中文是什么意思pupils怎么读pupiLs用英语怎么读pupils读法:  释义:n. 学生(pupil的复数形式); 瞳孔laggard pupils落后的学生

2025年3月15日 11:50

struggle用法(有关struggle的例句)

struggle用法(有关struggle的例句)

本文目录有关struggle的例句struggle的用法是什么是否有struggle to 的用法有关struggle的例句望采纳最佳答案 谢谢 struggle vi.1. 斗争,搏斗:例句: to struggle against t

2025年3月24日 04:10

ate怎么读(Ate这个单词怎么读)

ate怎么读(Ate这个单词怎么读)

本文目录Ate这个单词怎么读图书馆英文读音英语ate的两种读音分别是ate怎么读accumulated 怎么读accumulate和accelerate开头音标相同,为什么读音不同贮蓄这两个字怎么读,要标明读音“ate”怎么读update英

2025年2月23日 02:00

qq官方客服在线咨询(qq人工客服电话是多少)

qq官方客服在线咨询(qq人工客服电话是多少)

本文目录qq人工客服电话是多少腾讯QQ工24小时在线人工服务号码是多少,有谁知道的qq人工客服电话是多少目前腾讯客服的服务专线已更新升级为4006-700-700了,部分业务也设有专线服务,详情如下:财付通/微信支付/理财通业务服务专线95

2025年3月9日 01:10

python appium(python开发要求高吗需要的技术点是什么啊)

python appium(python开发要求高吗需要的技术点是什么啊)

本文目录python开发要求高吗需要的技术点是什么啊学习Python应该往哪个方向发展python开发要求高吗需要的技术点是什么啊Python 目前分几个领域:• 运维. 日常运维工作和 CI/CD 等自动化构建需要 Python;• 测试

2025年2月27日 06:10

cough怎么读语音(Cough这个单词怎么读)

cough怎么读语音(Cough这个单词怎么读)

本文目录Cough这个单词怎么读咳嗽怎么读音是什么cough怎么读Cough这个单词怎么读cough 英 过去式:coughed 过去分词:coughed 现在分词:coughing 复数:coughs vt. & vi. 1.咳嗽

2025年2月11日 14:30

scares(jumpscare是什么意思)

scares(jumpscare是什么意思)

本文目录jumpscare是什么意思scare-sb是什么意思jumpscare是什么意思jump scare的意思是:跳跃恐惧重点词汇:scare英[skeə(r)]释义:v.(使)害怕;受惊吓;吓跑n.恐惧;惊吓;(社会上的)大恐慌ad

2025年2月24日 10:30

expires什么意思(expires怎么填苹果)

expires什么意思(expires怎么填苹果)

本文目录expires怎么填苹果cookie的domain,path,expires什么作用expires 这词啥意思啊expired 什么意思下面是Js语言代码大神能否告诉我这里的“expires”是什么意思expires怎么填苹果摘要

2025年4月3日 16:30

软考培训机构哪家好一点(计算机软考培训哪家比较好)

软考培训机构哪家好一点(计算机软考培训哪家比较好)

本文目录计算机软考培训哪家比较好软考培训机构哪个比较好软考培训机构哪个更好软考十大最靠谱it培训机构计算机软考培训机构哪个好 软考培训费用是多少计算机软考培训哪家比较好现在中国各类职业学校很多,包括IT职业学校,所以选之前一定要认准。相比之

2025年3月24日 13:30

Php7有哪些新特性?如何搭建php7最新开发环境搭建

Php7有哪些新特性?如何搭建php7最新开发环境搭建

本文目录Php7有哪些新特性如何搭建php7最新开发环境搭建php7的PHP7特性Php7有哪些新特性 PHP 7.4 的主要特性包括以下几个, 短闭包函数(short closure)

2025年3月14日 13:10

vendor code是什么意思(USB vendorco productcode ,谁能告诉我这是什么意思)

vendor code是什么意思(USB vendorco productcode ,谁能告诉我这是什么意思)

本文目录USB vendorco productcode ,谁能告诉我这是什么意思usb中Product ID和VendorID分别什么意思知道的重赏呀!!!什么情况下需要申请vendor code制图里的4-R3 是什么意思vendor是

2025年3月2日 01:40

session超时请重新登录(用java想写个定时器,定时获得session,看session是否超时,超时让用户重新登录)

session超时请重新登录(用java想写个定时器,定时获得session,看session是否超时,超时让用户重新登录)

本文目录用java想写个定时器,定时获得session,看session是否超时,超时让用户重新登录session过期,请重新登陆使用dwz的项目中的session超时应该怎么处理QQ显示特殊session未登录或登录已过期asp.net中

2025年2月20日 15:20

dbms是什么的简称(DBMS指的是什么)

dbms是什么的简称(DBMS指的是什么)

本文目录DBMS指的是什么计算机中dbms中文全名数据库原理中的DBMS是不是指的是什么数据库管理系统的简称是什么dbms是什么DBMS指的是什么数据库管理系统(database management system)是一种操纵和管理数据库的

2025年3月20日 10:20

thursday怎么读音(星期四英文怎么发音)

thursday怎么读音(星期四英文怎么发音)

本文目录星期四英文怎么发音Thursday怎么读星期四英语怎么读thursday怎么读音星期四英文怎么发音星期四英文是 Thursday。发音是:英 On Thursday Barrett invited me for a drink星期四

2025年3月21日 02:50

romania是哪个国家(罗马尼亚是哪个洲)

romania是哪个国家(罗马尼亚是哪个洲)

本文目录罗马尼亚是哪个洲romania是哪个国家罗马尼亚是哪国罗马尼亚属于哪个洲罗马尼亚是哪个国家罗马尼亚是个怎样的国家罗马尼亚是哪个洲罗马尼亚属于欧洲。国家全称就是罗马尼亚,首都是布加勒斯特,也是该国最大的金融中心,经济以工业为主,轻纺工

2025年2月24日 04:50

mineral是什么意思(mine和mineral作为“矿物”解可否互换)

mineral是什么意思(mine和mineral作为“矿物”解可否互换)

本文目录mine和mineral作为“矿物”解可否互换minerals是什么意思mine和mineral作为“矿物”解可否互换mine和mineral作为“矿物”解不可互换,作为“矿物”这个意思,两者不一样。Tin is a mineral

2025年4月2日 09:30

illustrator教程pdf(adobe illustrator里如何编辑PDF的东西)

illustrator教程pdf(adobe illustrator里如何编辑PDF的东西)

本文目录adobe illustrator里如何编辑PDF的东西跪求 Adobe Illustrator cs6 中级或高级教程,要pdf格式,不要视频怎么用Adobe Illustrator CS3把PDF转成DWG文件如何用illust

2025年2月9日 02:00

近期文章

本站热文

harbor,port,pier的区别?谁能解释“harbour“(港口)与“pier“(码头)的区别
2025-02-22 17:40:03 浏览:18
ibatis foreach(ibatis 批量update操作)
2025-02-10 23:40:06 浏览:7
endless rain(endless rain表达什么情感)
2025-02-14 06:00:02 浏览:6
标签列表

热门搜索