开篇话:

 对于软件测试,对于一名大三的学生来说,我了解的确实不多,也很不全面,可以说是从学长学姐得到一些有些以偏概全的观点:

比如:

1、测试比开发要求的技术门槛要低,简单地来说,测试人员只需要轻点鼠标,测试系统的功能点是否满足要求,是一种技术性要求比较低的工作;

2、测试是一种重复而单调的工作

3、测试适合女生,因为测试工作需要两个字:耐心

4、测试在中国不够受重视,测试人员亦然。

诸如此类的等等

 对于测试这个行业,有很多我不懂的地方,但我想钻研到里面去。

 没有犹豫不决,我已决定加入软件测试工程师这个大部队里面去,而从现在就开始努力!


 这是我阅读蔡卫东所著的《软件测试实践--测试Web MSN》一书所写的“读后感”,其中会有许多摘抄,会在摘抄处作声明。我谨以此作学习笔记,督促自己学习,也与人共享心得


我的学习笔记(一)

 不少人对“测试”这个词很陌生,的确。对于像我一样刚刚接触软件测试或者是有意做这一行的人来说,免不了会不安,会想:“测试到底是做什么的?”“我要怎么样做才能做好测试工作呢?”而我上面所提到的那些以便概全的观点也并非是空穴来风、毫无根据的。事实上,蔡卫东在序言也提到:“作为测试人员有的时候会觉得受到不公正待遇,薪水可能拿的没有程序员多,测试部门可调用的资源没有开发部门多,测试员只有在裁员的时候才会享受到最后的‘优先’(优先被裁)要改变这种现状,只有靠我们自己。软件测试远远不只是点鼠标,它是一项逻辑性很强的工作。

 开始我也不能理解为何是逻辑性很强的工作,但慢慢地我体会到了这其中的奇妙。因为项目的关系,我成为了项目测试组的一员,虽然当时对测试一窍不通,但通过一些培训和学习,倒是自己写出了测试用例并对模块进行了测试。其中测试用例的编写,就是大部分学习测试的入门课程了。当时不能理解,测试用例应该要怎么写。我测试的模块比较简单,控件只有一个输入文本框。(页面设置如下图示)《软件测试实践--测试Web MSN》 之我的学习笔记(一)_第1张图片

 当时的想法就是,根据外设要求,分成几个功能点:保存、全部清除、单个清除。而主要是输入框输入数据合法与否的检测,说句不好听的,纯粹“排列组合”问题。

 但现在我不会这么想,逻辑性要求在于,测试人员要完全理解需求规格说明书上的要求,分析出所测试系统涵盖的几个功能模块。就如我上述的简单模块而言,我其实漏了许多的测试点,除了输入框中数据的测试。首先,界面设计是否合符要求?基于网页的测试,还有弹出窗口问题、除了系统的功能,软件的基本数据也应该再测试范围之内...等等。然后从用户的角度出发,分析这个功能点是否合符要求,不合符要求的表现在哪里?如何才是满足需要的状态?有哪些操作会影响用户的使用?等等...这些都需要从逻辑思维上进行分析,而非简单的“排列组合”


以下,我摘抄书中我觉得讲得很好的话语,以作警醒和学习之用:

1、测试用例是软件测试的最小单位,是测试工程师的×××。对软件测试入门者来说,测试用例是第一位的,有了好的测试用例你就能发现别人没有发现的bug。只有当你具有良好的、开放性的测试思维,你才能得到优秀的测试用例。

2、在我们开始做一个测试项目之前,先站在一个整体的高度上去统观全局,然后再来做模块划分,考虑具体的测试怎么做。

3、测试准备工作:

首先需要熟悉产品的需求规格说明书---测试是要以其为基础和标准,但同时也要去发现其中的错误,推动需求的完善。(不是说在具体产品的界面上去操作才算是软件测试,测试工作是贯穿于整个软件开发过程的)

其次,要了解项目的整体安排

再次,准备好测试环境--工作环境和测试环境要分开、功能测试环境和性能测试环境要分开、把搭建测试环境时遇到的问题和相应的解决办法记录下拉,形成文字,以备以后查询

最后,对一些常见的软件测试领域的术语要有所了解,包括黑盒测试、白盒测试、灰盒测试、功能测试、性能测试、压力测试、系统测试、边界值、等价类、BVT测试(冒烟测试)、自动化测试等等

4、不要以为软件测试很简单!软件测试的门槛相对来说的确低一点,比较好切入,但是,要成为一个优秀的软件测试工程师需要付出艰辛的努力

5、测试技术以外的东西:为何需要耐心?

耐心是软件测试工作的一个要求。因为毕竟软件中正确的地方比BUG多,所以我们需要瞪大了眼睛去找bug,这需要耐心;发现bug后,我们反复甄别导致这个bug的真实原因,这需要耐心;我们写一个清晰、完整的bug报告,这需要耐心;发现不了bug不灰心,发现了bug不埋怨、不小瞧开发人员,这需要耐心;bug被修正后,测试人员要去验证,确认问题是否真的得到解决,这需要耐心。

所以,要做软件测试的你,请保持耐心!