首页 > 其他分享 >我这些年对于自动化测试的理解

我这些年对于自动化测试的理解

时间:2023-11-22 16:11:22浏览次数:27  
标签:脚本 需要 理解 测试 自动化 投入 进行

1、定义

把以人为驱动的测试行为转化为机器执行的一种过程。

简单讲:比如使用自动化测试框架、脚本、工具等自动打开测试对象(引用),自动去执行测试用例(此过程中包含自动化查找元素、控件等),自动输入测试数据、自动生成测试报告等一系列的自动化过程;
通俗讲:用机器来模拟用户的实际行为,如键盘、鼠标等操作,来达到预期。

2 做自动化的目的是什么?

  • 测试工作量比较大,使用自动化来完成一部分工作;
  • 测试过程有大量重复的工作,使用自动化来进行提升效率;
  • 手工测试难以覆盖的场景,需要自动化造数据等来完成;
  • 有些测试结果,可能自动化比手工更为精确。

3 自动化测试的优缺点

4、 自动化测试的前提条件(重要)

即做自动化前先对软件进行分析,是否满足或者要不要做自动化,有几个前提条件需要注意。

4.1 需求变动不频繁

脚本的稳定性最直观的决定要素是需求的变动,如果需求变化大,隔三差五的进行需求更改,那脚本势必也要进行同步更新,这样投入的维护成本就很大,得不偿失,还不如不做。

4.2 项目周期比较长

自动化测试和普通的测试一样,需要前期的规划、框架设计、脚本开发、人员选择、脚本执行、后期维护以及结果跟踪分析等,是一个比较全的且投入较多的一个过程,如果项目周期很短,就不适合做自动化,其实也没必要;
另外项目周期短,手动测试都无法保证的前提下,更不用谈及做自动化了。

4.3 脚本的重复使用率高

我们投入了较大的人力、物力、财力等最终完成了一套比较完美的自动化脚本、框架或者平台,但是复用率很低,只能在单个产品单独使用,那么这样的代价就太大了。此时我们需要评估是否必须要进行自动化测试,如果非必须,可以不做;
相反的,如果自动化的一系列东西都能迁移到其他的产品测试,那这样的投入是值得的,也是必要的。我们也应该投入更多的精力进行测试开发。

4.4 团队实力

做自动化,不是随便摘抄一些代码拿来用,他是一个专项测试,需要投入专门的人力去研究及测试,那么我们要想做好自动化,先要对自己的团队进行评估,团队的人员、技术能力等是否满足要求;
另外,自动化需要不断的进行迭代和优化,不能拿着脚本运行看看结果,那其实很多时候,并不能给产品带来客观的价值。我们需要进行不定期的升级维护,针对项目业务要进行优化,根据测试过程和结果的数据反馈要进行稳定性的升级等等。所以这也需要专门投入人力进行研究。

4.5 部门的规划和上级的支持

这个是我加的,根据个人的经验的总结;

部门的规划:如果自动化是在部门规划中,以及有考核目标,那肯定是要做的。如果不是规划,也没有纳入计划,那就要根据实际情况定,毕竟这不会直接影响你团队的实际考评。你的重点应该是在其他的地方,优先保证工作重点内容的完成;
上级的支持:这个很重要,做自动化无非是为了提升效率和质量,但是如果没有得到应有的效果,领导看不到成绩,也无感知,那么做自动化也许不会长久。这个得慢慢体会了,哈哈。

5 应用场合

自动化测试主要应用在以下场合,具体还要根据项目以及自动化的实际开发情况开定:

在这里插入图片描述

6 自动化认识误区(重点)

6.1 自动化可100%覆盖

概率不大,要使得自动化的测试覆盖率达到100%,需要投入专门的人力、物力、财力等,成本比较大;
某些业务的特殊性,或者场景的复杂性,用自动化是无法进行覆盖的;
项目的周期限制,不允许投入更多的精力去开发;

6.2 自动化可替代人力

领导的口头禅:你就告诉我,自动化能干掉多少人力?!每次听到这样的话,不知道你们怎么想的,反正我是很无奈。但从领导的角度来思考,也不为错;
这里存在一些误区,自动化测试是辅助功能测试的,或者说是为了解决某些人工不能覆盖的场景;
另外,不存在完完全全的自动化,都是需要人工参与的;
遇到类似的认识,建议自动化测试人员需要进行解释,不能任由这个观点滋生,不然===你猜会咋办!!

6.3 自动化很牛逼

任何的事情,都是看谁先知道而已,与其说牛逼的技术,不如说牛逼的人。
自动化只是一门技术,我们不能脱离业务搞自动化;
很多人认为自动化很厉害,就脱离了工作的重心,天天喊着自动化、自动化,最后到头来啥也不是,啥也没得到。当然如果是专业、专门搞自动化测试开发的那就另说了。因为他们的工作就这,就是转、精。

6.4 万物皆可自动化

