哪个电气自动化工资待遇学习好?

机器学习专家们每天都在做什么?如何让机器学习自动化
本文作者是fast.的创始人之一Rachel Thomas,它是一名研究员,主要工作内容是将技术更容易被其他领域的人员使用。本文介绍了机器学习从业人员的主要工作内容,论智将其编译如下。
当下,媒体总会用&稀缺&、&高薪&等字眼来描绘机器学习,甚至还有一些夸张的标题宣称某公司的自动机器学习产品能代替机器学习专家。在 DevSummit上,谷歌AI的首席科学家Jeff Dean表示,目前数千万家公司会产出电子数据,但是缺少会机器学习技术的人才。而我在fast.ai的工作正是让更多的人学会机器学习技术、让这种技能变得更易掌握,所以我对这一问题进行了而深入研究。
在思考我们如何让机器学习自动化,以及如何让它普及到更多领域的人时,首先要思考的是,机器学习专家们都要做什么?任何能解决机器学习专家紧缺的方法都要回答这样一个问题:我们是否知道该教授什么知识、用什么工具、或者在哪一部分实现自动化。
这篇文章属于连载系列的第一篇,这里我们会描述机器学习专家实际上都做些什么。该系列的第二篇文章会解释什么是自动化机器学习以及什么是神经架构搜索(一些重量级人物曾表明这两种成果是减少对数据科学家需要的关键),最后第三部分将介绍谷歌的自动机器学习产品。
在复杂工作中建立数据产品
很多学术界的机器学习成果都只关注预测模型,但这只是机器学习专业人员平时工作的一部分。明确工作问题、收集并清洗数据、搭建模型、得出结果并监测变化,这些过程通常会以不同形式相互连接,很难单独拿出来作为研究对象。正如Jeremy Howard等人在Designing great data products中所写的那样:&强大的预测模型是解决方案的一个重要部分,但是它并不独立存在;随着产品变得越来越复杂,它也知识系统中的一部分。&
谷歌的一个小组写过一篇名为Machine Learning: The High-Inrest Credit Card of Technical Debt的文章,讲的是在实际案例中使用机器学习技术时,总会产生复杂的代码和&技术债&。作者提出了几种系统层面的交互、风险和反模式:
粘合代码(glue code):即将数据加入通用包或从中取出的大量代码
通道森林(peline jungles):用机器学习的形式准备数据的系统可能含有多种难题、连接点和采样步骤,通常在中间文件的输出处
重新使用输入信号,如果系统分离可以创造紧装置
可能改变外部环境的风险也许会改变模型或输入信号的行为,这种情况很难控制
作者写道:&真实世界中,机器学习着重关注的就是这类问题的解决&&值得注意的是,粘合代码和通道森林是集成问题的典型症状,原因可能是因为将&研究&和&工程&的角色过度分离了&&如果学术界知道了在机器学习系统中只有一小部分代码在起作用,他们一定会惊讶的。&
当机器学习项目失败时
机器学习项目失败的情况有以下这么几种:
当数据科学团队搭建了一个从未用过的工具。但是公司的其他部门并不知道他们做了什么,有些数据科学家也并不清除这些成果能否用于实际生产中。
当数据科学家们创造模型的速度快于将其投入生产的速度,就会产生积压。
数据基础架构工程师和数据科学家是分开的。通道中没有数据时,数据科学家会要求数据基础架构工程师获取。
当公司最终确定产品X的功能后,他们需要数据科学家收集支持这项决策的数据。数据科学家认为产品经理会忽略那些与决定相反的数据,而产品经理会认为数据科学家忽略商业逻辑。
数据科学团队面试了一位数学建模、工程技术能力都很好的候选人。确定录用后加入到垂直应用产品团队,并需要简单的商业分析。数据科学家感到很无聊,所学技能根本用不上。
这些问题是我之前在写公司组织失败时列出的,但是它们同样可以看作是太过于关注复杂系统的单一方面。问题在于数据产品之间缺少沟通并且没有目标。
所以,机器学习专家都怎么做?
如上建议,打造一款机器学习产品是多方面的复杂任务。下面是机器学习专家在工作中需要做的事:
找准能从机器学习中受益的区域
与其他相关人员讨论机器学习能做什么、不能做什么
让每个人都了解商业策略、风险和目标
明确目前公司有什么类型的数据
对任务制定合适的框架
了解操作限制
提前确定可能的道德风险,例如你的成果有可能被滥用、或被用于宣传
确定潜在的偏见和潜在的负面反馈
制作能收集更多不同数据的计划
将不同来源的数据汇总
处理缺失的或被污染的数据
数据可视化
建立合适的训练集、验证集和测试集
选择使用哪个模型
将资源模型纳入约束条件(即最终模型需要在顶尖设备商运行,内存少、延长时间长等等)
选择超参数(包括架构、损失函数、优化器)
训练模型,并进行debug。其中包括调参、查看损失函数、训练错误、验证错误是否有改变、监测模型数据、确定错误来源、改变数据清洗和处理的方式、改变数据增强方式、添加更多数据、尝试不同模型、是否过度拟合。
创建一个API或网页app
将模型输出成想要的格式
计划模型多久需要重新训练一次并更新数据
追踪模型性能
监测输入数据,确定数据是否会随时间使得模型失效
与其他人员交流结果
制定计划,如何监测和应对意外结果
确切地讲,并不是每个机器学习人员都会做到上面所有工作,但是这一整个流程是很多机器学习应用所必备的。即使你从事的只是其中的一小部分,了解其他流程也有助于你的工作。
机器学习的两大难点
对我自己和其他我认识的人来说,机器学习有两种最耗时费力的步骤:
处理数据格式、不兼容和报错
训练特别脆弱的深度学习模型
数据清理真的是机器学习的一部分吗?是的
处理数据的不一致和报错经常是混乱费力的过程。人们有时会将机器学习和数据科学分开,因为对机器学习来说,有时会直接用清洗过的数据进行训练。然而在我的经验中,数据集清洗和训练模型是相关的:我经常会在训练模型的时候发现问题,只能改变输入数据的预处理方法。
训练深度学习模型很脆弱
很多新手在一开始训练模型时会很容易受挫,即使是专家也经常感到沮丧。在NIPS 2017上,Ali Rahimi就曾抱怨深度学习的脆弱性。
这一现象也表明训练过程并未自动化,如果有某些能稳定训练深度学习的方法出现,对该领域来说一定是个巨大的进步。此前的dropout、迁移学习等方法都让训练变得容易了些,但总体来说稳定的训练仍然是个需要解决的问题。
给学术研究者
即使你正在研究机器学习的理论,了解从业者的工作内容也是必须的,这可以和研究目标结合起来。正如谷歌工程师D. Sculley等人所说:&技术债是工程师和学者都必须意识到的问题。如果研究出的解决方法只对精确度有微小的提升,却让系统复杂性大大增加,那么这一定不是一个明智方案&&解决技术债也许不总是诞生新的理论,但却是创新的重要一环。而发展针对复杂机器学习系统的全面、优雅的解决方案才是真正有意义的工作。&
原文标题:做机器学习是一种怎样的体验?详解机器学习专家的日常工作
文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。
发布评论请先
杜克大学化学和物理学教授和一群来自世界各地的科学家,与谷歌大脑的研究人员合作,使用最先进的机器学习算....
具有16年的计算机视觉和人工智能方向的研发经验,在过去的工作中,他发表过论文十余篇,申请中国专利超过....
到底什么是神经架构搜索?这是让机器学习普及的关键吗?这篇文章将重点解决这一问题。而在下篇文章中,我们....
近年来,结合了感知、融合、决策、控制的自动驾驶技术无疑是近年最火的研发领域之一。这也得益于人工智能技....
感知、决策、控制是自动驾驶的三个技术环节,但真正的难点在哪呢?
要是关注深度学习在自然语言处理方面的研究进展,我相信你一定听说过Attention Model(后文....
物联网通过收集高度个性化的数据以及提供高度个性化的应用和服务来亲密接触我们的生活,因此物联网机器学习....
终端侧的语音交互已经成为现实。Qualcomm AI Research已经可以在终端侧实现整体的端到....
至纯科技公告,公司通过发行股份及支付2.48亿元现金,拟作价6.8亿元,购买波汇科技100%股权,并....
月初外媒曝光了科技行业一个“不可告人的秘密”,很多“人工智能”能够如此智能的奥秘,竟然是因为这些公司....
这些被称为“牛联网” (Internet of Cows)的先驱公司正利用图像识别算法检测牛的健康问....
令人惊奇的是这种投票分类器得出的结果经常会比集成中最好的一个分类器结果更好。事实上,即使每一个分类器....
Static vs. Non-static Representations: 在大部分的语料上,CN....
近日,Salesforce发布了一项新的研究成果:decaNLP——一个可以同时处理机器翻译、问答、....
Face ID 的兴起带动了一波面部识别技术热潮。本文将介绍如何使用 OpenCV、Python 和....
如果你对人工智能和机器学习的理解还不是很清楚,那么本文对你来说将会很有用。我将配合精彩的视频和文字解....
自George Devol于1961发明第一台可编程工业机器人“Unimate”以来,工业机器人产业....
近年来,人工智能深度学习技术得到突破,使得此前半温不火的人工智能迅速崛起,图像识别、神经网络、机器学....
这听起来非常聪明,但作者实际上提出的是该领域任何一名从业者都认为是理所当然的东西——添加一个更适合解....
IUT Annecy团队使用了Neural Concept的软件,计算了自行车的最大长度和宽度以及动....
和软件工程一样,机器学习中,有很多处理问题的方法,各有各的折衷。如果你正在做一项研究或者一个本地原型....
利用深度学习进行主动脉真假腔分割有赖于大量手动标注的主动脉图像来训练深度学习网络,计算量大,且对计算....
在数据量不大的情况下,上面的数学效果不错(我们这里不讨论局部极小值、鞍点、学习率选择、动量等问题,请....
上述代码表述了例如姓名、电话、电子邮件等要素的元数据,用来提取它们的方法是“univalue_ext....
近期,《自然》上发表了一项研究成果——由全国多家科研机构白血病科学家组成的研究小组使用血液检测和机器....
人工智能领域的发展离不开学者们的贡献,然而随着研究的进步,越来越多的论文出现了“标题党”、“占坑”、....
美国奥本大学、哈佛大学、牛津大学、明尼苏达州立大学和怀俄明州立大学的研究人员开发了一种可以识别、描述....
正如你所看到的,决策树非常直观,他们的决策很容易解释。 这种模型通常被称为白盒模型。 相反,正如我们....
高通的AI平台从骁龙820开始,到第二代骁龙830以及第三代的骁龙845。目前已经发布了基于神经网络....
影子“猪脸识别”应用场景广泛,其中包括猪场猪只身份识别、育种管理、猪场生产管理、猪群健康管理、智能体....
我们希望在今年年底前将在此工作的AI和深度学习研究人员的数量增至三倍。
机器学习算法擅长发现大数据内的复杂模式,因此研究人员通常利用它们作出预测。
网络战愈演愈烈,网络政治干扰和政府要求为其访问软件和服务留下后门,这些都导致软件和基础设施采购过程中....
在DeDeo的主页介绍上写着,他们的研究方向是:在社会思想实验室(Laboratory for So....
今天,制作这款的APP的Tim Anglade(是的,这款APP是他一个人制作的,当然得到了很多人的....
这类系统利用用户的交互来过滤感兴趣物品。我们可以将交互的集合可视化为一个矩阵,其中每一项(i, j)....
当一个人真正想在机器学习中取得一定成就时,他需要深入微积分、线性代数,掌握一定的统计学知识,研究的深....
飞搜科技通过采用NVIDIA Tesla P100对图像进行大规模的深度学习训练,实现了对视频监控图....
对于语音,我们使用了公开的LibriSpeech数据集中100小时的子数据集。虽然数据集不提供原始文....
有缺陷的学术研究可能会误导大众,并阻碍学术未来的研究。实际上,这些问题有许多是在人工智能的历史(更广....
人类在对客观世界的问题进行判断时,往往都会根据过去的经验来指导自己。
既然目的是让AI做题,我们先得有题啊!当然了,手动搜集整理是不可能的,为了创建题库,首先我们构建了一....
对新领域进行探索通常需要基于直觉,但这些直觉并没有经科学验证形成正式定义。根据我们的发现,尽管这些直....
这些都是除了从零学习之外的强化学习方法。特别是元学习和零次学习体现了人在学习一种新技能时更有可能的做....
这不是石建萍第一次来CVPR了。过去这八年,她几乎没落下过一届,倒也习惯了每年办一次美国签证。
中国创客第四季夏季峰会——“AI降临”在深圳举行。这是一场大咖云集、干货满满,关注人工智能最前沿命题....
我们的 AutoAugment 算法为一些最著名的计算机视觉数据集找到了增强策略,将这些策略纳入神经....
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司
电信与信息服务业务经营许可证:粤B2-漫谈自动化测试(一)——如何入门
在讲如何入门之前,首先得对自动化测试有个概念 吧,否则怕你入错行,贻误终身啊。什么是自动化测试(Test Automation)?Wikipedia上如下定义:
In software testing, test automation is the use of special software (separate from the software being tested) to control the execution of tests and the comparison of actual outcomes with predicted outcomes.[1]
Test automation can automate some repetitive but necessary tasks in a formalized testing process already in place, or add additional testing that would be difficult to perform manually.(http://en.wikipedia.org/wiki/Test_automation)
英文没看懂?好吧,对于初入门者,我也忍了,就简单翻译下吧。如下:
在软件测试中,测试自动化就是用特定的软件(与被测软件区别开)去控制测试的执行,对比实际结果和期望结果。自动化测试能够使已有的正式测试过程中的重复且必要的任务自动化,或者增加一些手工测试难以执行的测试。
Wikipedia对自动化测试给出了简单的定义,对它的功能也给出了说明。好了,既然对“自动化测试”有了大概的印象,那就开始准备踏上软件自动化测试这条不归之路吧。
必备知识技能
“知识就是力量”(Knowledge is power)--弗兰西斯·培根(),没有必备的知识,在哪一行都很难混啊!“良田百亩,不如一技傍身”,说明技能也很重要啊(哎,如果有百亩良田,我真想回去种地哈^_^)。作为自动化测试工程师,需要同时兼备软件开发员和手工测试员的知识和技能,想想就知道门槛有多高了啊。
作为自动化测试工程师,首先你得会码代码吧,否则如何自动化呢?至于什么语言,我个人认为无所谓,其实各种编程语言只是工具而已,我们的目的是达到“软件自动化测试”。但是话又说回来,以个人的经验和体会,有些语言真心不太适合通用的自动化。我个人推荐 以C/C++ ,Java 和 Python为主,shell和批处理脚本为辅。
C/C++虽然编写效率低下,但执行效率高; Java的类库十分丰富,从GUI到网络等应有尽有,也不用担心内存泄露等问题(其实还是需要滴,不过对普通人来说可以略过);Python的开发效率极高,执行速度也不错,类库也十分丰富,学习门槛较低,十分适合初学者。不知道大家发现没有,这几种语言,都是可以运行在各种平台上的(Linux/Unix,MAC,Windows等),这才是我强烈推荐这几种语言的原因,因为你不知道哪一天,可能需要你把自动化测试框架或测试工具移植到另外一种平台上运行,那时候就知道语言的选择,其实也很重要!对于C#,Perl,Ruby等的拥护者,你们也可以尽管拿砖头拍我,我都接着啊^_^。
书籍推荐:《The C Programming Language》(我故意不写中文,是因为中文有不少书同名,鱼目混珠啊),《C++ Primer》,《Python核心编程》,《Core Java 9th Edition》(共2卷), 《算法导论》。
其实对于Python和Java,本身的帮助文档就足够了。其他的编程语言,可以自己寻找,觉得没啥特别好推荐的。
不要说你精通各种网络协议(HTTP,RTSP,FTP,SFTP,SMTP,RTMP,SNMP等等),至少应该熟悉下HTTP吧,否则在当今互联网时代如何立足啊?另外,基本的网络知识应该懂一点吧,至少知道路由器、网关、网卡、局域网、广域网、UDP、TCP、网络协议层等基本概念吧。
这些网络知识,懂得越多,在网络测试和设计网络通信的工具时,就越能发挥它的价值。作为自动化测试工程师,你必须要掌握socket基本知识,能够利用各种编程语言的socke接口进行网络工具编写,因为现在很少有测试工具不联网(至少是内部局域网)进行自动化测试了啊。软件安装部署,远程执行用例,测试结果发送等几乎都离不开网络。
书籍推荐:《TCP/IP详解》(共三卷,理解第一卷就够你在网络的天空中翱翔了,理解第二卷写个TCP/IP协议栈那都是小case,居家旅行必备良书!),如果看到这,你还去选择其它网络书籍(什么21天XX,从入门到精通XX等书),各种协议的RFC文档除外,那是对Richard Steven的侮辱啊。
掌握SQL语句编写技能,熟悉一些主流的数据库如Oracle、MySQL、MSSQL、SQLite等和分布式数据库如HBase等基本知识,除非是做数据库自动化测试,一般这方面的知识要求不算搞,掌握基本的 SQL 语句和主流数据库的安装部署,就能够应付日常工作需要了。
阅读书籍就不推荐了,网上一搜一大把,都半斤八两,随便拿本书或帮助文档看看吧。
了解Windows和Linux操作系统的工作原理,对深入理解编程和测试软件都十分有帮助。比如Windows下一般程序最大申请内存不超过2G,Linux下默认开启的线程数不超过1024个,这些都是与操作系统相关的知识,还有进程调度,磁盘IO,内存管理,系统锁,内核API等知识,对于我们编写自动化测试工具和测试软件都大有裨益。当然咯,操作系统的水很深,需要长期积累,学点总比不学强,对吧?Windows和Linux常用操作和命令,比如批处理脚本和shell编程等。
书籍推荐:《深入理解计算机系统》、《深入理解Linux内核》、《程序员的自我修养—链接、装载与库》、《鸟哥的Linux私房菜》、《Windows核心编程》(这本我没看过,口碑不错,推荐它)。
如果你打算从长远发展,希望某一天自己能够设计一款牛X的测试工具或框架,那么架构设计的知识和技能你就得学习和掌握了。软件架构、UML、设计模式、分布式、高性能并发设计等知识和技能,都能够让你有能力打造一款属于自己的测试工具或框架,在项目的需求分析或架构设计的评审会议上,你也能够拥有一席之地。
书籍推荐:《设计模式:可复用面向对象软件的基础》(一点也不基础哦,简洁、深邃、精辟,值得反复研读)、《面向对象分析与设计》、《面向模式的软件架构》(该书共5卷, 我至今也没看完这5卷,努力中...)
即使你不打算走上管理岗位,也需要研发管理的知识。这个研发管理概念比较宽泛,包含软件工程如软件需求设计、代码管理、进度控制等,也涵盖物料申请、人员调度和分配、协调沟通等等,这些技能都需要啊,否则怎么开发自动化测试工具?怎么保证自动化测试投入应用?如何与团队成员(自动化测试工程师,手工测试工程师,软件开发人员,管理者等)沟通?
书籍推荐:《人月神话》、《代码大全》(涵盖全面,值得收藏,累了还可以当枕头^_^)。
软件行业覆盖了现在的各行各业啊,挖掘机里面也有嵌入式编程呢^_^。作为自动化测试人员,了解被测软件的应用领域,用户使用习惯和使用流程等,对于自动化测试设计都很重要。不要求十分精通(当然咯,精通更好啦),但至少也要知道行业背景知识,用户使用操作场景,行业常用术语等基本常识。
这个就没法推荐书籍了,各行各业都不一样啊,寻找下基本知识还是不难的,问百度,问Google吧。
PS:这些知识和技能,特别是推荐的那些书籍,部部都是经典之作!其实还有数据结构和算法(前面我只推荐了《算法导论》,其实还有《计算机程序设计艺术》等),软件测试理论方法,软件工程学等知识,这些知识和技能,可以系统的阅读书籍,或者零零碎碎地学习即可。不要以为书籍很多,其实除了特别说明的书以外,我可以负责任地说都阅读过,有些书还阅读过多次(不过书实在太多,信息量巨大,有些读了也忘了,瀑布汗啊!)。
必备职业素养
有了前面那么庞杂的知识体系,你的职业素养至少成功了一半。其实这里的职业素养,不仅是针对自动化测试人员,对于所有的职场人员而言,我们都应该具备这些素养。
我们要尊重测试结果,不能为了让领导满意而随意篡改测试结果的数据。性能不达标,那不是你的错;测试不通过,那也不是你的错;你唯一要保证的就是你的测试工具没有问题,是客观公正的!软件测试是一件严谨的工作,如果遗留或隐瞒缺陷,指不定哪天这个软件缺陷会要了你或者别人的命,为了所有人的生命财产安全,作为质量控制员,作为21世纪有思想有抱负有责任的青年,大家共同努力吧!
承诺测试工具或测试框架的交付日期,就必须做到,否则会因为自动化测试工具或框架没有准备好,而严重拖累项目进度,导致失去市场商机。对于不能完成或不可实现的需求,要勇于提出意见,不要偷工减料。比如对于视频质量的自动化检测,明明无法检查音视频是否同步,你也不告知大家,那就是你的过错了。
积极改进日常工作流程,作为自动化测试员,要有“懒惰”的精神,能够自动化完成的工作,绝对不要手工去操作完成,哪怕加班写个工具,也不要做重复无聊的劳动。要以提高个人和团队的工作效率为目标,积极改善工具,即使重构代码,完善帮助文档等。
自动化测试的服务对象,一般就是本团队的测试人员、开发人员和项目管理者。每个人关注点不一样,测试人员关注易用性、可靠性、缺陷检测,开发人员关注缺陷数,管理者关注测试结果报告(通过率、覆盖度、性能指标等)。要尽自己最大努力,做到一键式操作(软件部署、测试执行、发送报告等),配备简洁完备的操作使用手册。
好了,前面说了那么多,估计把一群想加入自动化测试的人员吓跑了一大半。看到这里,你应该很高兴自己还坚持着(我码字更不容易啊)。作为奖赏,如果你对推荐的书籍感兴趣,可以私信给我联系,电子版的免费赠送啊。如有任何疑问,欢迎回复或私信给我交流。敬请关注《漫谈自动化测试》后续的系列文章。
转载请注明出处:
(http://blog.csdn.net/thomashtq/article/details/)
没有更多推荐了,秦学教育公众号
400-678-7001电话咨询
您的位置: 主页 >
自动化专业和电气工程及其自动化专业哪个更好一点呢?
  自动化专业和电气工程及其自动化专业是两个比较相似的专业,很多学生也分不清这两个专业的区别,那么对于想要报考两个专业之一的学生也是需要去了解一下,防止自己报考的不是自己喜欢的专业,那么对于自动化专业和电气工程及其自动化专业两个专业之间的区别以及哪个专业更好的一点的问题,学生们了解一下!
  以我的工作经验觉得自动化专业好一点
  大学里我的专业是电气工程及其自动化,现在毕业了总结来看,我们学校开的这个专业偏电气工程这方面;为什么这样说呢,一方面,我刚上大学时,我们这个专业的学生刚上大四,还没毕业,也就是说这个专业开的时间还没有四年;另一方面,学校的师资力量不足,我们上哪些课程全是这些老师选择的,学校老师大都是理论基础比较好,但是缺乏实践经验,所以在教学的过程中,难免把握不住重点。
  自动化专业偏弱电一点,电气工程及其自动化偏强电一些,这里的侧重主要在课程方面,毕业了具体从事什么样的工作,还取决于个人的选择。
  我目前从事的就是自动化类的工作,主要借助西门子PLC,总体思想就是弱点控制强电。
  作为自动化类的从业者,和弱电打交道相比强电来说更安全一点,而且在强电磁环境下工作,对人的身体影响极大,以我接触到的信息,强电磁对生育是有影响的,所以毕业了我并没有去那些发电厂、变电站工作。
  另外就是现在学计算机、编程也是很热门的,自动化这个专业和编程语言接触的更多,如果你编程学的很好的话,很吃香的
忻州师范学院怎么样?学校的情况是怎样的呢?对于忻州师范学院的基本情况,小编为学生们汇总了一下,可以帮助学生们掌握更多的关于忻州师范学院的学......
自动化专业和电气工程及其自动化专业是两个比较相似的专业,很多学生也分不清这两个专业的区别,那么对于想要报考两个专业之一的学生也是需要去了......
志愿填报是学生高考的最后一道重要关卡,学生们需要严肃的对待,那么学生可以选择哪些比较合适的专业呢?尤其是哪些专业比较适合男生报考呢?学生们......
长安大学的学校情况是怎样的呢?对于学校的情况,小编可以为学生们介绍一下,帮助学生们掌握更多的学校情况,了解更多的学校实力,从而判断自己的是......
陕西省渭南市2018年高三第二次模拟考试中,学生的理科数学的考试情况是怎样的呢?对于学生们理科数学科目的考试试题情况,小编为学生们汇总了一下,......
国防科技大学是中国的一所实力大学,学校的实力也是非常厉害的,很多的学生都想要考上这所学校,那么学生怎样知道自己是不是能够考上这所学校呢......
秦学热门活动
最新热门课程
无论您在哪里?秦学教育都不会离您太远
全国20多个城市,200多家校区,让孩子的学习更加轻松,出了家门就是课堂
提分热线:400-678-7001
家长交流群
版权所有 秦学(北京)网络教育科技有限公司 All right reserved 京ICP备号& & & 自己之前为了学习自动化测试加了几个自动化测试的群,在群里和不少大牛交流,也和不少新手交流。因为自己也是一个自动化测试的新手,就想着总结下自动化测试学习工作中遇到的问题,也希望如果有想学习自动化的童鞋,可以学习前看下这篇感想,可能对于你的学习有所帮助。下面我所说的东西都是群里好多自动化测试新手遇到的,有技术方面的,也有工作中遇到关于自动化的问题(很现实。。。)
& & &NO1. 学习自动化难不难?自动化测试如果仅仅是使用录制回放来进行自动化测试是一点都不难的,这种使用工具进行录制回放的自动化测试(例如Selenium使用SeleniumIDE)不需要你懂代码,不需要你像性能测试那样录制完成还要进行分析总结(性能测试我认为最叼的不是工具的使用,是对测试结果的分析,并且给出合理的性能优化方案)。这种录制回放有的可以是为了BUG的更好的复现,有的就是做下回归测试冒烟测试。那么有的新手就会疑问,录制回放是自动化,写脚本也是跑自动化,为什么非要写代码?
& & &<span style="color: #.录制回放的局限性太大。录制回放的仅仅是一个用户的一个操作过程或者说一个业务实现过程。以我的实际工作例子,一个客户的账号会有多种状态(正常,挂失,部分冻结,全部冻结,只收不付,只付不收...),如果要测试不同状态的账号的业务,难道要录制多遍?它们仅仅是账号有区别,如果自己写脚本,弄个数据驱动就搞定了。
& & &2.从原因1中我们可以看到,录制回放仅仅是一个个零散的case,作为一个自动化测试项目来说,没有一个好的自动化测试框架,仅仅是一堆录制回放的case,那这样的自动化测试还有存在的意义吗?有了问题就重新录制?自动化的本意就是解放重复的手工测试,一次次的录制也是重复无用的工作。
& & &3.有一个好的测试框架编写脚本,可以增强测试的业务逻辑性,与业务的各种需求连接更加紧密,更好的提高业务需求人员与测试人员的协同工作。
& & &从上面可以看出,仅仅使用录制回放来进行自动化测试是很简单的,但是效果是没有那么好的,像我们公司也使用testwriter进行自动化测试,实际的效果没有很明显。那也会引出另外一个问题:自动化是为什么而做,它高大上?部门老大让做就做?先把第一个问题解决完。。
& & &那么写自动化脚本难在哪?作为一个开发转测试表示没有难度......勿喷勿喷,但是作为一个没有开发经验没有代码经验的新手来说写自动化测试脚本难吗?不难!!!从我自身来说,我是学的Objective-c,但是我是用java写脚本的,java我也是自己现学的。我们来看写自动化脚本需要用到开发语言的哪些东西。
& & & 这是我学习自动化测试Selenium时参考的书籍资料,当然从开发角度来看这点东西塞牙缝都不够,对于没有语言基础的人来说,这些东西的学习(以上班族每天晚上2-3个小时的学习时间来说,别跟我说挤不出学习的时间)最多一个月。注意注意!!!经常在群里看到有新手这样问,这行代码怎么会出错误啊,这个怎么会报错啊,我按网上搜到的代码写的怎么报错啊诸如此类的,这都是一个原因,语言基础不好或者是没有语言基础强行写脚本。连最基本的语法都搞不懂,怎么去写出高质量的代码,写代码不像是学习一个工具的使用,工具的使用你可以直接拿一个案例来运行,边使用边学习,熟能生巧,但是代码是不同的,不懂最基础的语法,模糊的知道这行代码是干嘛的有用吗?随便换个场景,换个逻辑就又蒙蔽了。所以不要急于求成,必须要掌握最基本的语言基础,最好每学习完一个东西辅助性的做些练习题,代码是敲出来的,不是看会的。
& & &NO2.自动化是为什么而做,它高大上?部门老大让做就做?经常有群里的小伙伴说,哎呀自动化搞了半天也没测出几个问题,老大叼我了;哎呀,我们老大说自动化挺厉害的让我学习搞一下;哎呀,这个自动化能代替手工测试吗,各种测试案例都能写出脚本来执行吗?有的小伙伴在学习自动化的时候可能看到过一些大牛说过什么样的项目可以进行自动化,但是都有一个模糊的概念,那通过这几个问题就很直接反应出我们能必须认知的东西:做自动化一定要知道为啥做。
& & &1.考虑项目是否适合做。
& & &2.认识到自动化与手工测试不是矛盾的,不是谁可以代替谁的。
& & &3.自动化测试一般用于回归测试和冒烟测试。
& & 以上三点可以解决群里小伙伴们的问题,就算是部门老大问你,你也可以这样说。
& & NO3.新手如何进行自动化测试。只说一句,学习是循序渐进的,不论你上面领导要求你多久上手自动化,都应该一步一个脚印去学习,不要拿没时间压力大当借口。我对于那些在群里问那些最最基本问题的新手感觉很不爽,熊瞎子掰棒子,没有会爬就想跑,这样学的很不扎实,做起来也会很不顺利。以学习Selenium为例
& & 1.学代码
& & 2.学习SeleniumAPI(就是封装了许多方法的一个测试框架)
& & 3.学习自动化测试项目的构建......
& & 没有学习的心,做什么都很难,以上是我的一些吐槽和感想,不吐不快。。。。。。人若没有梦想,那跟咸鱼有什么区别!!!
阅读(...) 评论()}

我要回帖

更多关于 机械制造与自动化薪水 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信