软件测试工程师应该学习知识:
(1)软件开发技术
很多人认为,干吗要学习软件开发啊,那还不如直接去学什么JAVA、C++、C#了。要知道,在以后的软件测试工作中,你就会发现软件开发与软件测试之间是什么样的关系了。没有软件开发,就没有软件测试,有了软件测试,软件开发出的软件产品才能够达到用户满意的地步,他们之间是相互依赖关系。有了更多的软件开发知识,就会更好地能理解软件产品,就知道在哪个环节开发人员容易犯错误,知道在哪个逻辑结构、哪个接口或函数,甚至是从内存的
管理机制上都可以找出问题。
软件开发所用的程序设计语言有很多种,所以要精通其中一门,其他能看懂代码,会对你的测试工作有更好的帮助,另外也会帮助开发人员进行快速缺陷定位。
而且在软件测试工作中,要编写一些辅助测试的小工具,都需要有软件开发基础。象测试过程管理工具、测试用例管理工具、缺陷跟踪工具、性能检测工具等等。
不要老是认为软件开发难,什么事都是从不会到会,从不精通到精通,都需要一个过程。没有人一生下来就什么都会的,都需要自己的不断努力才能成功。
(2)网络技术
软件是从字符界面产品发展到图形界面产品,从单机版到网络版(C/S结构和B/S结构),经历简仿裤了一个漫长的过程。计算机网络的出现,改变了现实
社会中人们的相互沟通方式,把一个小小的地球变成了一个地球村。所以,目前所有的软件产品都从传统的单机模式向网络模式转变,网络技术就更加关键。
目前网络的发展,使得网络速度进一步提高。目前,
家庭网速达到1M~2Mbps,企业达到4Mbps,据说要到2012年家庭的网络速度要达到20Mbps。那么网络硬件从传统拦简的电缆到目前的光纤技术、无线通信技术。从目前的发展速度,三网(电信网、电视网、计算机网络)合并是迟早的事情。
网络硬件协议的测试,也是网络设备生产商要做的工作。
(3)数据库技术
现在的数据信息是海量的。在目前的软件产品中,底层架构中就需要有数据库进行数据存储,那么对数据的增删改查的操作是软件测试人员必须要必备的技能。数据库测试也是测试技术的一种。
(4)测试与质量保证技术
精通软件测试理论,熟悉软件测试流程,理解软件测试的哲学思想,掌握软件测试每个阶段的文档编写技巧,掌握软件测试的策略与各种测试方法,掌握测试用例的设计方法。掌握单元测试、集成测试、确认测试、系统测试、验收测试等每个阶段的测试技术。软件质量保证知识、测试项目管理、测试团队建设知识也是必须要具备的。
掌握软件测试自动化工具,理解软件测试自动化测试框架,能够学会如何进行测试项目管理、回归测试以及性能测试,能够把性能缺陷进行定位。
软件测试还是一个崭新的学科,还没有形成一个独有的知识体系,还需要我们不断的研究与实践。
(5)行业知识
目前软件测试涉及的行业是多种多样的,从
金融产品到电信、
游戏、
汽车、杀毒、网站、
企业管理、学校
教育、本地化产品等等,各行各业的软件产品都需要大量的测试,所以相关行业知识的储备也是必须的。
(6)职场规范
职场礼仪是必须的,你是否适合某个企业,能否融入这个企业,基本的职场规范是要学习的。必要、有效的沟通也是软件测试人员所大渣必须掌握的技巧。
在软件测试行业中我们都说要坚持学习,那么我们该如何选择学习,学习什么呢?据调查很多人在面对这个问题的时候都是一种迷茫,一种困惑,在其他场合的观察来看,我们在选择学习的时候随心性太大,或者说跟随性,比如说看到别人用了lync,自己淡定不了了,非要学习一下,看到虚拟化火了,也去折腾一番!你觉得这样方式的选择学习是对的吗?对你有多大的帮助吗?当然,帮助肯定是有的,可以拓展我们的眼界等,但我今天谈论的是以实际工作出发,可能在某些程度上刺激到大家!就只当来探讨一下吧!
我们的问题可以从以下2点来出发:现在进行时未来将来时一 现在进行时
在这里我先问几个问题(技术能力不是唯一目标):
我们工作中,一大部分的工作是处理用户的故障,每天的故障率有多又少,但后期在出现之前相同的故障率的几率高很多,这个容不得我们忽略,小问题我们随手就可以搞定,说明我们处理这类故障的次数已经很多了,我们有必要记录下来,不为自己也要为其他同事或者后来人员做一个记录参考,以缩短用户业务中断的时间,对于那些随手搞不定,需要搜索等手段来解决的问题,我们更应该进行记录,因为你不敢保证下次不会再遇到,这一点我是深有感触!
我个人的思维是:不管你的技术能力有多低,但备份是你必须精通的,技术低,经验少不可怕,我们可以通过努力学习,来提高自己,相对来说,这个实力可以在时间上进行提高,但如果出现重要事故,比如系统崩溃,硬盘损坏,这个时候,技术能力的优势已经不存在了,我们这个时候需要的是有备份,就算技术能力再好,没有常规的备份手段,我们也是无济于事!所以,先不要管自己到底有多厉害还是多么的菜,先制定好备份计划,给自己留一条后路不为过的!
有了备份计划,看着一盘盘的磁带被写满,心里乐滋滋的,但你有测试恢复计划吗?如果没有,那么你只能祈福不要出问题!有了备份我们也需要杞衫圆裂人忧天,这备份可靠吗?我们的业务,我们的数据就全靠这个备份了,可不能马虎了得,赶紧的拿出你的磁带进行测试恢复吧!这是在给自己增加
保险!
虽然我们有了备份和恢复计划,但我们要有一套完整的备份恢复指导书,是一个标准流程,而不是随心所欲的去备份恢复,而且我们要根据我们制定的指导书反复的进行演练,一般在出现重大事故需要恢复的时候,我们那个时候的压力是最大的,面对用户的电话,上级的催促,我们可能会紧张,思路瞬间被打乱,这不是不可能的,所以,为了恢复出问题,我们必须要有一份指导书,是经过多次演练总结出来的指导书!
二 未来将来时
1,公司现有的业务知识
公司的域或者exchange每天都是问题不断,用户电话,上级邮件,这样子我们还会淡定吗?还会想着学点其他什么的吗?当然不会,我们首先应该或闭选择学习的是我们工作当时需要用到的,为什么?我们在这里工作,在这里维护,我们就有责任保证业务的正常运行,如果说正常的业务都无法保证,那么我们可能压力比较大,心神不宁,更甚者可能就会被辞退,这样就更别提我们要学习了,我们在选择学习的前提就是我们先需要稳定!在我们把当前的技术点学习的差不多了,那么我们就应该考虑第二点了
2,公司未来半年或者一年内需要用到的技术(不愿意再做下去的除外)
为什么这么说呢?因为我们在把当前的技术点弄好了以后,我们就应该考虑公司未来的发展规划了,比如,虚拟化现在都开始进入到企业里了,如果公司未来半年或者一年内有这个规划,那么我们在选择学习的时候,应该把这半年或一年内的需求作为我们要投入学习的目标,不管这个需求是否偏门(一般来说事不会太偏门的,也就趋势所行吧),我们都需要把他放到第二选择的地位,除非不想再这里干了,当然,如果你在这个时候选择其他技术点学习也未尝不可,但我觉得你现在已经被动了,因为半年后就要上线的技术,这个时候不学,等到了上线的时候自己手忙脚乱的在去学,对公司是不负责任的,对自己也是一种怠慢,可以说,这段时间学习的其他方面的知识点,因为用不到实际的环境中去,慢慢的也会退化!到头来得不偿失!我们大部分人都是这样,问他学了没有,他说学了,但又忘记了,为什么?好久没用过了!所以根据公司未来需求结合自己的实际情况,我们这样考虑把他放到腔尺第二的地位不为过!
3,其他一些自己感兴趣的以及比较火热的一些知识点
作为
IT行业的从业人员,IT信息技术的更新快,我们有的时候也需要涉及一些其他方面的知识,这也未尝不可,但我们需要先完成以上2点需求,才能花大把的时候学习其他方面的知识点!
4,也可以根据自身的情况来进行选择,以上只是我个人的理解,有不对的还请指出!
学习是一种对待
生活的一种态度,学习也是一种选择,有句话说的好,选择不对,努力白费,还有一句,错误的选择,他们停止一下就是一种进步!
今天看书的时候突然看到了这篇文章,仔细琢磨了一下很有道理,作为一名软件测试人员不单单要懂的测试方面知识,业务知识、数据库、操作系统、计算机网络等等都是测试人员应该掌握的,知识面越宽对测试工作也有利。软件测试学习归纳起来分为两个方面“广”、“深”,只有多学才能让自己的计算机知识由一个个点形成面。学的越多也就可能发现事物的共通性,在广的基础上,也要深入一门,只有深入掌握一门知识,才能发现事物的本质。
工程师是可以改变世界,我们要探寻每一件事情别后的真相。
学东西要把目光放长远一点,学习不是为了短期利益,而是要把自己的知识面从点扩充到面。这方面自己要多思考,别人不知道乱誉如何帮助你把知识面从点扩充到面。引用华为的一句话:“板凳要坐十年冷”,就是要耐得住寂寞。
在学习的同时要不断的总结,总结自己在与大公司要求的职位方面还有哪些不足睁陪肆,然后朝着自己不足的地方努力,没有目标的努力是徒劳的!很多朋友看到别人呆的公司待遇怎么怎么好,但是却不去想人家为什么能进这个公司,自己没有进这个悉轿公司,为什么一个人比另外一个人强一点,挣得多一点,职位高一点?根本原因在于,他的付出多,他要更努力一点。人只有不停地评估自己的价值才会让自己更有所值。
做简单族咐的功能测试确兆铅纯实比较枯燥,每天都是测版本,并且功能都差不多,但是要学深入的话激粗
性能测试、安全测试、自动化测试就相对来说好些,没那么枯燥,但是这些要求的技术相对也会高些,要求会使用各种测试软件、各种脚本等等的