ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

测试人员对编程天生“恐惧”么?

2022-06-24 16:35:10  阅读:178  来源: 互联网

标签:知识点 编程语言 天生 代码 编程 测试人员 问题 程序员 公共


 

软件测试人员掌握一门或者多门编程语言是必不可少的,许多测试人员对编程天生“恐惧”,其实编程并不是你想象中那样触不可及。

许多测试人员为了提升,抱着一本书“死啃”,效果肯定是有,但不是最高效的,我并不推荐。在平时繁忙的工作中,抽出大量的时间来学习,不大现实,有时候会因为紧张的工作不得不停下来,投入到工作中,待空闲时再继续学习编程,你又会发现许多之前看的内容又忘记了。其实编程语言就是这样的。你不用它,就会很快忘记。那么如何利用碎片化的时间高效的学习呢?后面我会一一为大家解惑,并提供我自己的见解与学习方法。

 

 

 

软件测试人员掌握的编程水平不能与专业的程序员相比,其中有两块区别,一是熟练度,二是思想经验,熟练度的差距会比较大一些,而思想家境界上我们可以无限的接近甚至超越程序员,就好比许多人玩LOL游戏,有人是大神,有些人是普通的玩家,对于同一个角色英雄,发挥出来的水平是不一样的,你与大神的区别,一在熟练度上,二在思想境界上,为什么会说熟练度差距大,程序员每天使用一编程语言,熟能生巧,编码敲击速度要快很多,这需要长时间的锻炼才能实现,软件测试人员天生没有这样的条件,熟练度差距自然很大,在思想境界上【所谓思想境界指的是对某类问题的解决方法】我们可以与程序员很容易的接近,程序员解决这类问题,方法是这样的,你告诉我,我懂了,那么这类问题以后我也能解决了,无非就是编码速度,代码规范的差距,结果都是一样的,程序员不可能每天都在解决没有遇到过的问题,大部分时间都是将已知问题的实现方式(方法、经验、思想)编码实现出来,若我们将一些常见的问题的思想罗列出来,通过交流或者分享的方式,让你一一体会了解,是不是要相对容易些,懂了就是懂了【不纠结深层次的问题】,你懂了才能成为你自己的。程序员与程序员之间的能力差距,其中一点主要体现在思想境界上。

那么到了这里又会产生另外一个问题,别人在讲解或者分享某些问题的解决方法时,我们能够理解么?就好比你在参加一个别人的分享会,你能完全的吸收别人的思想么?请想一想!这需要一定的基础。就好比一个物理学家在分享一个问题的解决方法时,你能够听懂么【不排除一些牛人】?若有另外一个物理学家,也遇到该问题时,听完分享后,茅塞顿开,最终成功解决问题。因为他们在那一层次上有一定的基础。

若要吸收别人在编程上遇到问题的解决思想,你需要一定的基础,这些基础我将其归纳为固定的知识,理解掌握别人的思想需要固定的知识点来作为支撑。

哪些是属于固定的知识?如:基本数据类型、字符串、常用操作、数组常用操作、正则、文件目录操作、常见容器对象、日期、多进程、多线程等等这些基础知识属于固定的知识点。很容易理解,例如获取字符串的长度,就一个len方法,参数为字符串,返回字符串的长度,没有歧义。

若要使用一种编程语言的话,需要熟记这些基础知识么?没有必要,一种编程语言的固定基础知识点就好比一种编程语言的编程手册,这类数据属于字典类数据,你说过有人会去背诵一本字典么?你所需要做到的就是会用这本“字典”即可。技术组也在逐渐完善这类的公共的代码库,并根据经验整理出合适的字典,我这边称之为公共代码库,当然你也可以自己收集与整理固定只是点的体系【建议后期大家统一在公共代码库进行维护】。

 

 

公共代码库类的字典与我们平时的新华字典的用法可不一样,公共代码库中每个知识点你需要全部的弄明白,你是不是觉得很多?相反,这类的学习反而更加简单,因为每个固定知识点已经没有任何的歧义,你只要理解、懂了就行了、但是有些东西得记住了,例如不同容器的特性【数组:有序,课重复;集合:无序,不可重复等】等等(其中有部分的概念还需要稍大的篇幅去讲解,例如:理解多线程、多进程概念,线程,进程同步,锁的概念),你不用去记忆,你只需按顺序把知识点都理解了即可。

关于公共代码库你只需要知道某一种知识点有或者没有,并且知晓其在公共代码库中的位置即可,比如我有一字符串。需要用Python获取到该字符串的长度,或者扣取字符串中一段子字符串,这类小问题属于固定知识点可解决的问题,你只要知道好像有这样的固定知识点可以解决这样的问题,并且能快速在公共代码库中查找到即可。

公共代码库只需要弄明白常见的知识点的含义,以及别人问题时,可以给出有或者没有,并且能找出其位置在哪即可。

有些人可能会问,这些我早就看了很多遍了,还是无从下手,别着急,往下看。

想一想一个复杂的问题是不是由多个稍小一点的问题组成,而有些稍小一点的问题又可以分为多个更小的子问题,当分解成的子问题已经不能在分之后,到了这里,这个复杂的问题我们已经知道如何详细的去实现了,因为不能再细分的子问题都对应一个个固定的知识点【公共代码】。

到了这里有些人就明白了,这不就是分析问题的能力么?非常好,别人能想到该问题的分析方法,而我为什么却没想到【没想到与想不到是有差距的,主要区别在于每个人对基础知识掌握的广度与深度的不同】,你没想到,我告诉了你如何的分析方法, 你就懂了,就真正的成为了你自己的东西,这类分析方法,其实就是经验、思想,他与某一个固定的编程语言无关,有了经验、思想你学习更多的其他编程语言,会得心应手,你经常回听到别人说编程语言之间基本上相通的。

剩下的就是思想经验的吸收,何谓思想经验,宰之前已经做过解释,这里再啰嗦下,公共代码库中都是解决一些小问题的公共代码,一些负责问题【负责问题也是由多个小问题组成】的解决方法、分析方法就是经验,有了固定的知识点作为支撑,听别人讲解一些问题的解决方法思想还是比较容易接受的,无非就是多看看别人如何将一个大问题分解成多个小问题的过程,小问题只需要熟悉公共代码库即可,自然而然问题就可以解决了,这样才能真正让别人的经验成为属于自己的经验,甚至基于你自己掌握公共代码库的广度加以优化,能够给出更加合适的解决方法,那么这个问题的解决方法上你已经超越了对方。思想经验的吸收相对来说就比较容易了,看别人代码或者与别人交流,只有体会后,在遇到时才会自燃而然的想到。

 

标签:知识点,编程语言,天生,代码,编程,测试人员,问题,程序员,公共
来源: https://www.cnblogs.com/xmxit/p/16409350.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有