学习软件测试需要什么基础
首先,要有宽泛的计算机基础知识。
微机原理,数据结构,数据库,操作系统原理,编译原理,逻辑,编程语言,网络,等等,都要系统地学习过。
都精通不大可能,因为人的兴趣都不相同,但是,这些功课的基本知识点是应当了解的。
我们在谈到职业的类别的时候,我们可以说C程序员,C#程序员,Java程序员,而没有C测试员,C#测试员,Java测试员,程序员可以只擅长某一门编程语言,测试员却不行。
为什么呢?测试员是代表用户的,在做测试的时候,他(她)需要考虑到方方面面的事情。
例如对于一个用C写的上网拨号程序,测试员需要考虑:(1) 程序的功能是否正确;(要求计算机知识)(2) 是否符合用户的使用习惯;(要求界面设计知识和换位思考能力)(3) 性能是否满足要求,例如长时间使用;稳定性;(要求深入的计算机知识)(4) 是否能够满足用户可能的不同操作系统的要求;(要求计算机知识)(5) 如果在全球发布,是否满足不同语言和文化的需求;(要求软件国际化测试知识)(6) 如何搭建测试环境;(动手能力,硬件知识)(7) 做代码检查;(比较深入的C语言知识)(8) …所以,各方面都了解一点,你在做测试的过程当中你会感觉顺手的多。
如果某写方面还差一些,没有关系,计算机行业的特点就是边做边学,只要是个有心人,学习是很快的。
其次,要掌握一门编程语言。
有的朋友可能会说,我就是不愿意做编程才来做测试的,怎么测试还有这么一个要求?我要尝试说服你:)。
我的理由有两个:1. 只有知道怎么做一个软件产品,才能真正懂得这个产品。
而只有真正懂得了产品,才能做好测试。
一行代码不会,你会始终是个门外汉。
不要满足于点鼠标,而去尝试着打开我们面前的黑盒子。
2. 自动化测试技术需要编程技术。
自动化测试是软件测试的一个发展方向,一方面很多测试工具都需要人工干预,编写代码;另一方面在有的情况下需要自己编写测试工具。
对于测试员来说,编程技术不要求精通,但要会。
再次,学好英语。
在现阶段,我们只能承认,在计算机方面,英语国家领先。
有很多的资料都是英语的,如果仅仅局限在中文资料方面,会影响你的渊博程度:)。
举一个简单的例子,Windows操作系统会捕捉到一些程序或者操作系统内部的异常,你可以根据这个异常到微软网站上去查找错误原因和解决办法,其中有很大一部分资料就是英文的,因为还没有翻译过来或者以后也不会翻译的。
以上所说的几点看法,都是在计算机行业里面打转,下面说几个“虚”的要求吧。
1. 锻炼出一双测试的眼睛。
我的一个朋友,她也是做软件测试的,她说,有一次她和她老公去买笔记本电脑,她一眼就看出液晶屏上有几个坏点,而她老公却看不出来。
她说,这要归功于她有一双测试的眼睛。
测试的眼睛,就是对问题特别敏感,能够发现常人发现不了的问题。
测试员就是要找软件中的问题,有了这双眼睛会让你收益非浅。
耐心,细心和经验,会有助于我们到达这个要求。
2.平和的心态。
从心理学上说,每个人都不喜欢别人对自己挑毛病,程序员也是这样。
所以,要以平和的心态去看待发现的软件问题,以平和的心态去和程序员交流。
千万不要以为自己发现了几个问题,就可以责怪程序员,或者冲过去骂他们一顿。
也不要在背后谈论谁谁谁不行,bug太多。
一个项
手机有没有可以测眼睛度数的软件,
程序的功能是否正确;(要求计算机知识) 是否符合用户的使用习惯;(要求界面设计知识和换位思考能力) 性能是否满足要求,例如长时间使用;稳定性;(要求深入的计算机知识) 是否能够满足用户可能的不同操作系统的要求;(要求计算机知识) 如果在全球发布,是否满足不同语言和文化的需求;(要求软件国际化测试知识) 如何搭建测试环境;(动手能力,硬件知识) 做代码检查。
(比较深入的C语言知识)计算机专业技能 计算机领域的专业技能是测试工程师应该必备的一项素质,是做好测试工作的前提条件。
尽管没有任何IT背景的人也可以从事测试工作,但是一名要想获得更大发展空间或者持久竞争力的测试工程师,则计算机专业技能是必不可少的。
测试专业技能 现在软件测试已经成为一个很有潜力的专业。
要想成为一名优秀的测试工程师,首先应该具有扎实的专业基础,这也是本书的编写目的之一。
因此,测试工程师应该努力学习测试专业知识,告别简单的“点击”之类的测试工作,让测试工作以自己的专业知识为依托。
软件编程技能 实际上,由于在我国开发人员待遇普遍高于测试人员,因此能写代码的几乎都去做开发了,而很多人则是因为做不了开发或者不能从事其它工作才“被迫”从事测试工作。
最终的结果则是很多测试人员只能从事相对简单的功能测试,能力强一点的则可以借助测试工具进行简单的自动化测试。
软件测试工程师应该学些什么方面的知识?
软件测试工程师应该学习知识:(1)软件开发技术很多人认为,干吗要学习软件开发啊,那还不如直接去学什么JAVA、C++、C#了。
要知道,在以后的软件测试工作中,你就会发现软件开发与软件测试之间是什么样的关系了。
没有软件开发,就没有软件测试,有了软件测试,软件开发出的软件产品才能够达到用户满意的地步,他们之间是相互依赖关系。
有了更多的软件开发知识,就会更好地能理解软件产品,就知道在哪个环节开发人员容易犯错误,知道在哪个逻辑结构、哪个接口或函数,甚至是从内存的管理机制上都可以找出问题。
软件开发所用的程序设计语言有很多种,所以要精通其中一门,其他能看懂代码,会对你的测试工作有更好的帮助,另外也会帮助开发人员进行快速缺陷定位。
而且在软件测试工作中,要编写一些辅助测试的小工具,都需要有软件开发基础。
象测试过程管理工具、测试用例管理工具、缺陷跟踪工具、性能检测工具等等。
不要老是认为软件开发难,什么事都是从不会到会,从不精通到精通,都需要一个过程。
没有人一生下来就什么都会的,都需要自己的不断努力才能成功。
(2)网络技术软件是从字符界面产品发展到图形界面产品,从单机版到网络版(C/S结构和B/S结构),经历了一个漫长的过程。
计算机网络的出现,改变了现实社会中人们的相互沟通方式,把一个小小的地球变成了一个地球村。
所以,目前所有的软件产品都从传统的单机模式向网络模式转变,网络技术就更加关键。
目前网络的发展,使得网络速度进一步提高。
目前,家庭网速达到1M~2Mbps,企业达到4Mbps,据说要到2012年家庭的网络速度要达到20Mbps。
那么网络硬件从传统的电缆到目前的光纤技术、无线通信技术。
从目前的发展速度,三网(电信网、电视网、计算机网络)合并是迟早的事情。
网络硬件协议的测试,也是网络设备生产商要做的工作。
(3)数据库技术现在的数据信息是海量的。
在目前的软件产品中,底层架构中就需要有数据库进行数据存储,那么对数据的增删改查的操作是软件测试人员必须要必备的技能。
数据库测试也是测试技术的一种。
(4)测试与质量保证技术精通软件测试理论,熟悉软件测试流程,理解软件测试的哲学思想,掌握软件测试每个阶段的文档编写技巧,掌握软件测试的策略与各种测试方法,掌握测试用例的设计方法。
掌握单元测试、集成测试、确认测试、系统测试、验收测试等每个阶段的测试技术。
软件质量保证知识、测试项目管理、测试团队建设知识也是必须要具备的。
掌握软件测试自动化工具,理解软件测试自动化测试框架,能够学会如何进行测试项目管理、回归测试以及性能测试,能够把性能缺陷进行定位。
软件测试还是一个崭新的学科,还没有形成一个独有的知识体系,还需要我们不断的研究与实践。
(5)行业知识目前软件测试涉及的行业是多种多样的,从金融产品到电信、游戏、汽车、杀毒、网站、企业管理、学校教育、本地化产品等等,各行各业的软件产品都需要大量的测试,所以相关行业知识的储备也是必须的。
(6)职场规范职场礼仪是必须的,你是否适合某个企业,能否融入这个企业,基本的职场规范是要学习的。
必要、有效的沟通也是软件测试人员所必须掌握的技巧。
转载请注明出处51数据库 » 有什么软件测试眼睛的
我只想好好睡一觉