• 0
  • 0
分享

  我经常与一些客户打交道,他们的测试自动化要么刚刚开始,要么正在努力成长,而且他们常常都犯同样的致命错误。

  虽然他们可能了解测试自动化的基础知识,但是他们仍然认为脚本化测试的价值在于通过自动执行脚本而不是手工执行来节省时间。他们的理由是,如果自动化脚本执行速度比人类执行速度快,那么最大的效率收益应该来自于自动化运行时间最长的测试。

  如果执行时间是衡量价值的唯一时间,那么他们是对的。

  但是测试执行时间只是一个与时间相关的问题,还需要考虑编写自动化测试所需的时间,以及学习如何编写测试所需的时间。当团队将大型测试简化为更小、更短的测试时,他们更容易取得成功,你可以从这个非常识性的想法中获益。

  留时间学习

  蹒跚学步的孩子在学会站立之前先学会平衡,他们先站后走。程序员每次学习一门新的编程语言时都要会写“Helloworld”。

  学习自动化的团队可能同时通过几个学习曲线:编程语言、编程概念、测试自动化工具或框架、源代码管理,以及软件项目上的协作。

  每次您添加并行学习目标时,就需要花费更多的时间来熟练掌握。最近,当我负责的一家大型保险公司计划向测试自动化过渡时,我意识到仅仅是“条件”这个概念就可能需要人们几天或几周的时间来消化。

  回想大学时,我们花了整整一周的时间在条件反射上,现在很难相信。这个概念对我来说太基础了,看起来很简单,但对那些从未接触过它的人来说并不是这样。

  请记住,学习一个概念所花的时间比您想的要难得多。

  很多时候,公司希望人们在一周内学会编码并立即开始产生良好的测试自动化。

  对我来说这太疯狂了!为什么我要花一周的时间来学习大学中的“ifs”和“elses”,但对是一个没有背景的人来说,只要一个星期的时间于就要让他们学习进行基本编程所需的所有工具,简直是天方夜谭!

  这里的教训是:保持测试简短,以便您的员工被迫学习更少的概念,这将加快学习和工作效率。

  增长势头

  这是强大的测试自动化工作中最容易被忽视的因素。一个团队要么停滞不前要么动弹,如果前进,哪怕只有一点点,您的情况都会更好。

  为什么不先迈出一小步呢?从一个小测试开始,作为你的人写的第一个脚本,作为新功能的第一个小测试。比如在你的API测试中,一个简单的GET请求到一个新的端点等等。

  等待完美的工具选择、完美的用例、完美的资源集合是不会进步的。“完美”常常是“足够好”的敌人,“足够好”在前进、在一个方向上增加动力;一个“几乎正确”的小测试,即使是在一个稍微错误的方向上,也可以修改和纠正。

  让您的团队通过先编写小测试来增加动力、实现进展并获得胜利。

  建立心智分享

  当您的人员处理长时间运行测试用例时,这些测试用例可能包含更复杂的场景。当刚接触自动化的人们花费精力学习复杂的场景而不是创建测试自动化时,他们的大脑会因为有限的精力而波动。

  当您将您的思想集中在测试自动化的机制上时,您将更快地学习测试自动化;同样,当我们将注意力集中在复杂的业务逻辑时,您也将更快地学习复杂的业务逻辑。

  做测试自动化的团队应该首先关注学习测试自动化。当您学习自动化技能时,不要让复杂的业务逻辑支配您的思维,把那些长而复杂的测试留给那些更有技巧的人。

  我们不会要求新音乐家和其他人一起演奏,在舞台上表演,同时学习一首新曲子。我们不会要求一年级的学生做代数运算来计算出他们在排队等午餐时的变化。因此,让我们对那些测试自动化的新手进行同样的思考:让他们编写简短的测试。

  不要一次学习多种技能

  测试人员必须一次学习多种技能。测试用例越长,编写它的人就越有可能需要自动化工具中更复杂的功能。学习时,必须首先学习基础概念(语法),然后在这些基础上实现更复杂的功能,以学习更多高级技能(逻辑和修辞)。

  测试用例越长,您的新自动化人员就越有可能需要学习更多技能来完成测试,这减慢了进度,也延迟了人们在完成测试用例时所获得的精神满足。

  精神满足很重要,这就是许多程序员继续进行编程的原因,即使他们正在从事的工作很困难。因此,请缩短测试时间以减少自动化程序必须学习的技能。我们的确要学习很多技能,但不需要一次全部学习。

  自动化是一种软件开发活动

  测试自动化是一项软件开发活动,要学习很难编程,即使使用无代码工具,测试人员也可以迅速找到工具的局限性,并且必须学习更困难的概念。

  从小处开始,收获好处

  编写较小的测试有很多好处:更快地学习、更快地做出贡献、创造前进的动力并获得更频繁的反馈,也更有趣。

  因此,从小处着手,从微末之处开始。


