本科软件测试实习生一般需要掌握哪些技能?

270人已关注
我根据自己的经历和体会,给你罗列一些吧,也供其他朋友们参考和交流学习。 首先,要有宽泛的计算机基础知识。微机原理,数据结构,数据库,操作系统原理,编译原理,逻辑,编程语言,网络,等等,都要系统地学习过。都精通不大可能,因为人的兴趣都不相同,但是,这些功课的基本知识点是应当了解的。我们在谈到职业的类别的时候,我们可以说C程序员,C#程序员,Java程序员,而没有C测试员,C#测试员,Java测试员,程序员可以只擅长某一门编程语言,测试员却不行。为什么呢?测试员是代表用户的,在做测试的时候,他(她)需要考虑到方方面面的事情。例如对于一个用C写的上网拨号程序,测试员需要考虑: (1) 程序的功能是否正确;(要求计算机知识) (2) 是否符合用户的使用习惯;(要求界面设计知识和换位思考能力) (3) 性能是否满足要求,例如长时间使用;稳定性;(要求深入的计算机知识) (4) 是否能够满足用户可能的不同操作系统的要求;(要求计算机知识) (5) 如果在全球发布,是否满足不同语言和文化的需求;(要求软件国际化测试知识) (6) 如何搭建测试环境;(动手能力,硬件知识) (7) 做代码检查;(比较深入的C语言知识) (8) … 所以,各方面都了解一点,你在做测试的过程当中你会感觉顺手的多。如果某写方面还差一些,没有关系,计算机行业的特点就是边做边学,只要是个有心人,学习是很快的。 其次,要掌握一门编程语言。有的朋友可能会说,我就是不愿意做编程才来做测试的,怎么测试还有这么一个要求?我要尝试说服你:)。我的理由有两个: 1. 只有知道怎么做一个软件产品,才能真正懂得这个产品。而只有真正懂得了产品,才能做好测试。一行代码不会,你会始终是个门外汉。不要满足于点鼠标,而去尝试着打开我们面前的黑盒子。 2. 自动化测试技术需要编程技术。自动化测试是软件测试的一个发展方向,一方面很多测试工具都需要人工干预,编写代码;另一方面在有的情况下需要自己编写测试工具。 对于测试员来说,编程技术不要求精通,但要会。 再次,学好英语。在现阶段,我们只能承认,在计算机方面,英语国家领先。有很多的资料都是英语的,如果仅仅局限在中文资料方面,会影响你的渊博程度:)。举一个简单的例子,Windows操作系统会捕捉到一些程序或者操作系统内部的异常,你可以根据这个异常到微软网站上去查找错误原因和解决办法,其中有很大一部分资料就是英文的,因为还没有翻译过来或者以后也不会翻译的。 以上所说的几点看法,都是在计算机行业里面打转,下面说几个“虚”的要求吧。 1. 锻炼出一双测试的眼睛。我的一个朋友,她也是做软件测试的,她说,有一次她和她老公去买笔记本电脑,她一眼就看出液晶屏上有几个坏点,而她老公却看不出来。她说,这要归功于她有一双测试的眼睛。测试的眼睛,就是对问题特别敏感,能够发现常人发现不了的问题。测试员就是要找软件中的问题,有了这双眼睛会让你收益非浅。耐心,细心和经验,会有助于我们到达这个要求。 2.平和的心态。从心理学上说,每个人都不喜欢别人对自己挑毛病,程序员也是这样。所以,要以平和的心态去看待发现的软件问题,以平和的心态去和程序员交流。千万不要以为自己发现了几个问题,就可以责怪程序员,或者冲过去骂他们一顿。也不要在背后谈论谁谁谁不行,bug太多。一个项目是大家共同做的,需要举集体之力才能做完。我们测试员发现的问题多,表明项目的风险又少了一点,应该高兴才是。如果你的脾气不好,可能这个恶名会掩盖你的真才实学,很可惜的。我根据自己的经历和体会,给你罗列一些吧,也供其他朋友们参考和交流学习。 首先,要有宽泛的计算机基础知识。微机原理,数据结构,数据库,操作系统原理,编译原理,逻辑,编程语言,网络,等等,都要系统地学习过。都精通不大可能,因为人的兴趣都不相同,但是,这些功课的基本知识点是应当了解的。我们在谈到职业的类别的时候,我们可以说C程序员,C#程序员,Java程序员,而没有C测试员,C#测试员,Java测试员,程序员可以只擅长某一门编程语言,测试员却不行。为什么呢?测试员是代表用户的,在做测试的时候,他(她)需要考虑到方方面面的事情。例如对于一个用C写的上网拨号程序,测试员需要考虑: (1) 程序的功能是否正确;(要求计算机知识) (2) 是否符合用户的使用习惯;(要求界面设计知识和换位思考能力) (3) 性能是否满足要求,例如长时间使用;稳定性;(要求深入的计算机知识) (4) 是否能够满足用户可能的不同操作系统的要求;(要求计算机知识) (5) 如果在全球发布,是否满足不同语言和文化的需求;(要求软件国际化测试知识) (6) 如何搭建测试环境;(动手能力,硬件知识) (7) 做代码检查;(比较深入的C语言知识) (8) … 所以,各方面都了解一点,你在做测试的过程当中你会感觉顺手的多。如果某写方面还差一些,没有关系,计算机行业的特点就是边做边学,只要是个有心人,学习是很快的。 其次,要掌握一门编程语言。有的朋友可能会说,我就是不愿意做编程才来做测试的,怎么测试还有这么一个要求?我要尝试说服你:)。我的理由有两个: 1. 只有知道怎么做一个软件产品,才能真正懂得这个产品。而只有真正懂得了产品,才能做好测试。一行代码不会,你会始终是个门外汉。不要满足于点鼠标,而去尝试着打开我们面前的黑盒子。 2. 自动化测试技术需要编程技术。自动化测试是软件测试的一个发展方向,一方面很多测试工具都需要人工干预,编写代码;另一方面在有的情况下需要自己编写测试工具。 对于测试员来说,编程技术不要求精通,但要会。 再次,学好英语。在现阶段,我们只能承认,在计算机方面,英语国家领先。有很多的资料都是英语的,如果仅仅局限在中文资料方面,会影响你的渊博程度:)。举一个简单的例子,Windows操作系统会捕捉到一些程序或者操作系统内部的异常,你可以根据这个异常到微软网站上去查找错误原因和解决办法,其中有很大一部分资料就是英文的,因为还没有翻译过来或者以后也不会翻译的。 以上所说的几点看法,都是在计算机行业里面打转,下面说几个“虚”的要求吧。 1. 锻炼出一双测试的眼睛。我的一个朋友,她也是做软件测试的,她说,有一次她和她老公去买笔记本电脑,她一眼就看出液晶屏上有几个坏点,而她老公却看不出来。她说,这要归功于她有一双测试的眼睛。测试的眼睛,就是对问题特别敏感,能够发现常人发现不了的问题。测试员就是要找软件中的问题,有了这双眼睛会让你收益非浅。耐心,细心和经验,会有助于我们到达这个要求。 2.平和的心态。从心理学上说,每个人都不喜欢别人对自己挑毛病,程序员也是这样。所以,要以平和的心态去看待发现的软件问题,以平和的心态去和程序员交流。千万不要以为自己发现了几个问题,就可以责怪程序员,或者冲过去骂他们一顿。也不要在背后谈论谁谁谁不行,bug太多。一个项目是大家共同做的,需要举集体之力才能做完。我们测试员发现的问题多,表明项目的风险又少了一点,应该高兴才是。如果你的脾气不好,可能这个恶名会掩盖你的真才实学,很可惜的。
没有规矩,不成方圆?下面是对软件测试员的一些要求和技能,题主应该自己取舍然后决定自己的方向与内容~1、技术熟练
在管理的更高层次,软件测试通常只被视为一种技术学科。他们认为你做为一个测试员的效力取决于你开发测试代码的能力。但软件测试还有许多方面是不能自动化。人类非常擅长思考和适应基于上下文新出现的信息。因为软件是一个不停改变功能与状态的系统,有时候做探索来的更有效率。自动化是与之相反的,因为它牵涉到脚本的过程。
然而,自动化可以释放测试人员的时间做更多的探索发现。任何重复性或枯燥性高的工作都适合自动化。自动化在这些领域非常有价值。
开发强大和可维护的自动化是困难的。我相信一个平庸的软件开发人员是不能够达到这样一个工作的要求。如果你想做有用的自动化,你最好除了其他测试技巧之外,还拥有优秀的开发技巧。2、调查性的好奇心
如果你认为测试是必要之恶--阻拦您做出很cool东西的事情--你可能会错过很重要的问题。世界级的测试员不断地探索他们产品的可能性和限制。同时对他们产品的能力保持一个健康的怀疑态度。
如果你想给自己一个花哨的头衔,把自己想象为“强迫性庸医”,被不可抑制的探寻真相的冲动所引导。世界级的测试意味着遵循弄清事情真相的冲动,直到有足够的经验价值才停止。当你看到一个测试人员回避未经证实的假设,这是他们认真对待工作的标志。3、观察的技巧
如果你想观察某样东西,你首先需要注意它。观察是注意重要或者有意义细节的能力。测试时,你需要能够观察到不寻常的状况。
在你观察的领域,谁会是一个好的老师呢?跟一个五岁的小孩一起走,看看什么会抓住他的注意:人行道上的小裂纹,花园里美丽的花,在墙上慢慢爬的蜗牛。小孩是天生的观察家,他们对任何发生在周围的事情都感兴趣。他们的频道是敞开的,他们快乐的观察。
把你的频道打开,模仿孩子般的行为。训练自己的注意力,更近的看,慢慢地,观察。4、沟通的技巧
你会碰到不得不保护你的发现的情况。你必须说服人们采取行动,所以你要解释为什么你的发现是相关的。测试员联系描述他们的测试。他们知道他们的解释必须超越“我测试过了,相信我”。如果你能够描述您的测试,那么人们会相信你是知道自己在做什么的那种人。有一个方法,就是使用启发式测试战略模型来描述你在做的东西。或者,你可以提出你自己的模型。
当你将你的故事时,记得沟通是双行道。世界级的测试人员跟进他们提出问题的答案,他们对从谈话中得到的新信息很警醒。5、写作技巧和bug宣传
最丰富的沟通发生在你能够面对面交谈的时候。你观察面部表情,你可以对混淆和误解立马澄清。写作则不行。这个通道很窄,更容易引起误会。澄清需要时间和精力。
Bug宣传通常伴随着写作技巧。你描述问题准确和可理解的能力影响正确的bug得到fix的可能性。不是每个报告的bug都会被fix,但那些应该被fix的最好不要因为贫乏的措辞而被忽略。
一个bug报告是一个有说服力的文档需要影响正确的人去行动。把不相关的信息从bug报告中删除,也别向小报头条一样在读者眼前尖叫。
你可能想要保存你过去的bug报告的记录。哪一个产生了混淆?你可以写得不一样么?措辞的修改是不是会更容易理解?6、领域知识
作为一个测试员,你不只是比较规格说明与实现。还有许多不同的指标,例如:用户体验,与同类产品的一致性,或者你的产品的历史,你可以用来识别问题。领域知识也是你可以开发的一个指标。与客户交谈。与市场人员交谈,花一天做客户支持。你对于你的生意来说什么最重要知道的越多,你可以做更好的判断。7、学习的愿望
你是一个知识工作者。知识不是静态的,尤其对于技术领域。不断地学习是为了变得更好。人类与软件交互的情况是一个软件与人交互的情况。理解双方如何工作是非常有好处的。我推荐探索社会科学(认知心理学、社会互动理论等)以及增加你的技术教育。
我认为,每个想做的真正好的测试员会从参加优秀的BBST(Black Box Software Testing)课程中受益。然后是RST(Rapid Software Testing)课程。。。。8、交际技巧
测试员经常抱怨他们的工作以及如何可怕的其他人都让我热血沸腾。自我受难是有毒的。有时候你必须放下。如果你不能做到,你就会被人觉得牢骚满腹。如果人们周五晚上喝啤酒,你没有被邀请,想像一下人们跟你合作的意愿吧。9、幽默
幽默可以帮助维持你的理智。作为一个测试员,你经常生活在压力的环境中,微笑和大笑减少了压力荷尔蒙的危害。他帮助你专注于你所做的事情:测试。10、练习
首先,你需要练习你的技巧。如果你不练习,你不能达到熟练。当你练习的时候,观察自己,找到需要提高的领域,深思熟虑和自我反省你的行动。
道阻且长啊,加油吧少年!下面是对软件测试员的一些要求和技能,题主应该自己取舍然后决定自己的方向与内容~1、技术熟练
在管理的更高层次,软件测试通常只被视为一种技术学科。他们认为你做为一个测试员的效力取决于你开发测试代码的能力。但软件测试还有许多方面是不能自动化。人类非常擅长思考和适应基于上下文新出现的信息。因为软件是一个不停改变功能与状态的系统,有时候做探索来的更有效率。自动化是与之相反的,因为它牵涉到脚本的过程。
然而,自动化可以释放测试人员的时间做更多的探索发现。任何重复性或枯燥性高的工作都适合自动化。自动化在这些领域非常有价值。
开发强大和可维护的自动化是困难的。我相信一个平庸的软件开发人员是不能够达到这样一个工作的要求。如果你想做有用的自动化,你最好除了其他测试技巧之外,还拥有优秀的开发技巧。2、调查性的好奇心
如果你认为测试是必要之恶--阻拦您做出很cool东西的事情--你可能会错过很重要的问题。世界级的测试员不断地探索他们产品的可能性和限制。同时对他们产品的能力保持一个健康的怀疑态度。
如果你想给自己一个花哨的头衔,把自己想象为“强迫性庸医”,被不可抑制的探寻真相的冲动所引导。世界级的测试意味着遵循弄清事情真相的冲动,直到有足够的经验价值才停止。当你看到一个测试人员回避未经证实的假设,这是他们认真对待工作的标志。3、观察的技巧
如果你想观察某样东西,你首先需要注意它。观察是注意重要或者有意义细节的能力。测试时,你需要能够观察到不寻常的状况。
在你观察的领域,谁会是一个好的老师呢?跟一个五岁的小孩一起走,看看什么会抓住他的注意:人行道上的小裂纹,花园里美丽的花,在墙上慢慢爬的蜗牛。小孩是天生的观察家,他们对任何发生在周围的事情都感兴趣。他们的频道是敞开的,他们快乐的观察。
把你的频道打开,模仿孩子般的行为。训练自己的注意力,更近的看,慢慢地,观察。4、沟通的技巧
你会碰到不得不保护你的发现的情况。你必须说服人们采取行动,所以你要解释为什么你的发现是相关的。测试员联系描述他们的测试。他们知道他们的解释必须超越“我测试过了,相信我”。如果你能够描述您的测试,那么人们会相信你是知道自己在做什么的那种人。有一个方法,就是使用启发式测试战略模型来描述你在做的东西。或者,你可以提出你自己的模型。
当你将你的故事时,记得沟通是双行道。世界级的测试人员跟进他们提出问题的答案,他们对从谈话中得到的新信息很警醒。5、写作技巧和bug宣传
最丰富的沟通发生在你能够面对面交谈的时候。你观察面部表情,你可以对混淆和误解立马澄清。写作则不行。这个通道很窄,更容易引起误会。澄清需要时间和精力。
Bug宣传通常伴随着写作技巧。你描述问题准确和可理解的能力影响正确的bug得到fix的可能性。不是每个报告的bug都会被fix,但那些应该被fix的最好不要因为贫乏的措辞而被忽略。
一个bug报告是一个有说服力的文档需要影响正确的人去行动。把不相关的信息从bug报告中删除,也别向小报头条一样在读者眼前尖叫。
你可能想要保存你过去的bug报告的记录。哪一个产生了混淆?你可以写得不一样么?措辞的修改是不是会更容易理解?6、领域知识
作为一个测试员,你不只是比较规格说明与实现。还有许多不同的指标,例如:用户体验,与同类产品的一致性,或者你的产品的历史,你可以用来识别问题。领域知识也是你可以开发的一个指标。与客户交谈。与市场人员交谈,花一天做客户支持。你对于你的生意来说什么最重要知道的越多,你可以做更好的判断。7、学习的愿望
你是一个知识工作者。知识不是静态的,尤其对于技术领域。不断地学习是为了变得更好。人类与软件交互的情况是一个软件与人交互的情况。理解双方如何工作是非常有好处的。我推荐探索社会科学(认知心理学、社会互动理论等)以及增加你的技术教育。
我认为,每个想做的真正好的测试员会从参加优秀的BBST(Black Box Software Testing)课程中受益。然后是RST(Rapid Software Testing)课程。。。。8、交际技巧
测试员经常抱怨他们的工作以及如何可怕的其他人都让我热血沸腾。自我受难是有毒的。有时候你必须放下。如果你不能做到,你就会被人觉得牢骚满腹。如果人们周五晚上喝啤酒,你没有被邀请,想像一下人们跟你合作的意愿吧。9、幽默
幽默可以帮助维持你的理智。作为一个测试员,你经常生活在压力的环境中,微笑和大笑减少了压力荷尔蒙的危害。他帮助你专注于你所做的事情:测试。10、练习
首先,你需要练习你的技巧。如果你不练习,你不能达到熟练。当你练习的时候,观察自己,找到需要提高的领域,深思熟虑和自我反省你的行动。
道阻且长啊,加油吧少年!
山东理工大学
一块简简单单的木块我曾经在大二的时候就学过软件测试的,而且那年暑假也在单位实习过。软件测试嘛,以我的经验来说的话,建议题主不要光是去看书、看一些概念,而是要去实际的操作,动手,我的软件测试的水平的真正提升还是应该在实习中。解释一下,软件测试不仅限于手工测试,也有自动化测试、性能测试、白盒测试等等。在国外,测试人员的知识水平和待遇都高于开发人员。但是在国内很多测试人员技术可能不如软件开发人员,出现的这种情况是由于我们当前软件产业发展的水平所导致的,所以我们不能以偏盖全。说了这么多,不知道楼主明白了没有,呵呵o(∩_∩)o ,还是建议题主在假期的时候先找实习实践一下吧(当然,书上的资料还是要掌握i的),从初级的功能测试做起,你学到很多东西。也惭愧惭愧,我看的书说实话,并不是很多,都是在学校看的教材,好像是本黑色的《软件测试基础教程》。不过不用担心,书不是重要的,很多非计算机专业的同学(例如:师范、管理方向)也可以很快上手的。重要的是看书的时候要注重目标,比如给自己定一个目标:从“软件测试概念”、“测试定义”、“测试分类”、“测试流程”、等等方面来看,软件工程方面的也要看一点。需要掌握的技能有“测试需求分析”、“测试工具的使用”、“测试用例的设计方法(重点)”、“Bug管理”等等。&&5555.....打字好累呀。唉,写了这么多,全是我、用手码的,好了,不多说了,我该滚去学习了~~~哦,对,祝你毕业顺利找到这样的工作啊~~~~我曾经在大二的时候就学过软件测试的,而且那年暑假也在单位实习过。软件测试嘛,以我的经验来说的话,建议题主不要光是去看书、看一些概念,而是要去实际的操作,动手,我的软件测试的水平的真正提升还是应该在实习中。解释一下,软件测试不仅限于手工测试,也有自动化测试、性能测试、白盒测试等等。在国外,测试人员的知识水平和待遇都高于开发人员。但是在国内很多测试人员技术可能不如软件开发人员,出现的这种情况是由于我们当前软件产业发展的水平所导致的,所以我们不能以偏盖全。说了这么多,不知道楼主明白了没有,呵呵o(∩_∩)o ,还是建议题主在假期的时候先找实习实践一下吧(当然,书上的资料还是要掌握i的),从初级的功能测试做起,你学到很多东西。也惭愧惭愧,我看的书说实话,并不是很多,都是在学校看的教材,好像是本黑色的《软件测试基础教程》。不过不用担心,书不是重要的,很多非计算机专业的同学(例如:师范、管理方向)也可以很快上手的。重要的是看书的时候要注重目标,比如给自己定一个目标:从“软件测试概念”、“测试定义”、“测试分类”、“测试流程”、等等方面来看,软件工程方面的也要看一点。需要掌握的技能有“测试需求分析”、“测试工具的使用”、“测试用例的设计方法(重点)”、“Bug管理”等等。&&5555.....打字好累呀。唉,写了这么多,全是我、用手码的,好了,不多说了,我该滚去学习了~~~哦,对,祝你毕业顺利找到这样的工作啊~~~~
先找份这样的实习工作 从工作中学习。必备的有基础知识,Linux常用命令、SQL增删查改语句。想要提升做自动化好要编程能力。
先找份这样的实习工作 从工作中学习。必备的有基础知识,Linux常用命令、SQL增删查改语句。想要提升做自动化好要编程能力。
东北大学(中国)
就是喜欢表情包~╭(╯^╰)╮
上面是我找的一个软件测试员的体系图,这上面的技能相对比较通用,当然特殊情况下对测试人员的技能要求会有特别要求。  软件测试基本知识:  编写各种测试文档,对于初学者来说稍有难度。但终究还是谈不上什么技术含量的事情,如果对业务和流程足够熟悉,文档用例自然就会写了(建议你可以去找一下这方面的实习工作,如果真的是想往这个方面发展的话)。
测试辅助技能:  我发现这两项技能在笔试和面试过程中必考,出现几率超高,但在实际的工作中,有些测试根本碰不到linux ,有些测试不需要去操作数据库。当然,测试嘛,也不能太处于表面了,也需要熟悉熟悉相关测试的表,了解了解系统服务器。  好在这两项技能的要求都不高,linux 大多考几个常用命令,SQL一般考一下增、删、查、改。  自动化技术(UI):  大多同学会在简历必备测试技能里加一个QTP自动化测试工具,当我满怀起到和他聊一聊自动化时,得到的多大回答是这了解和学习过这个工具。这也不能怪测试人员,谁让满大街的招聘要求上都写着“要求熟悉LoadRunner 、QTP等自动化测试工具等。” 其实,他们公司根本就不用。这么多公司都要求,看来还是有必要学一学这个工具的。  对于我而言,我并不太关心工具用得多熟练?对于web应用来说,更在意的是对前端技术了解多少?因为你要自动化的对象就是前端技术所呈现出来的各种功能。都不了解它,如何定位和操作它呢?  UI的自动化不单单是QTP一个工具,如果你掌握了一种语言,做自动化的路就宽广了,你一定知道还有个叫selenium(webdriver)的自动化工具,你不一定知道ruby 有个watir框架也可以做自动,也许你不知道python有个splinter框架也可以做自动化。那么你就更不知道python 有个pywinauto框架可以对windows GUI做自动化。你不知道有自动化工具太多太多了。谈到这些就不得不涉及到编程技术了。相比较而言QTP 不需要太多的编程能力。  对于自动化测试,另一个比较关心的是你对自动化的理解,什么情况下适合做自动化?你的自动化测试用例是怎么写的?什么样的用例适合转成自动化?你是如何来实施的?有什么样的策略来开展自动化工作?你需要自动化在项目中达到一个什么样的预期和效果?只是学学工具,拿个例子练习练习。很难对这些问题有真实的理解。  性能测试:  LoadRuner似乎比QTP名气更大,做测试必玩工具。没摸过LR都不好意思说自己是做测试的。性能测试是必须是要借助工具来实现了。不借助工具如何模拟成百上千的并发?  最大的难点,其它是对系统架构的理解,其实,更多时候并不需要达到架构师水平,甚至不用达到开发的水平,但起码,你要弄清用的什么操作系统,什么数据库,什么开发语言与框架,什么中间件吧!你要知道如何对这些做监控的吧!你要知道叫上开发一块玩吧!  对于性能测试,另一个我更关心的测试流程,你做性能测试的目的是什么?新系统验证?还是旧系统扩容?需要达到一个什么样的预期?在独立的环境可以开展么?压力在哪儿,脚本为什么要这样录制?你的测试结果真的有知道意义么?或对系统性能做出了合理的评估,或为系统有调优做出指导,或为系统扩容做出了依据。如果前因后果弄不清何必去做呢?  编程能力:  编程不局限于语言,大多同学也会在简历的必备技能最下方面写上一条,熟悉C语言或其它某种语言。大多止步于大学C语言水平。工作中没有机会用到。所以,就没机会去进一步提升这方面的能力。这似乎也挺合乎情理的,再说你们招的是测试又不是开发。  不过,我个人偏执的很看重这一点,至于上面的自动化、性能会不会都无所谓,如果在编程能力上略懂一二,我会大力推荐。懂编程和不懂编程的人看系统的深度不一样,一点不懂的只能看出来这是按钮,那是输入框。 懂编程的就知道你的登录提交是用的post 还是get呢?逻辑层就是获取到输入的用户名密码是查数据库做比较嘛。在测试过程中不管功能实现也好,bug也好,都会看得更透彻,从而更容易挖掘出相关的bug。
技能知识点都在这里了,怎么学就是你自己的事情了。
上面是我找的一个软件测试员的体系图,这上面的技能相对比较通用,当然特殊情况下对测试人员的技能要求会有特别要求。  软件测试基本知识:  编写各种测试文档,对于初学者来说稍有难度。但终究还是谈不上什么技术含量的事情,如果对业务和流程足够熟悉,文档用例自然就会写了(建议你可以去找一下这方面的实习工作,如果真的是想往这个方面发展的话)。
测试辅助技能:  我发现这两项技能在笔试和面试过程中必考,出现几率超高,但在实际的工作中,有些测试根本碰不到linux ,有些测试不需要去操作数据库。当然,测试嘛,也不能太处于表面了,也需要熟悉熟悉相关测试的表,了解了解系统服务器。  好在这两项技能的要求都不高,linux 大多考几个常用命令,SQL一般考一下增、删、查、改。  自动化技术(UI):  大多同学会在简历必备测试技能里加一个QTP自动化测试工具,当我满怀起到和他聊一聊自动化时,得到的多大回答是这了解和学习过这个工具。这也不能怪测试人员,谁让满大街的招聘要求上都写着“要求熟悉LoadRunner 、QTP等自动化测试工具等。” 其实,他们公司根本就不用。这么多公司都要求,看来还是有必要学一学这个工具的。  对于我而言,我并不太关心工具用得多熟练?对于web应用来说,更在意的是对前端技术了解多少?因为你要自动化的对象就是前端技术所呈现出来的各种功能。都不了解它,如何定位和操作它呢?  UI的自动化不单单是QTP一个工具,如果你掌握了一种语言,做自动化的路就宽广了,你一定知道还有个叫selenium(webdriver)的自动化工具,你不一定知道ruby 有个watir框架也可以做自动,也许你不知道python有个splinter框架也可以做自动化。那么你就更不知道python 有个pywinauto框架可以对windows GUI做自动化。你不知道有自动化工具太多太多了。谈到这些就不得不涉及到编程技术了。相比较而言QTP 不需要太多的编程能力。  对于自动化测试,另一个比较关心的是你对自动化的理解,什么情况下适合做自动化?你的自动化测试用例是怎么写的?什么样的用例适合转成自动化?你是如何来实施的?有什么样的策略来开展自动化工作?你需要自动化在项目中达到一个什么样的预期和效果?只是学学工具,拿个例子练习练习。很难对这些问题有真实的理解。  性能测试:  LoadRuner似乎比QTP名气更大,做测试必玩工具。没摸过LR都不好意思说自己是做测试的。性能测试是必须是要借助工具来实现了。不借助工具如何模拟成百上千的并发?  最大的难点,其它是对系统架构的理解,其实,更多时候并不需要达到架构师水平,甚至不用达到开发的水平,但起码,你要弄清用的什么操作系统,什么数据库,什么开发语言与框架,什么中间件吧!你要知道如何对这些做监控的吧!你要知道叫上开发一块玩吧!  对于性能测试,另一个我更关心的测试流程,你做性能测试的目的是什么?新系统验证?还是旧系统扩容?需要达到一个什么样的预期?在独立的环境可以开展么?压力在哪儿,脚本为什么要这样录制?你的测试结果真的有知道意义么?或对系统性能做出了合理的评估,或为系统有调优做出指导,或为系统扩容做出了依据。如果前因后果弄不清何必去做呢?  编程能力:  编程不局限于语言,大多同学也会在简历的必备技能最下方面写上一条,熟悉C语言或其它某种语言。大多止步于大学C语言水平。工作中没有机会用到。所以,就没机会去进一步提升这方面的能力。这似乎也挺合乎情理的,再说你们招的是测试又不是开发。  不过,我个人偏执的很看重这一点,至于上面的自动化、性能会不会都无所谓,如果在编程能力上略懂一二,我会大力推荐。懂编程和不懂编程的人看系统的深度不一样,一点不懂的只能看出来这是按钮,那是输入框。 懂编程的就知道你的登录提交是用的post 还是get呢?逻辑层就是获取到输入的用户名密码是查数据库做比较嘛。在测试过程中不管功能实现也好,bug也好,都会看得更透彻,从而更容易挖掘出相关的bug。
技能知识点都在这里了,怎么学就是你自己的事情了。
=====.=====俗话说:“对症下药”,以下是从事软件测试员的工作的几点要求,希望有所帮助,1.学历要求软件测试大多数岗位都要求本科以上学历,可也有少数用人单位只要求专科学历的,但也有一个趋势是用人单位对职业教育重视程度越来越高,学历的强调反而降到了最后位置.2.文字表达能力测试员要求具备良好的文字功底,因为涉及到测试用例的编写和软件使用说明的编写,因此文字功底是必需的!3.计算机语言虽然软件测试不要求太高深的编程能力,但至少也要对一门语言熟练掌握,对一门陌生的语言迅速掌握的能力也是必要的,在很短时间至少输出"Hello World!".4.系统原理的理解计算机原理和操作系统的知识掌握:任何软件都离不开运行的大环境,就象我们每一个人都不能脱离社会而独立存在的道理一样!软件测试要求对各种未知环境和状况都要考虑周到,一个优秀的测试员至少对各种软硬环境的搭配深刻理解!5.快速学习能力软件测试在我国是最近10年才被逐渐重视起来的,在好多方面还不完善,对软件测试人材的培养也在探索中,这就要求测试人员具备快速学习充电的能力,要求非常广泛的知识面,准备好终身学习也是顺应时代要求的,毕竟这个社会竞争太激烈了!6.稳重踏实且细心的性格稳重踏实的性格对于致力于作软件测试员来讲也是必不可少的,一个大型的软件广泛的通常要有几十万甚至上百万行代码,初期补课能用自动化测试工具通通代替人工阅读,所以面对枯燥的代码没有沉稳有耐性的脾气是不行的,因此现在IT行业最没有性别歧视的行业也在于软件测试方面.因为在通常情况下,女人比男人更有耐心和细心.准备作测试员你准备好足够的耐心了吗?7.非常优秀的语言表达能力非常优秀的语言表达能力和沟通能力;我认为测试员不单单起一个确保软件质量的作用(当然这方面是最重要的!)还应该一座桥梁,一座在项目经理和程序员之间沟通的桥梁!与程序员良好的无障碍的沟通才会使软件项目顺利实施,确保软件达到客户要求!因此性格内向言语表达能力匮乏的的人我认为是作不好测试员的!&8.适应变革的能力这是一个时刻在变革的时代,IT行业每时每刻都在变化,这要求不单单测试员每一个人都要有随机应变,相时而动的准备!道不是鼓动打架跳槽,呵呵但有应变的准备还是应该的!俗话说:“对症下药”,以下是从事软件测试员的工作的几点要求,希望有所帮助,1.学历要求软件测试大多数岗位都要求本科以上学历,可也有少数用人单位只要求专科学历的,但也有一个趋势是用人单位对职业教育重视程度越来越高,学历的强调反而降到了最后位置.2.文字表达能力测试员要求具备良好的文字功底,因为涉及到测试用例的编写和软件使用说明的编写,因此文字功底是必需的!3.计算机语言虽然软件测试不要求太高深的编程能力,但至少也要对一门语言熟练掌握,对一门陌生的语言迅速掌握的能力也是必要的,在很短时间至少输出"Hello World!".4.系统原理的理解计算机原理和操作系统的知识掌握:任何软件都离不开运行的大环境,就象我们每一个人都不能脱离社会而独立存在的道理一样!软件测试要求对各种未知环境和状况都要考虑周到,一个优秀的测试员至少对各种软硬环境的搭配深刻理解!5.快速学习能力软件测试在我国是最近10年才被逐渐重视起来的,在好多方面还不完善,对软件测试人材的培养也在探索中,这就要求测试人员具备快速学习充电的能力,要求非常广泛的知识面,准备好终身学习也是顺应时代要求的,毕竟这个社会竞争太激烈了!6.稳重踏实且细心的性格稳重踏实的性格对于致力于作软件测试员来讲也是必不可少的,一个大型的软件广泛的通常要有几十万甚至上百万行代码,初期补课能用自动化测试工具通通代替人工阅读,所以面对枯燥的代码没有沉稳有耐性的脾气是不行的,因此现在IT行业最没有性别歧视的行业也在于软件测试方面.因为在通常情况下,女人比男人更有耐心和细心.准备作测试员你准备好足够的耐心了吗?7.非常优秀的语言表达能力非常优秀的语言表达能力和沟通能力;我认为测试员不单单起一个确保软件质量的作用(当然这方面是最重要的!)还应该一座桥梁,一座在项目经理和程序员之间沟通的桥梁!与程序员良好的无障碍的沟通才会使软件项目顺利实施,确保软件达到客户要求!因此性格内向言语表达能力匮乏的的人我认为是作不好测试员的!&8.适应变革的能力这是一个时刻在变革的时代,IT行业每时每刻都在变化,这要求不单单测试员每一个人都要有随机应变,相时而动的准备!道不是鼓动打架跳槽,呵呵但有应变的准备还是应该的!
新加坡国立大学
瓜1. 计算机专业基础课首先,计算机专业基础课一定要学好。比如数据结构、操作系统、网络、数据库、基础的软件工程等等,在软件测试的过程中或多或少都会涉及到。2. 学习能力这是作为程序员/测试员必备的能力。一定要锻炼自己在遇到不清楚的问题时,自主独立查阅资料、寻找解决问题方法。并且有好奇心,去了解更多技术、拓宽自己的知识能力范围。2. 软件测试技术体系其次,可以多查阅一些资料大概了解一下软件测试技术体系。比如测试的分类、具体方法等等等等。上面@(╯▽╰) 讲的很清楚。但具体测试所需要的技能会根据软件、软件架构以及QA lead喜好等等实际情况而各异。在我实习的公司里,从前端后端以及service的测试、到最后整个软件的测试,除了测试的是同一款软件和都在用Jenkins做集成之外,大概也没什么共同点了…… 所以以上1、2点就变得尤为重要,尤其是在新接触一个项目的时候……3. 细心与耐心 软件测试员也需要锻炼自己码code的能力,在入门时也要学会分辨是程序本身的bug还是自己的bug(很蠢的一点但真的很有用)。debug时也需要有足够的耐心去和自己的bug死磕到底。 而且如果要做manually testing,需要手动把所要求测试的功能都自己操作一遍,这也非常需要细心和耐心。(想想自己有好几次因为很小很小小到不行的错误,都需要重新申请一台干净的虚拟主机然后再花几个小时重来…… 都是泪…………) 4. 锻炼与人合作、沟通的能力最后就是与人合作、沟通的能力。如何简明、准确解释bug问题在哪里,何时该截个图用以说明,如何在团队中与其他测试员的合作以保证工作顺利进行,并且一定一定要学会如何与开发人员的沟通(比如…发现bug后忍住,不要指责……)。5. 实习 最直接的学习方式就是……努力在一个架构严谨的公司找一份实习。大部分的软件测试工作的招聘对实习生的要求并没有很高,仔细准备一下肯定是可以找到实习工作的。通过真实工作场景以及接触项目周期长的软件的测试工作,可以了解到更多学校项目应用不到的方法、工具。有人领路也会走的轻松一些。虽然可能自己实际的工作只能触碰到整个项目的冰山一角,但还是有机会了解整个测试的流程、任务分配、计划等等,而且可以去观察学习同组其他人在做什么。并且亲身经历绝对会让自己对这个职业、软件工程这个行业有更深刻的了解。1. 计算机专业基础课首先,计算机专业基础课一定要学好。比如数据结构、操作系统、网络、数据库、基础的软件工程等等,在软件测试的过程中或多或少都会涉及到。2. 学习能力这是作为程序员/测试员必备的能力。一定要锻炼自己在遇到不清楚的问题时,自主独立查阅资料、寻找解决问题方法。并且有好奇心,去了解更多技术、拓宽自己的知识能力范围。2. 软件测试技术体系其次,可以多查阅一些资料大概了解一下软件测试技术体系。比如测试的分类、具体方法等等等等。上面@(╯▽╰) 讲的很清楚。但具体测试所需要的技能会根据软件、软件架构以及QA lead喜好等等实际情况而各异。在我实习的公司里,从前端后端以及service的测试、到最后整个软件的测试,除了测试的是同一款软件和都在用Jenkins做集成之外,大概也没什么共同点了…… 所以以上1、2点就变得尤为重要,尤其是在新接触一个项目的时候……3. 细心与耐心 软件测试员也需要锻炼自己码code的能力,在入门时也要学会分辨是程序本身的bug还是自己的bug(很蠢的一点但真的很有用)。debug时也需要有足够的耐心去和自己的bug死磕到底。 而且如果要做manually testing,需要手动把所要求测试的功能都自己操作一遍,这也非常需要细心和耐心。(想想自己有好几次因为很小很小小到不行的错误,都需要重新申请一台干净的虚拟主机然后再花几个小时重来…… 都是泪…………) 4. 锻炼与人合作、沟通的能力最后就是与人合作、沟通的能力。如何简明、准确解释bug问题在哪里,何时该截个图用以说明,如何在团队中与其他测试员的合作以保证工作顺利进行,并且一定一定要学会如何与开发人员的沟通(比如…发现bug后忍住,不要指责……)。5. 实习 最直接的学习方式就是……努力在一个架构严谨的公司找一份实习。大部分的软件测试工作的招聘对实习生的要求并没有很高,仔细准备一下肯定是可以找到实习工作的。通过真实工作场景以及接触项目周期长的软件的测试工作,可以了解到更多学校项目应用不到的方法、工具。有人领路也会走的轻松一些。虽然可能自己实际的工作只能触碰到整个项目的冰山一角,但还是有机会了解整个测试的流程、任务分配、计划等等,而且可以去观察学习同组其他人在做什么。并且亲身经历绝对会让自己对这个职业、软件工程这个行业有更深刻的了解。
中国石油大学(北京)
偏不写简介!!你咬我啊!!!1 、较强的理论知识(这是你在平常的自学中长期积累出来的);2、较深的代码能力(不仅仅是能看懂,测试人员如果能够编写代码哪就值钱了);3、规范的测试流程,经历过较大的项目(建议你多跟着导师混,去做一些相关的项目);4、c语言数据库都是必须的,当然测试工具也是要会的。1 、较强的理论知识(这是你在平常的自学中长期积累出来的);2、较深的代码能力(不仅仅是能看懂,测试人员如果能够编写代码哪就值钱了);3、规范的测试流程,经历过较大的项目(建议你多跟着导师混,去做一些相关的项目);4、c语言数据库都是必须的,当然测试工具也是要会的。
自强不息好好学习专业课好好学习专业课
后可以回答该问题
相关标签:
相关标签:
关注我们咨询服务合作法律法规京ICP备号
下载申请方APP
即刻拥有你的学业规划助手}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信