千锋教育-做有情怀、有良心、有品质的IT职业教育机构

位置:首页 > 行业动态

学习软件测试必须了解哪些自动化工具?

时间:2018-04-18 15:25:02  |  来源:千锋教育上海校区  |  作者:千锋  

   想知道学习软件测试必须了解哪些自动化工具吗?千锋上海软件测试培训老师告诉你。

图片1.jpg

  持续的集成服务

  过去十年来在软件开发领域到来的自动化一个大的变化是任务自动化。在过去,像构建一个应用的特殊版本,创建文档,或者新bug报告的状态是人为的。一些团队甚至贡献为了 启动一个版本而负责的"创建人"责任。像这些人为的任务(或者是紧紧地绑定给个人或机器)是消耗时间的,并且创建来为了避免瓶颈,比如创建人占据私人的一天并阻碍新版本被完成。

  幸运的是,持续集成(CI)工具通过允许任务被标准化和自动化来挽救。持续集成服务重要地安排和执行任务,一个规则的台式电脑能做的任务并且让这些任务在目标机器上执行而不是它自己。回到创建版本的例子,取代让鲍勃为手工在他的机器上创建版本负责,一个持续集成服务能被集成去选择一个目标机器并且在那台机器上执行版本。不仅使鲍勃不需要身体上在那台版本机器出现,而且能在任意时刻发生版本创建,不管是已安排的或者是为了响应另一个动作。

  举个例子,测试者爱丽丝可能想要一个基于新改变的应用程序版本去看一个程序错误是否被修复,而且她能自己发起版本创建。这个不仅使资源从做代表性任务中自由运作起来,而且给团队在个人以外和团队流程上给予了多的控制。你也可以把持续集成任务绑定一起给深的线程一些任务。学习一个持续集成如何工作是对没有放很多编程的重点在自动化上很好的引子。

  使用持续集成的一个途径是跑端到端的测试套装。这些测试经常需要跑数分钟甚至数小时。我使用过持续集成去自旋向上和自旋向下测试机器并且发起在那些测试机器上的测试。相对于在你自己机器上跑这些测试这是一个很大的帮助,因为它允许一个测试开发者当测试到处跑的时候去做其他的工作。持续集成的服务器控制着所有这些任务的方方面面。

  一些持续集成服务的普通例子是开源工具Jenkins,基于云的Travis CI,和专属工具Bamboo,但是这些也是其他的一些。甚至低技术是使用一个像克隆或者windows任务分配者的工具为了在单一机器上去使任务自动化。

  CI对于开发软件爱好之外的编程是独立的,并且它是一个测试能确实增加价值的一个地方。

  现代源码控制

  我首先需要指出我爱源码。当编写代码(或者博客!)时,它是一个很有帮助而不仅是工具。对于一个编码的测试员,它是一个无需脑力者。甚至即使一个测试不编码,当测试软件时以现代方法使用源码控制可能是一个大的利益。

  在现代方法中"我"的意思是什么?"我"的意思是使用源码控制1)集成其他工具,比如CI服务器或者问题追踪器,并且2)允许使用好的团队流程习惯,比如基于干线的开发。好的源码控制允许个人去分析变化和深地挖掘软件工程正在发生什么。

  一个接近源码历史和一些基本培训的测试能问出像"在应用里的哪个文件有多的开发在它们上面工作?""哪个文件有大的变化?""哪个变化的设置包含引起问题的代码?"等待。这个信息有助于找到步调且暗示一些事件的引发。

  用CI集成源代码甚至能加有力。在问题跟踪者的事件能使它们的状态在由开发引起的变化中新。测试者能要求必要的需求在输入的代码被自动查找出来,比如通过自动测试或者代码模式需求。建构和部署能被改代码发起。当源码控制被很好使用,在这种情况下有很多种可能,这是一个在持续传递后隐含的概念。

  举个例子,我在一个使用基于云集成服务的开源项目上工作为了检查每一个由提交者提交的交付。在这个项目里,持续集成运行所有的自动化测试并且检查所有为形式和格式增加的代码。假如一个提交造成错误的测试,或者没有满足设置的风格向导,提交失败了并且暗示了提交者和项目维持者去修改提交。这有助于提供项目历史里以统一的风格每一个提交并且暗示了提交者在增加或者新模块中可能的微小错误。

  这些目前在源码控制的热点是Git,自由和开放代码的,在它周边有着健壮的生态系统。这些也是一些其他的方面,比如Subversion,Mercurial和微软团队基金会。

  遥测和监控

  这是一个我并不熟悉的主题,但是它确定是测试者们感兴趣的。监控是一种方法,从此挂钩被放在一个应用程序里去发回关于软件是如何被使用的信息给软件创造者。这能包含正被使用的后端/服务器应用程序接口函数,并且在哪个指令,由被使用的由用户界面组成的部分和在什么频率上,等等。

  这个目标不是为了发送特殊的用户信息返回给开发团队,普通的信息是关于一个应用程序正在被用着的和如何被用的部分。这提供了终端用户在做什么的视角,他们实际上如何使用应用程序,并且特定属性如何被得到。安兰培是个微软测试,曾经简短讨论这事情的他曾做过的通过遥测和监视的一部分。

  类似于小化资源控制历史,监视能帮助你找出答案,从简单的问题中("上周多少人记录?")到特殊的和可视化的问题("当特性X被发布时用户们如何改变他们的习惯?")。这些是帮助测试们执行好的测试策略的种类问题,并且,总的说来,帮助团队对用户做好的选择。

  多的信息,请检查AB测试播客页面和布伦特詹森。一个主流产品如何使用遥测技术,看一看Mozillla如何通过火狐使用监测技术。

  也使用Selenium

  后一点,但这不意味着这不重要,对于使用web应用程序以及其相似的应用程序的测试者来说,Selenium WebDriver是一个很好的工具。在这一点上,WebDriver是一个用于自动驱动浏览器行为的标准工具,类似于一个人类用户如何在浏览器中用网站APP交互。它有一些语言绑定,和一些主流浏览器工作,并且是一款非常好的能被开发组件的可扩展性API的例子。简言之,它是一个的工作。

  当被灵活地使用时,WebDriver允许测试和开发去使用户体验性测试得到自动化,这个可以被放在一个持续性的可传递流程。我写了一个简单的基于网页驱动的测试,可以找到像导航到登录页面的链接的事务,而不是寻找用户名和密码场合(由于坏的部署),或者寻找一个不打开的对话当一个控制被点击成想象的(一个明显的但严重的问题)。这些是很快被找到的事情但是不能被单元测试覆盖。

  WebDriver也能被用在写自动化的测试,可以被本地执行去双重检查那些不会以非预约的方式打断重要特性的变化。这些甚至是WebDriver用于扩展功能测试以外的用处。

  对于对学习代码感兴趣的测试来说,WebDriver能提供一个好的学习代码的介绍。自动化测试脚本能是一个容易的方法去熟悉编程而不是深入挖掘代码语言鸿沟。它提供足够的架构去开始,并且仍然能够完成一些很好的测试工作。

  千锋上海软件测试培训课程由行业资深讲师团手把手教你学测试,直切企业核心需求,是完全服务于测试的开发,从前台到后台,从PC端到移动端,囊括企业各式需求;千锋依托成熟的项目素材及学科案例为软件测试学员提供了多维实战环境,让学员拥有多选择权,进而帮助学员实现。有丰富的软件测试视频教程帮助学员快速学习技术。

上一篇:千锋上海软件测试培训的老师带你快速学习
下一篇:上海软件测试培训为你解决学习时存在疑问

课程咨询

  • 北京天丰利校区(总部):北京市海淀区宝盛北里西区28号天丰利商城4层
    北京沙河校区:北京市昌平区沙阳路18号北京科技职业技术广场服务楼2层、南区服务楼2层
    咨询电话:400-654-7778 010-82790226/7-801
    面授课程:Android培训、HTML5培训、UI交互设计培训、PHP培训、JavaEE培训、大数据开发培
                     训、VR/AR混合现实培训、iOS培训、好程序员
  • 深圳西部硅谷校区:深圳市宝安区宝安大道5010号深圳西部硅谷A区B座605-619
    深圳大学城校区:深圳市南山区留仙大道1201号大学城创客小镇16栋2楼、3楼
    咨询电话:0755-33582485-801(硅谷校区)0755-86660670-801(大学城校区)
    面授课程:Android培训、HTML5培训、UI交互设计培训、PHP培训、JavaEE培训、iOS培训
  • 上海地址:上海市宝山区同济支路199号智慧七立方3号楼2-4层
    咨询电话:400-627-7899 021-56166283/56166279
    面授课程:Android课程培训、HTML5课程培训、UI交互设计培训、JavaEE培训、iOS课程培训、好程序员
  • 郑州地址:郑州市金水区纬五路21号河南教育综合楼(经纬中学楼)6/7/8层
    咨询电话:0371-55191750 400-654-7778
    面授课程:Android课程培训、HTML5课程培训、UI交互设计培训、JavaEE培训、iOS课程培训
  • 广州地址:广州市天河区元岗路310号智汇park创意园E座5层
    咨询电话:020-22119207 400-654-7778
    面授课程:Android课程培训、HTML5课程培训、JavaEE培训、iOS课程培训
  • 大连地址:辽宁省大连市甘井子区软件园路2号东软信息B8座2层
    咨询电话:0411-39026086 400-654-7778
    面授课程:Android课程培训、HTML5课程培训、JavaEE培训、iOS课程培训
  • 武汉地址:武汉市江夏区藏龙岛杨桥湖大道15号拓创大厦15楼
    咨询电话:027-81772047
    面授课程:Android课程培训、HTML5课程培训、JavaEE培训、iOS课程培训
  • 成都地址:成都市武侯区科华北路62号力宝大厦N(北楼)18楼
    面授课程:Android课程培训、HTML5课程培训、UI交互设计培训、JavaEE培训、iOS课程培训
  • 校区地址:西安市雁塔区高新六路52号立人科技C座西区4楼
    咨询电话:029-85260160 029-85261030 029-85260960
    面授课程:Java课程培训、Android课程培训、HTML5课程培训、JavaEE培训
  • 杭州地址:浙江省杭州市江干区九堡旺田书画城A座4层
    咨询电话:0571-86893632 010-82790226-801
    面授课程:Android课程培训、HTML5课程培训、iOS课程培训
  • 青岛校区地址:青岛市市南区金坛路17号青岛职业技术南校区实训楼A4层
    咨询电话:0532-80910752/3 010-82790226-801
    面授课程:Android课程培训、HTML5课程培训、UI交互设计培训、iOS课程培训
  • 了解千锋动态
    关注千锋教育服务号

  • 扫码关注千锋互联
    身边的移动开发导师