作者:磊哥    

来源:http://www.51testing.com/html/25/n-7793125.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 测试工作中有时候会对数据库进行压力测试,jmeter实现这个需求较为简单,在这里简单介绍下。可以参考我之前写的15. Jmeter-配置元件二步骤:1、选中测试计划,添加mysql-connector-java-5.1.7-bin.jar插件2、添加一个线程组,设置线程组为103、选中线程组,添加一个配置元件:JDBC Connection Configuration4、对配置元件进行配置5、添加JDBC request6、对JDBC request 进行配置7、添加查看结果树8、运行测试计划作者:软件测试汪链接:https://www.jianshu.com/p/be496e4e00be
            0 0 1191
            分享
          • 一、Selenium简介Selenium是一个用于Web应用程序自动化测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7、8、9、10、11),Mozilla Firefox,Safari,Google Chrome,Opera等。这个工具的主要功能包括:测试与浏览器的兼容性——测试你的应用程序是否能够很好的工作在不同浏览器和操作系统之上。测试系统功能——创建回归测试检验软件功能和用户需求。支持自动录制动作和自动生成.Net、Java、Perl等不同语言的测试脚本。二、使用Selenium的准备工作因为Selenium是直接运行在浏览器里的,...
            13 13 2182
            分享
          •   在天网查上看了一下全国软件公司有1000多万家,其中上市的公司有7万多家,也就是占比0.7%。  通过这个数据可以发现,大部分公司从实力和规模上都偏向中型或者小型,也就说其中的流程不一定很健全,甚至没有流程而言。  下图截取了两张数据的图片供参考:图1  全国软件公司数据图2  上市公司数量  为什么要指出这个问题?笔者目前在二线城市,工作10年经历过几家公司,很少有公司把流程制定得很正规和完善。  基本上的形式是:常规瀑布模式和敏捷模式相结合。赶上功能已上线再出现Bug,常见的状态开发快速定位问题进行修改,测试抓紧时间进行测试,测完后上线发布。  所以得出的结论是流程...
            0 0 1775
            分享
          • 工作久了发现,在互联网这个圈子里,软件测试工程师和产品经理是两个"水分"较大的岗位,在招人的时候如果不擦亮眼睛,稍有不慎就可能会踩雷。前不久面试了两位同学,面试过程有点让我大跌眼镜,为了让大家能避免相同的误区,所以才写一篇文章,分享一些我个人的经验。面试经历之前面试的一位同学简历相当漂亮,看完之后我觉得能力绝对在我之上,大致信息如下:工作时间8年 。在一家做AI的公司,从事算法测试。对持续集成及其工具比较熟悉。自己开发了测试工具平台。面试之前,我还特地的准备了几道算法题,总之是觉得碰上大牛的心态。面试过程大致如下:问:"介绍工作情况,及都做了哪些事情"。...
            0 1 3131
            分享
          •   在日常测试工程中,不管是功能测试、接口测试、UI测试等,其实本质都是对应用程序的数据进行增删改查操作。开发人员设计好数据库模型后,各个业务功能都依赖于对该模型进行操作,从而展现出不同的数据给用户。  在面试或者是写简历时,对数据库只能一句话概括“掌握数据库的增删改查”。今天来给大家带大家了解下web应用程序的数据库设计和相关操作,也就是学习下数据库是如何设计和生成的。  在开始之前,首先要知道常用的web应用框架有django和flash框架,两者的区别可以简单形容为django像是精装房,大而全,功能极其强大,是Python web框架的先驱,用户多,第三方库极其丰富,适合企业...
            15 15 2482
            分享
      • 51testing软件测试圈微信