array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 转型自动化测试不是空喊!如何快速转型自动化测试? - 爱码网

少部分从事软件自动化测试,会接触底层服务端、API 、Web、APP、H5 等等,对自动化有了解。

想做自动化,首先得了解一下自动化测试的一些常见问题。

也是面试时,必问的一些问题(这么简单的面试问题,你却答的一塌糊涂),如果对自动化完全不了解,每天在那嚷嚷要做自动化,都是空喊。
转型自动化测试不是空喊!如何快速转型自动化测试?

自动化测试一些问题

1. 什么是自动化测试?

自动化测试,顾名思义,自动完成测试工作。

通过一些自动化测试工具或自己造轮子实现模拟之前人工点点/写写的工作并验证其结果完成整个测试过程,这样的测试过程,便是自动化测试。

自动化测试,看上去很美,感觉好像是第一次工业革命,它开创了以机器代替手工劳动的时代,实则不然。

因为每一个自动化测试的case都是从手工测试做起的,如果没有手工测试的基础,是没法进行自动化测试。

2. 为什么要进行自动化测试

为什么进行自动化测试,答案要从自动测试的收益和人肉测试的成本说起:

1)自动化测试节约成本(根据项目)

毕竟自动化测试确实解放了一批人力(人力成本才是IT公司大的成本),可以让机器没日没夜的执行一些重复劳动.

2)有些测试项目手工很难实现(手工成本较高)

比如12306的压力测试、负载测试,同时找那么多人去测试不现实可以通过机器去模拟.

3)项目质量流程需要

比如版本管理需要build verify,以保证check in的code不会影响版本库。

类似于smoke test

自动化测试的优缺点

优点

避免测试人员因重复劳动产生厌倦

提高测试效率

保证每次测试地一致性和可重复性

更好的利用无人值守时间

进行一些手工无法进行的测试

缺点

维护成本相对比较高

系统开发时间不一定能缩短

还是得依赖手工测试,很多问题无法发现

什么样的项目适合做自动化测试(dev手一抖,auto忙一宿)

有以下几个特点的项目比较适合自动化测试:

转型自动化测试不是空喊!如何快速转型自动化测试?

  1. 项目变动少

  2. 周期长

  3. 项目资源足够(自动化不是一个人完成的,需要一帮人长期维护)

举例说明:

互联网项目,一周内要上线,你不上线别人上线人家不用你的,项目周期短,变动快,你自动化还没做好,项目说不定下线了。

比如某宝双12活动相关项目,一周之内下线了。

适合做自动化测试的项目,比如某宝客户端,每个release,大部分功能都不变,并且3-5年内项目不会下线,这个比较适合自动化.

什么样的人适合做自动化测试?

这个问题是写给想要做自动化测试的人,或许你以为软件测试的门槛很低,低到任何人都可以做,随便点点可以了,这个行业太low了,所以你想做自动化测试,提升自己的逼格,我想说手工测试并不low,如果让一个什么都不懂,一点业务基础都没有的人去做测试,能测出来问题吗?不要忽略你的业务知识储备.

你的业务知识储备的积累能让你成为不可替代的行业专家,而做自动化的码农会因为一个时代的更迭被小鲜肉替代。

扯了这么多,究竟什么什么样的人能做自动化测试?

转型自动化测试不是空喊!如何快速转型自动化测试?
我的理解分一下几点:

1)拥有代码能力

掌握一门开发语言,java、Python、ruby、c#

2)熟悉被测系统

比如你是web测试,你得懂js、css、html、xpath

你是移动端测试,你得具备Android 开发基础和iOS开发基础,会debug app

你是 C/S测试你要很熟悉TCP、IP协议

3)掌握一套自动化测试框架(工具)

比如

selenium/appium

nunit/testng

robot framework/cucumber

4)善于学习,达到知其然知其所以然

IT行业变化太快,每隔一段时间会出现一些新兴的东西,也会出现原来很火的东西逐渐没落,谁也无法预测。

曾经诺基亚还是手机霸主,靠塞班一统天下,然而不思进取,落得个卖身求生存.

曾经qtp很火,曾经selenium也很火,现在appium也很火

软件行业从桌面软件到web端,又从web端迁移到移动端,谁也不知道下一个是什么。而我们作为软件行业的从业者,不能因为那些很火的东西不火了而让自己没落,一个人为核心的能力是学习能力。

如果你善于学习,你不必担心这些变迁,因为你可以毫无压力的迁移,

selenium的原理你掌握了,学习appium简直小菜一碟,因为appium使用的是

selenium WebDriver protocol 。

如果你能做到知其然知其所以然,你也可以造轮子,改造appium,毕竟现在很多功能需要完善。

如果你没有达到以上的几点,建议你还是做手工测试吧。

如果你有代码基础,想要从事自动化测试怎么去学习?

转型自动化测试不是空喊!如何快速转型自动化测试?
1、很多初学者很纠结,学qtp还是学selenium

我的建议是学selenium,开源的,免费的,你可以下载源码研究,去了解其原理,再者现在selenium的资料不要太多,随便搜搜一大堆,学起来比较轻松。

不建议学selenium IDE录制,当然你可以通过录制一些然后转换为相应的脚本去学习,等你学好了selenium, 再去学appium你会有一种天然的似曾相识。

2、为什么不建议学QTP/UFT?

因为收费/臃肿/现在做桌面软件测试的工作已经不太多了。

3、关于买书

自动化工具类的书,不建议买,很多书已经过时了,并且质量渣渣,你买了那些书中的code已经不能用了,如果你真的想学,去官网找example,去相应的社区和群交流(1127563538),或者直接看API/源码.

当然,测试基础类的书籍,至少得看过一本,有系统性的知识。
转型自动化测试不是空喊!如何快速转型自动化测试?

总结:
新人学习自动化测试要:

· 掌握一门开发语言

· 掌握一些基础的知识

· 自动化方面,少买书,多看测试框架的Document,多去技术社区交流

· 不断学习,提升自己发现问题,解决问题的能力

· 不做伸手党,多动手

总而言之

· 学习一门开发语言,Java/Python,学习一个测试工具selenium/appium,掌握一个测试框架,testng,cucumber 等

· 平时多沉淀,然后抓住机遇,即可轻而易举的转型自动化测试。
转型自动化测试不是空喊!如何快速转型自动化测试?
上面是我收集的一些视频资源,在这个过程中帮到了我很多。如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以加入我们群【1127563538】,里面有各种软件测试资源和技术讨论。
转型自动化测试不是空喊!如何快速转型自动化测试?
当然还有面试,面试一般分为技术面和hr面,形式的话很少有群面,少部分企业可能会有一个交叉面,不过总的来说,技术面基本就是考察你的专业技术水平的,hr面的话主要是看这个人的综合素质以及家庭情况符不符合公司要求,一般来讲,技术的话只要通过了技术面hr面基本上是没有问题(也有少数企业hr面会刷很多人)
我们主要来说技术面,技术面的话主要是考察专业技术知识和水平,上面也是我整理好的精选面试题。
加油吧,测试人!如果你需要提升规划,那就行动吧,在路上总比在起点观望的要好。事必有法,然后有成。
资源不错就给个推荐吧~

相关文章: