什么时候应该自动化测试应该怎么学

如何学习自动化测试? - 知乎<strong class="NumberBoard-itemValue" title="被浏览<strong class="NumberBoard-itemValue" title="7,026分享邀请回答手工测试如何转向自动化测试www.zhihu.com———————编辑了一下。我写一个学习路线吧:1.学习python基本语法。2.上w3cschool这个网站,学习HTML/CSS下的html、xml、webservice三个教程。3. 然后下一个python的requests库学习写最简单的网络爬虫。知乎上爬虫教程一大堆。3是第一个里程碑,学写简单爬虫一方面有一定的成就感,一方面又知道了接口到底是怎么回事。同时还学到了怎么解析一个页面,4.学习python的测试框架unittest,知道怎样用unittest和python的mock模块写一个小单元测试。5.把3和4结合起来,你掌握http自动化接口测试。6.学selenium的库和页面对象模式7.把2、4、5、6结合起来,你应该能写既支持web测试又支持接口测试的自动化测试脚本了。8.学robotframework,你可以把自动化测试变成关键字驱动和数据驱动的了。9.学python的高级一点的语法。如装饰器、线程进程协程。你可以让测试并行执行,并自动记录测试步骤到log文件里了。10.学jenkins,测试不再需要你手工去启动了。测试也可以分步式运行到多个环境上了。11.学docker、git、gitlab等的简单使用,从此测试脚本不用再人肉更新、测试环境也不用人工搭建。这里也要学linux的简单使用,12.回到w3cshool,学习javascript、ajax、jquery、bootstrap。至此你可以写50%以上简单网站的前端了。13.学习python的flask库,学mysql或mongodb是怎样和flask一起用的。至此你可以写简单网站的后台了。你还可以快速开发webservice接口了。14.综合12和13,你可以开发一些测试管理工具了。比如写一个管理很多jenkins master的ci调度平台。也可以写一个提供统一样式的测试报告的web展示平台。写一个监控所有测试情况的看板。写帮你生成测试文档的脚本。写测试环境的管理工具。并且14是一个里程碑,你可以理解开发人员的一些思路了,比如为什么开发人员老是不愿意好好写单元测试、老是说这不是bug、老是说几点干完但却拖到半夜还做不完,特别是你做的东西交给别人测的时候。你也可以理解web测试的接口测试、单元测试怎样做比较好,因为如果不好,你是不愿意用到自己写的网站工具上的,你会觉得浪费时间。老实说我从来没用selenium给自己写的网站做过测试,完全不想做,但接口测试和单元测试我还是很愿意做的。主要因为基于图形界面的自动化测试效率低。我当时组里有其他测试人员执意要给我这个网站做selenium,我劝阻不了,但最后界面需求不断修改,他也没坚持做下来,从这个工具网站的第二个大版本开始就放弃了。15.学压测工具locust、jmeter等,7里写的框架可以支持压力测试了。同一套接口测试脚本,既做自动化测试又做压测了。注:现在主流是jmeter,而未来属于像locust这样的工具,它让测试人员写代码来描述性能测试。jmeter的控件和图形界面适合新手入门,但基于图形界面做的话效率低一点。其他gatling、grinder都在自身的设计理念上比jmeter先进。16.想做app测试的话,学一个appium之类的框架。p s:我没有学这个,主要看项目方向是否需要。17.补课时间,好好把计算机网络补起来,这个是真有用,我原单位用openstack搞云计算的时候,网络这块是最经常出问题的。网络我学得不好,就得不断求实验室的人帮忙。算法题刷起来,平时没多少用但是面试经常考,数据库我说实话我毕业后就没怎么系统学过,好像我用得不多。linux操作系统再补补,鸟哥私房菜看看完。很多人用了n年linux连系统权限咋回事都不懂,这个有点无语的。18.java补起来。没办法,用java的单位多。要找工作机会也多。现在流行java+python都要会。其实都差不多,举一反三。但能用python的地方我还是喜欢python。19.不知道后面再怎么学了。我想再提高提高web开发能力。前端框架学一个,以后开发一些更漂亮更炫的前端页面。再学下什么消息中间件之类的,去面试曾经被这个的问题虐过。我相信再怎么基础差,到了这里做做大部分单位的自动化测试是随便做做了。但是,恐怕你到这个时候也不愿意回去写那种常见的selenim脚本了吧。按我们单位的情况,原来写的脚本是robot脚本加一些自定义库,和别的单位的selenium、appium本质上都类似,都很简单不用动脑筋。这时候我原单位里有的人就转去做devops,搞ci、cd。有的人去做自动化测试教练(其实就是写测试基础库和搞培训)、测试工具开发(偏web开发)。这几类我都试过后感觉对devops更有兴趣,当然我做的具体工作还是从自动化测试开始的。自动化测试的学习路线和devops可以很好地衔接起来。因为自动化测试方面的专家较少,而devops讲究的是自动化整个流程,不仅是测试,但自动化别的阶段和自动化测试阶段,目前还没有太大本质区别。至于自动化测试架构师的职位,其实就看你单位怎么设置职位了。做技术的人总想着挂个架构师头衔,但其实这个架构师和开发的架构师差距还很大啊。到这里也不要沾沾自喜…可能只是你在这个公司资历熬的久。----------------回一下评论里的问题:1.最快多久入门:很快,不一定要按顺序从1学下来,以最快加入项目组干活来看,像我现在单位,要求真的很低,掌握1、8、10、11就可以干活了。我原来组里带一个黑盒测试出身的人(三到五年经验)带到他能写出一个case,完成一个合格的脚本大概一两周吧。但是,我不得不说,我也没办法把这些人带成高手。真正的入门我认为是要具备快速学习的能力开始。就我在我原公司待过两个部门,我见到的具备快速学习能力的测试人员屈指可数,真的非常非常少,而且很多都是不再写代码的测试架构师。(敢情大部分人都是等别人学好了来教你?)我的亲身经历就是,我学一个东西花两三天,用学的东西做一个东西花一个礼拜,优化到比较好用可能花个把月。但我教别的测试人员接手这个东西要教一两个月?!要教好多遍?!给了官方教程的链接告诉我看不懂或看不完?!这就尴尬了。我想去做新的东西,而不是被自己做的东西绑住..变成唯一的维护人员...所以我写的这么多点的学习路线,真正目的是希望读者在学习过程中培养快速学习的能力。然后摆脱学习路线自行学习。而并不是说让你按部就班一条一条学下来。我自己也才学到14和15。2.开发转测试的学习路线首先开发转测试是很可惜的。然后既然做了自动化测试,基于原有的开发经验,你应该很快发现:自动化测试技术含量极低。大部分人做的就是调用开源工具的接口,这甚至不应该算写是程序。一个应届生,培训一星期,一定能胜任。并且,即使他做三年这种自动化测试,他的水平也不会再有提高。唯一区别就是,以前他要一边看工具的API文档一边写脚本,三年后他不用看文档可以直接写。写的速度快了一点点。测试界的很多新人往往误以为自动化测试高大上,事实上并非如此,而且这是一个很无聊没什么挑战性的工作。并且以重复劳动为主。然后,做得好一点的地方,多多少少会对测试脚本做一定的抽象,形成一些测试框架。假如你是asp开发转过来的,万一你要设计框架的时候,不要把框架做成图形界面+拖拽控件的,那会非常难用。同样对java出身转测试的人说,请不要把测试框架设计成自带一大堆眼花缭乱的xml配置的,特别是不要让别人老是去改一大堆的xml文件。更不要做成web平台形式的测试框架,特别是不要让测试人员在浏览器里写代码。这些做法,我都遇到过,可用性很低。另一个很麻烦的问题是很多自动化测试不稳定。有时pass有时fail。因此一个脚本要反复调,来提高稳定性,这部分是很麻烦的工作。还有一个问题是很多自动化测试不可靠,即使他fail了,你也不敢说是软件bug,实际工作中每个fail我这里都要分析很长时间,联络很多人才能确定他是不是bug。所以,学习路线上的建议,我集中于怎样不再做简单低级的自动化测试工作上。我个人觉得自动化测试这份工作本身仅仅作为一个过渡会比较好。就像手工测试一样,我做手工测试时的目标就是不再做手工测试,做自动化测试时的目标就是不再做自动化测试。那么来看学习路线1.从开发转自动化测试2.学习各种测试工具:不一一列举了,前面已经有了。一般主流工具都会就可以了。记住这些工具仅仅只是一些api调用,调用这些工具和你asp拖拽一个控件并没有本质区别。3.加强对测试和相关理论与的理解,以下不分先后:单元测试原理(包括mock)接口测试原理(不就是调接口么,顶多加个和单元测试差不多的mock)性能测试原理(微软有个web性能测试的电子书很好,性能测试原理是唯一一个需要看书学习的,其他几个都太简单不需要看书)自动化测试原理(归根结底就是一些简单抽象简单封装和一些第三方库的调用)分布式测试原理(最简单就是master+slave,你可以看看jenkins、selenium grid、jmeter都实现了不同的分布式);持续集成原理(都不好意思说这能算原理,掌握jenkins和他的一些常用插件就好了);配置管理原理(为啥要用git,为啥要分branch等等,怎么做一个项目的配置管理);数据分析原理(我学的ELK,可以用来做测试结果分析和可视化————》进一步你可以转型做专业的数据分析,告别有点无聊的自动化测试,不过我原单位选择了从外面招一个人来而我也不想转这个方向)4.写点自己的工具原理都懂了,写起工具来简直势不可挡。特别是你如果搞的python,很多东西都可以自己写一写啊,都很容易实现啊。有那么多第三方库对吧。实现起来还特别快。比如,找一个可视化方面的库,你可以轻松自定义测试结果报告,做出你想要的任何高大上的图。这些图表在性能测试的时候很有用,那么尝试给jmeter或者给locust实现一个更漂亮的图表吧。然后你可能觉得比如jmeter的图表不能实时展示很不好用(jneter会建议你用命令行模式执行较高负载的测试,那么报告要测试跑完你才看得到),自己写一个,让他能实时展示出来。其实网上已经有了,你都不用写直接看一下都行。但应该要有能力写。特别注意很多人把3和4颠倒了,写出来的工具根本就很不好用。遇到过这些人遗留的历史工具n多次了。神烦。他反正自己写出来自己不用的,工具质量低也没有领导会关注。5.告别自动化测试还是要和前面直接搞自动化测试的人一样补各种基础知识。以及掌握至少两个主流的语言(比如python和java)。以及具备从前端到后台的基本开发能力。至此你可以做大部分公司的自动化测试、测试开发相关工作。别看前面12345好像很费时间,其实大部分人只是早年没有方向,没有好平台,所以才费时间。我大部分时间都在摸索这条路上。真的学得好的话也就三四年时间你就到这里了吧。到这步之后的区别就是开发能力了。测试门槛低,天花板也低,这时你就快到天花板了吧,按我个人浅见,就是到了。我也很难想象,哪里还能找到一个月基本工资三万四万的测试工作(通过延长每天工作时间倒是可能拿到这个数)。但对开发来说,还是有这种基本工资的。(股票另算)因为,自动化测试领域无大牛。自动化测试的技术栈不够深。你看阿里有运维到p10研究员,却没有测试到p10。从侧面反映出来测试人员目前技术较低。招聘网站上你看不到3w4w以上月薪的测试岗位。但却有开发、技术专家、软件架构师岗位能给这种月薪。或者你可以靠股票之类增加收入(一线大厂工资加股票一年几十万甚至上百万)。想做管理的可以赶紧转了,想继续技术路线的,是时候找一个领域来钻研,做领域大牛了。实际上对大多数人来说都已经有点晚了。但我们现在还是可以搭上devops的热潮,做devops,学云计算,在技术上更进一步做大牛的。----我目前学习devops中...开发能力还是不上不下半吊子...上述建议不保证全对。话说回来,做自动化测试并不需要你的开发能力真的有多厉害。能写出简单清晰易维护的代码就合格啦。34083 条评论分享收藏感谢收起28116 条评论分享收藏感谢收起做自动化测试一般用什么自动化测试工具?_百度文库
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
做自动化测试一般用什么自动化测试工具?
0|0|暂无简介|
狮子座信息技术有限公司是深圳市高端IT培训...|
总评分0.0|
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?&>&自动化测试计划
自动化测试计划
上传大小:152KB
5etesting论坛自动化测试计划.可以根据此文档进行测试
综合评分:4
下载个数:
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有5条
还可以,参考一下
还可以的模板,收留了
不错,值得参考~
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
自动化测试计划
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
无法举报自己的资源
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
liyanan0810
举报的资源分:
请选择类型
资源无法下载 ( 404页面、下载失败、资源本身问题)
资源无法使用 (文件损坏、内容缺失、题文不符)
侵犯版权资源 (侵犯公司或个人版权)
虚假资源 (恶意欺诈、刷分资源)
含色情、危害国家安全内容
含广告、木马病毒资源
*详细原因:
自动化测试计划为什么你的自动化测试会失败?看完这10种实用场景终于懂了
在过去的十年中,自动化测试已经在软件测试行业获得了很大的发展空间。由于敏捷方法和DevOps原则越来越普及,我们看到企业和测试工程师出于各种各样的需求,纷纷投入到自动化测试中。然而,并不是所有的人都成功地在自动化测试中获得了时间、金钱乃至资源的投资回报。多数情况下,测试人员都未能达到自动化测试计划的预期结果,主要是由以下几个原因导致:
导致自动化测试失败的原因
在实现自动化测试之前缺乏适当的计划
没有足够的资源来购买相应的工具
选择错误的工具
低估或高估的时间、成本和所需的努力
缺乏对启动测试自动化的培训
缺乏专业的测试人员
除了以上这些,测试工程师中常见的一些固有思维和误解也会导致失败。
自动化测试中的常见错误
误解1:自动化测试,就是为了保证在deadline之前完成工作
实际情况:自动化测试过程需要足够的时间和精力来记录、管理和分析结果。事实上,不是自动化的速度更快,而是执行的速度更快。因此,在临近deadline的紧急时刻不应该盲目采取此行动。
误解2:自动化测试总是有助于提高软件质量
实际情况:并不总是这样。自动化测试只是将执行测试的过程自动化,而这些测试并不一定有助于提高软件质量。有时,它只是测试应用程序的响应性或功能,而不是识别错误。
误解3:测试人员应该单纯使用自动化测试
实际情况:测试是为了识别缺陷,但并非所有的测试都是应该进行自动化。因此,自动化不应该应用于所有的测试。
误解4:测试人员和自动化工程师所扮演的角色是一样的
实际情况:测试人员是决定和编写测试用例的人,而自动化工程师需知道自动化测试的应用领域。然而,当测试人员和自动化工程师的任务重叠时,问题就出现了。
对于这些原因和误解信息,明智之举是对自动化测试有一个精确的计划和时间框架,以获得预期的投资回报。如果你想让你的自动化测试成为一次成功的尝试,一些典型的理想场景和最佳实践是你必须要了解的。
首先,让我们试着找出以下问题的答案:
什么时候采取自动化测试?
以下是10种值得采用自动化测试的实用场景:
场景1:回归测试
当你需要在持续的基础上对现有应用程序及其新功能进行回归测试或重新测试时,自动化测试是一个很好的选择。
场景2:迭代次数和测试用例
即使在应用程序中有大量的测试用例或迭代,自动化测试也会比手工测试更好,因为它可以更精准地识别应用程序功能中的错误。
场景3:持续集成
软件自动化测试在软件应用程序和测试人员每天需要反馈的情况下更倾向于使用。
场景4:大型数据集合
当应用程序功能需要使用不同的值进行验证时,也可以采取自动化测试,尤其是在有大型数据集合的情况下。
场景5:具有高级评估的复杂工况过程
假如应用程序中有复杂的过程需要很高级别的评估,那么自动化测试也相当理想的实现手段。
场景6:敏捷开发
在有时间限制的开发和sprint发布的敏捷开发环境中,同样应该优先考虑自动化测试。
场景7:负载测试
当你需要创建虚拟用户来测试应用程序的负载能力时,可以执行自动化测试。
场景8:人工测试失败
当人工测试失败或测试人员不能执行某些测试或找出错误时,也会执行自动化测试。
场景9:静态测试
自动化应该实施到具有高度重复性和静态性的测试中。
场景10:预定义时间
当你在预定义的时间内执行大量的测试用例时,可以自动化执行这些测试用例。这样一来,即使在周末远离工作场所的情况下,也可以照样不耽误测试的完成。
尽管这些场景可以确保你的自动化测试是出于正确的目的和正确的时间,但是在执行自动化测试时,还有额外的一些要点需要遵循。
在执行测试自动化时要考虑的问题
收集准确的要求并记录下来
专注于测试设计和调查测试
确保测试用例清晰准确
创建测试套件以聚化自动化过程
开发易于管理的自动化测试框架
创建可以实现自动化测试的实际测试场景
创建通用测试脚本以确保可重用性
将那些稳定不变的功能进行自动化测试
设定正确的期望并坚持下去
本身软件自动化测试对于测试人员来说是一个很好的策略,因为光靠人工的力量,是很难发布完美的软件,并保证软件质量的。而自动化测试,可以将你的应用程序转换到很高的高度,或者摧毁它的错误执行。它提供了一种通过有效利用资源和时间,来完成测试目标的最佳方法。因此,如果你掌握了以上这些知识和关于自动化测试的最佳实践,那么你的自动化测试将不会失败。
此外,一定要选择最好的自动化测试工具和熟练的测试人员。把一个昂贵的工具交给不熟练的测试人员可能会导致令人失望的结果。同时,要确保自动化测试工具能够满足你的需求,否则你的工具就只是一个“花瓶”而已,不会给你任何投资回报率。
与我们联系,为你的自动化测试需求提供更多的帮助,百度搜索Testin云测-企业一站式测试平台,现在就开始进行正确的自动化测试吧!
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
今日搜狐热点什么时候应该自动化测试_百度知道
什么时候应该自动化测试
我有更好的答案
对测试稳定性要求高,并且具备可实现自动化测试的条件前提下,另外还有对人力开销有所要求的情况可以考虑。
采纳率:84%
来自团队:
为您推荐:
其他类似问题
您可能关注的内容
&#xe675;换一换
回答问题,赢新手礼包&#xe6b9;
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 python自动化测试框架 的文章

 

随机推荐