初学者如何选择学习哪种测试技术

百度搜索:小强测试品牌

挨踢脱口秀,将技术娱乐化,碎片系统化,尽在荔枝FM

本文节选自《小强软件测试疯狂讲义》一书

如果对你有一丢丢的帮助,欢迎转发本文

这个话题有点沉重,因为一旦表述不好肯定会被一些无良的人骂之,但思前想后还是决定写这一章节。因为我被太多的朋友问过这个问题了,大概统计了一下,基本每两天就会被问到一次,有时候一天还会被问到N次,我回答的都要吐血了,为此还在《挨踢脱口秀》(http://www.lizhi.fm/200893/)中专门做了一期节目,可见这个话题的必要性了,也希望能帮助有选择纠结症的朋友。

下面我尽量客观的以我自己的学习经历来聊聊,也许这个经历不是最好的,甚至是错的,但可以给大家一些参考,少走一些弯路,我觉得就是有价值的。

首先,我们说说学习性能测试需要面临的几个挑战,大家可以结合自己的实际情况看看自己是否适合继续学习。

第一,庞大的知识体系,这个是我们面临的第一个挑战。性能测试是一项复杂且需要耐心的工作,我们需要在复杂的系统中“抽丝剥茧”,一层层分析从而确定性能问题。这个过程会涉及中间件、Web服务器、缓存、数据库、代码等知识,所以没有一个较为完整的知识体系就很难进行下去。虽然说是挑战,但在我看来却是大部分小白朋友最佳的入门途径,因为它能帮助我们快速建立较为完善的知识体系,对于我们而言有百利而无一害。不知你是否遇到过这样的场景,被指着鼻子说:连一个SQL语句都不会写,连中间件是什么都不知道你还和我们讨论什么。这样的“羞辱”虽然让我们不开心,但也直白地指出了现在很多测试工程师在整体知识体系方面的欠缺,只有把自己的短板补起来才有底气和实力去争取更美好的事物。

第二,较强的分析能力,这个是我们面临的第二个挑战。就好像动画片《柯南》,在复杂的犯罪现场破案,需要不断的推断和论证,这个过程中有可能会把之前确定的事情推翻了,也有可能好几天都没有进展,但这也是它的魅力,可以说是痛并快乐的。

在我接触过很多学员之后,我发现大家一个共性的问题就是逻辑分析能力较差,在分析的过程中经常是东一点西一点,完全没有逻辑可言,都是乱猜,并且经常容易掉入细节,一旦掉入无法自拔,导致停滞不前,这也就是为什么很多人觉得性能测试难的原因。在我看来,性能测试的分析过程就像剥洋葱,你需要一层层剥开才能看到问题所在,这个过程就需要你有较强的逻辑分析能力,同时也要具有宏观性,只有站在一定的高度去看待问题才能豁然开朗,不然就会陷入死胡同。一旦这个思维能力培养好了,就会事半功倍,学习其他技术时效率也会提高,所以万事都需付出才能有收获。

其次,我们再来说说学习自动化测试需要面临的几个挑战。

第一,编码能力,这个是逾越不过的坎儿。说到这里可能会有朋友问难道性能测试不需要编码能力吗?答案是需要,但比起自动化测试来说门槛相对低点。其实对于一个优秀的测试工程师来说编码能力是必备的技能。

如何提升自己的编码能力也是不少朋友咨询过我的问题,真心没有什么捷径。我觉得就是要多练习多总结,我说的练习是真正的动手去做而不是看。我带过的学员中其实大部分同学都存在一个问题,就是上课讲的时候听起来感觉很简单,不以为然,但当自己下课后练习时却出现各种问题,很简单的知识点能搞一天,所以一定要多练习,每次犯过的错误也都要及时总结,不能让自己在同一个地方跌倒两次。我再苦口婆心一句:“没有不起眼的砖,没有看不到的框架,漂亮的楼房怎么能屹立不倒”。

第二,逻辑思维能力。在有了编码能力之后就能做自动化测试了吗?显然不能,因为自动化测试最终是希望建立一个框架或者平台,这是一个大工程,一定要有较强的逻辑思维能力和设计能力才行。就好比,你会焊接技术但不代表你会设计汽车啊。所以自动化测试真正的难点在于设计思想,一点经验都没有的朋友做起来确实会比较吃力,这也就是为什么我个人建议可以先学习性能测试,培养能力和思维之后再学自动化测试的原因了。

说了这么多,我想大家应该心中已经有了答案,再次声明,这些只是我个人的看法,不见得对,仅供参考而已,不喜勿喷。

时间: 2025-01-09 04:11:57

初学者如何选择学习哪种测试技术的相关文章

Java 处理 XML 的三种主流技术及介绍

简介: XML (eXtensible Markup Language) 意为可扩展标记语言,它已经是软件开发行业中大多数程序员和厂商用以选择作为数据传输的载体.本文作者对于 Java 处理 XML 的几种主流技术进行一些总结和介绍,希望帮助那些有不同需求的开发人员对于 XML 处理技术的作出最优的选择. 最初,XML 语言仅仅是意图用来作为 HTML 语言的替代品而出现的,但是随着该语言的不断发展和完善,人们越来越发现它所具有的优点:例如标记语言可扩展,严格的语法规定,可使用有意义的标记,内容

来,了解下用Python实现的四种机器学习技术!

机器学习技术VS.算法 虽然本教程专门讨论Python的机器学习技术,但我们很快就会转向算法.但在我们开始关注技术和算法之前,让我们先看看它们是否是同一回事. A 技术是解决问题的方法.这是一个相当通用的术语.但当我们说我们有一个算法,我们的意思是,我们有一个输入,并希望从它得到一个特定的输出.我们已经明确规定了实现这一目标所应遵循的步骤.我们将不遗余力地说,一个算法可以使用多种技术来获得输出. 现在我们已经区分了这两种技术,让我们来了解更多关于机器学习技术的内容. 用Python实现机器学习技

【收藏用】--切勿转载Java处理XML的三种主流技术及介绍

原帖地址 : http://www.ibm.com/developerworks/cn/xml/dm-1208gub/ XML (eXtensible Markup Language) 意为可扩展标记语言,它已经是软件开发行业中大多数程序员和厂商用以选择作为数据传输的载体.本文作者对于 Java 处理 XML 的几种主流技术进行一些总结和介绍,希望帮助那些有不同需求的开发人员对于 XML 处理技术的作出最优的选择. 最初,XML 语言仅仅是意图用来作为 HTML 语言的替代品而出现的,但是随着该

你应该掌握的七种回归技术

转自:http://www.iteye.com/news/30875 英文原文:https://www.analyticsvidhya.com/blog/2015/08/comprehensive-guide-regression/ [编者按]回归分析是建模和分析数据的重要工具.本文解释了回归分析的内涵及其优势,重点总结了应该掌握的线性回归.逻辑回归.多项式回归.逐步回归.岭回归.套索回归.ElasticNet回归等七种最常用的回归技术及其关键要素,最后介绍了选择正确的回归模型的关键因素. 什么

web应用程序测试方法和测试技术详述

1.界面测试 现在一般人都有使用浏览器浏览网页的经历,用户虽然不是专业人员但是对界面效果的印象是很重要的.如果你注重这方面的测试,那么验证应用程序是否易于使用就非常重要了.很多人认为这是测试中最不重要的部分,但是恰恰相反界面对不懂技术的客户来说那相当关键,慢慢体会你会明白的. 方法上可以根据设计文档,如果够专业的话可以专业美工人员,来确定整体风格页面风格,然后根据这个可以页面人员可以生成静态的HTML,CSS等甚至生成几套不用的方案来讨论,或者交给客户评审,最后形成统一的风格的页面/框架.注意不

Golang测试技术

本篇文章内容来源于Golang核心开发组成员Andrew Gerrand在Google I/O 2014的一次主题分享“Testing Techniques”,即介绍使用Golang开发 时会使用到的测试技术(主要针对单元测试),包括基本技术.高级技术(并发测试.mock/fake.竞争条件测试.并发测试.内/外部测 试.vet工具等)等,感觉总结的很全面,这里整理记录下来,希望能给大家带来帮助.原Slide访问需要自己搭梯子.另外这里也要吐槽一 下:Golang官方站的slide都是以一种特有

客户端GUI测试技术和自动化测试架构设计简谈

客户端自动化特点 客户端的自动化,通常做过的人都不是很愿意深入讨论.因为除了功能和逻辑之外,不得不面对各种界面变化,各种和环境交互,各种兼容问题以及想不到灰色地带,就算这样,也找不到太多有效的bug.然而即便如此,客户端的自动化必须去做,尤其是GUI的.它的自动化特点是: 复杂 成本高 不容易发现问题 技术要求高 架构很难通用 下面,从一些基本的东西开始一点点的讨论客户端GUI测试的一些问题和处理办法,以及自动化架构设计的一些思路.事实上就像上面说的,GUI的测试并不是为了发现bug,而是回归的

Android无线开发的几种常用技术(阿里巴巴资深工程师原创分享)

本文由阿里巴巴移动安全客户端.YunOS资深工程师Hao(嵌入式企鹅圈原创团队成员)撰写,是Hao在嵌入式企鹅圈发表的第一篇原创文章,对Android无线开发的几种常用技术进行综述. 嵌入式企鹅圈现拥有七个专栏(Linux内核驱动情景分析.资源紧缺型SOC嵌入式架构设计.嵌入式交叉工具链及其应用.嵌入式设计和编程.微信硬件平台和物联网解决方案.Android开发.开发资源共享).更多Android.Linux.嵌入式和物联网原创技术分享敬请关注微信公众号:嵌入式企鹅圈.我们百分百原创,资深工程师

30 天学习 30 种新技术系列 - SegmentFault【转】

body { font-family: Microsoft YaHei UI,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5; } html, body { } h1 { font-size:1.5em; font-weight:bold; } h2 { font-size:1.4em; font-weight:bo