这个其实和前边的提到的一致,搞自动化,先要符合一些前提条件以及明白他的应用场景,不是所有软件都要搞自动化。
盲目的自动化,只会适得其反。

6.4 自动化很简单

这是一个很复杂的但是又简单的话题,对自动化的方向、工具、技能等研究的程度不同,对他的认识就不一样;
如果只是解决一些简单的问题,你掌握他很简单。如果是复杂的一些东西,可能需要深入研究;
自动化方向也是很多,不论是功能、性能,还是面向接口、UI、GUI、协议,更或是自动化工具开发等,都需要不同的技能和知识,入门或许简单,要做的很专一,还是需要点积累的。

6.5 自动化尽早做
不一定。不同的自动化,介入时间可能有差异,比如

UI的,建议软件稍微稳定或者需求变更不频繁的时候再去开发;
接口的,可以在开发阶段同步进行;

7 自动化测试工具

太多了,举个例子,不代表所有的。事例而已:

最后

如果你想学习自动化测试,那么下面这套视频应该会帮到你很多
如何逼自己1个月学完自动化测试,学完即就业,小白也能信手拈来,拿走不谢,允许白嫖....

如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的话,学习自动化测试相关内容可以进群:785128166,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。

标签:脚本,需要,理解,测试,自动化,投入,进行
From: https://www.cnblogs.com/hebendexiaomao/p/17849565.html

相关文章

  • 软件测试/人工智能|如何利用人工智能来帮助我们找bug
    简介在软件开发中,Bug是难免的。然而,GitHubCopilot(GitHub提供的人工智能编程助手)已经成为了开发者的强力工具。它不仅能够加速开发,还能帮助找出代码中的Bug。本文我们就来看看它如何帮助我们轻松解决Bug。示例问题描述:假设我们有一个Python函数,用于计算两个数的乘积。......
  • 软件测试/人工智能|PPT不好写,问问ChatGPT
    简介在我们的工作生活中,PPT出现的频率越来越高,工作汇报,经验分享,产品介绍等等,都会出现PPT。因为PPT相对于纯文本,能够添加图片,能够展示动画效果等,可以给大家带来更好的体验。但是写PPT有的时候让人头疼,我们要把许多文字浓缩成一句话,有时候需要绞尽脑汁,当然了,ChatGPT也可以帮助我们......
  • 《最新出炉》系列初窥篇-Python+Playwright自动化测试-32-JavaScript的调用执行-下篇
    1.简介 在实际工作中,我们需要对处理的元素进行高亮显示,或者有时候为了看清楚操作过程和步骤我们需要跟踪鼠标点击了哪些元素需要标记出来。虽然很少遇到,但是为了以后大家可以参考或者提供一种思路,今天宏哥就在这里把这种测试场景playwright是如何处理的讲解和分享一下。2.用法......
  • [转]IoC控制反转DI依赖注入概念的理解
    1.通俗的解释,便于理解,适合于初学者,相对与定义不是很准确原文地址: SpringIoC有什么好处呢?-知乎作者:Mingqi链接:https://www.zhihu.com/question/23277575/answer/169698662来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。要了解控制反转......
  • 发现AI自我意识:从理解到思维
    广义“理解”已经实现在最新的人工智能系统中,我们经常可以观察到一种类似“理解”的能力。这种广义的“理解”能力,主要建立在两个基础之上:海量信息的记忆与搜索。以著名的AlphaGo为例,它通过存储和搜索大量围棋对弈的棋谱再结合特定的搜索决策模型,逐步“理解”围棋这一游戏......
  • python+pytest写测试用例后置清理数据操作
    一、teardown_function函数是为了在每个测试函数def执行后进行数据清理。#引入DbConnect类或者确保它已经被定义fromyour_db_moduleimportDbConnectdefteardown_function():try:print("后置操作-做数据清理,把批注通知删掉")db......
  • 瀑布开发流程与敏捷开发流程,devops概念的理解
    瀑布开发流程与敏捷开发流程,devops概念的理解瀑布开发流程与敏捷开发流程是两种常见的软件开发方法。它们在项目管理和团队协作方面有着不同的特点。瀑布开发流程瀑布模型是一种经典的线性软件开发过程,按照以下步骤进行:需求分析:收集用户需求,明确系统功能和性能要求,并编写需求......
  • 今天写极限测试写了好久,随便交一个servlet类
    packagecom.example.limittest01;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;import......
  • 测试
    标题1标题2引用 代码块1代码块2 ......
  • Python产出01|自动化数据比对|Python
    源码如下位置 地址:https://github.com/T-Better/SoftTest/tree/main/B01_66%20%E4%BD%9C%E5%93%81/66%20%E5%85%B6%E4%BB%96%E8%84%9A%E6%9C%AC/%E8%87%AA%E5%8A%A8%E5%8C%96%E6%95%B0%E6%8D%AE%E6%AF%94%E5%AF%B9......