1.做软件测试员需要学哪些专业知识
有些事情说起来有些滑稽,几年前,我们说,软件测试业在中国刚刚起步。现在,我们还是在说,软件测试业还是刚刚起步。几年的时间,对于其它行业是一个什么概念我不清楚,对于IT行业来讲,不是一个小数。实际上,国内软件业的发展缓慢限制了测试业的发展,没有软件的开发计划,测试的需求不旺啊。然而,反过来想,在软件测试业还没有大红大紫的时候介入进去,应该是个好时候。
那么,从事软件测试业的基本要求是什么?我根据自己的体会,罗列一些,供朋友们参考。
首先,要有宽泛的计算机基础知识。微机原理,数据结构,数据库,操作系统原理,编译原理,逻辑,编程语言,网络,等等,都要系统地学习过。都精通不大可能,因为人的兴趣都不相同,但是,这些功课的基本知识点是应当了解的。我们在谈到职业的类别的时候,我们可以说C程序员,C#程序员,Java程序员,而没有C测试员,C#测试员,Java测试员,程序员可以只擅长某一门编程语言,测试员却不行。为什么呢?测试员是代表用户的,在做测试的时候,他(她)需要考虑到方方面面的事情。例如对于一个用C写的上网拨号程序,测试员需要考虑:
(1) 程序的功能是否正确;(要求计算机知识)
(2) 是否符合用户的使用习惯;(要求界面设计知识和换位思考能力)
(3) 性能是否满足要求,例如长时间使用;稳定性;(要求深入的计算机知识)
(4) 是否能够满足用户可能的不同操作系统的要求;(要求计算机知识)
(5) 如果在全球发布,是否满足不同语言和文化的需求;(要求软件国际化测试知识)
(6) 如何搭建测试环境;(动手能力,硬件知识)
(7) 做代码检查;(比较深入的C语言知识)
(8) …
所以,各方面都了解一点,你在做测试的过程当中你会感觉顺手的多。如果某写方面还差一些,没有关系,计算机行业的特点就是边做边学,只要是个有心人,学习是很快的。
其次,要掌握一门编程语言。有的朋友可能会说,我就是不愿意做编程才来做测试的,怎么测试还有这么一个要求?我要尝试说服你:)。我的理由有两个:
1. 只有知道怎么做一个软件产品,才能真正懂得这个产品。而只有真正懂得了产品,才能做好测试。一行代码不会,你会始终是个门外汉。不要满足于点鼠标,而去尝试着打开我们面前的黑盒子。
2. 自动化测试技术需要编程技术。自动化测试是软件测试的一个发展方向,一方面很多测试工具都需要人工干预,编写代码;另一方面在有的情况下需要自己编写测试工具。
对于测试员来说,编程技术不要求精通,但要会。
再次,学好英语。在现阶段,我们只能承认,在计算机方面,英语国家领先。有很多的资料都是英语的,如果仅仅局限在中文资料方面,会影响你的渊博程度:)。举一个简单的例子,Windows操作系统会捕捉到一些程序或者操作系统内部的异常,你可以根据这个异常到微软网站上去查找错误原因和解决办法,其中有很大一部分资料就是英文的,因为还没有翻译过来或者以后也不会翻译的。
以上所说的几点看法,都是在计算机行业里面打转,下面说几个“虚”的要求吧。
1. 锻炼出一双测试的眼睛。我的一个朋友,她也是做软件测试的,她说,有一次她和她老公去买笔记本电脑,她一眼就看出液晶屏上有几个坏点,而她老公却看不出来。她说,这要归功于她有一双测试的眼睛。测试的眼睛,就是对问题特别敏感,能够发现常人发现不了的问题。测试员就是要找软件中的问题,有了这双眼睛会让你收益非浅。耐心,细心和经7a6431333332633036验,会有助于我们到达这个要求。
2.平和的心态。从心理学上说,每个人都不喜欢别人对自己挑毛病,程序员也是这样。所以,要以平和的心态去看待发现的软件问题,以平和的心态去和程序员交流。千万不要以为自己发现了几个问题,就可以责怪程序员,或者冲过去骂他们一顿。也不要在背后谈论谁谁谁不行,bug太多。一个项目是大家共同做的,需要举集体之力才能做完。我们测试员发现的问题多,表明项目的风险又少了一点,应该高兴才是。如果你的脾气不好,可能这个恶名会掩盖你的真才实学,很可惜的
2.做手机行业的工程需要哪些知识
背景: 随着IT在全球范围的不断推广和完善,IT产品涉及通信,电脑,家电,服务等领域,遍及全球每个角落,已经成为人类生存的必用品。
IT产品的市场体现不在于技术本身,而是看产品是否经得住用户的考验,性价比好的产品始终是用户心目中的首选。因此在相同技术的前提下,如何把握好产品的质量就成为该产品在市场上是否有强劲体现最为重要的部分。
硬件测试的目的就是站在用户的角度,对产品的功能,性能,可靠性,兼容性,稳定性等进行严格的检查,提前体验用户感受的同时提高产品的市场竞争力。硬件测试是产品从研发走向生产的必经阶段,也是决定产品质量的重要环节,如何将测试工作开展的更全面、更仔细、更专业完善也是众多企业所追求的目标。
【要求】: 掌握硬件测试的原理,方法,流程,和实际操作等。重点在于学会如何开展白盒测试,涉及PCB设计,EMC设计,SI设计,PI设计等内容。
还应学会信号完整性原理,测试方法,分析方法,调试方法等。最后列出大纲并上传一个基础知识pdf以供参考硬件测试技术及信号完整性分析大纲:一、硬件测试概述1.硬件测试的目的2.硬件测试的意义3.目前业界硬件测试的开展情况4.在企业生产价值链中的地位5.硬件测试对公司形象和公司发展的重要性二、测试准备1.检视2.FMEA(故障模式影响分析)3.故障处理4.测试计划和测试用例三、硬件测试种类与操作1.指标测试2.功能测试3.容限测试4.容错测试—FIT5.长时间验证测试6.可靠性数据预计7.一致性测试8.评审四、硬件测试的级别1.黑盒测试与白盒测试2.单元测试3.系统测试五、可靠性测试1.EMC2.环境3.安规4.老化六、测试问题1.测试问题的确认2.测试问题的定位3.测试问题反馈方式和流程4.测试问题跟踪和解决流程七、测试效果评估1.测试报告2.评审归档3.案例4.测试方法总结5.遗留问题处理6.市场规模应用跟踪7.产品故障率统计八、测试规范制定1.建立规范的重要性2.需要哪些规范3.规范的制定准则九、测试人员的培养1. 产品质量的主题负责人2. 测试人员的目标和职责3. 测试人员需要的技能4. 测试人员的心态5. 测试人员的等级认证十、SI简介1. SI的重要性2. 学习SI的目的3. SI的内容4. 理想逻辑电压波形5. 实际逻辑波形6. 数据采样及时序的例子十一、信号质量测试方法1. 衡量信号质量的参数及其定义2. 振幅参数的测量3. 时间参数的测量4. 共模信号的测量5. 眼图的测量十二、信号时序测试方法1. 衡量时序的基本参数及其定义2. 建立时间的测试方法3. 保持时间的测试方法4. 传输延迟的测试方法5. SKEW的测试方法十三、常见的SI问题1. 信号质量与时序的关系2. 最常见的三种信号问题3. 反射4. 串扰5. 电源/地噪音6. EMC/EMI跟SI关系7. SI问题的影响8. 产生SI问题的地方9. 工艺与频率的关系10. 工艺与SI的关系十四、SI分析1. 在设计流程中的SI分析2. 前期分析3. 后期分析4. SI工程师的重要性5. SI分析原则6. 集中式电路和分布式电路模型7. 如何选择模拟电路模型8. 例子十五、电子设计中的SI问题1. 上升时间和信号完整性2. 传输线的种类3. 反射产生原因4. 如何消除反射5. 串扰产生原因6. 如何消除串扰7. 电源/地噪音的种类8. 电源/地噪音的副作用9. 如何消除电源/地噪音10. 电源/地模型十六、建模与仿真1. 几种常见的电磁建模技术2. 好的SI仿真工具应具备那些因素3. 常见的SI 工具十七、信号完整性的仿真实例1. 举例模型2. SI分析3. 仿真结果4. 噪音来源及解决办法十八、硬件测试实例(黑合测试+白盒测试)1. 电脑行业的硬件测试方法及流程2. 通信行业的硬件测试方法及流程3. 家电行业的硬件测试方法及流程。
3.从事软件测试者需要具备哪些职业知识
(一)开发一个好的软件,40%以上的时间用在测试上,所以软件测试工程师这个行业变得越来越受关注。
测试工程师应该具备的三项专业素质:
[1] 计算机专业技能:
软件编程技能是测试人员的必备技能之一,测试工程师至少应该掌握Java、C#、C++之类的一门语言以及相应的开发工具。只有能编写程序,才可以胜任诸如单元测试,白盒测试相关的测试工作,并得到较好的职业发展。
[2}测试专业技能:
现在软件测试已经成为一个很有潜力的专业。要想成为一名优秀的测试工程师,首先应该具有扎实的专业基础。因此,测试工程师应该努力学习测试专业知识,告别简单的点击之类的测试工作,让测试工作以自己的专业知识为依托。
测试专业知识很多,测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。
[3]网络、操作系统、数据库、中间件等知识:
与开发人员相比,测试人员掌握的知识具有博而不精的特点,艺多不压身是个非常形象的比喻。由于测试中经常需要配置、调试各种测试环境,而且在性能测试中还要对各种系统平台进行分析与调用,因此测试人员需要掌握更多网络、操作系统、数据库等知识。
操作系统和中间件方面,应该掌握基本的使用以及安装、配置等。例如很多应用系统都是基于Unix、linux来运行的,这就要求测试人员掌握基本的操作命令以及相关的工具软件。而WebLogic、Websphere等中间件的安装、配置很多时候也需要掌握一些。
数据库知识则是更应该掌握技能,现在的应用系统几乎离不开数据库。因此不但要掌握基本的安装、配置,还要掌握SQL。测试人员至少应该掌握Mysql、MS Sqlserver、Oracle等常见数据库的使用。
(二)在网络方面,测试人员应该掌握基本的网络协议以及网络工作原理,尤其要掌握一些网络环境的配置,这些都是测试工作中经常遇到的知识。
(三)相关资料
随着中国IT行业的发展,产品的质量控制与质量管理正逐渐成为企业生存与发展的核心。从软件、硬件到系统集成,几乎每个中大型IT企业的产品在发布前都需要大量的质量控制、测试和文档工作,而这些工作必须依靠拥有娴熟技术的专业软件人才来完成。而软件测试工程师就是其中之一。
(四)测试的目的
测试的目的不仅仅是发现错误,可以归结为3条:
1.证明我们所做的是客户所需的
4.软件测试人员需要掌握哪些专业知识
一下是几点要求,自己看看吧,希望有所帮助
1.学历要求
软件测试大多数岗位都要求本科以上学历,可也有少数用人单位只要求专科学历的,但也有一个趋势是用人单位对职业教育重视程度越来越高,学历的强调反而降到了最后位置.
2.文字表达能力
测试员要求具备良好的文字功底,因为涉及到测试用例的编写和软件使用说明的编写,因此文字功底是必需的!
3.计算机语言
虽然软件测试不要求太高深的编程能力,但至少也要对一门语言熟练掌握,对一门陌生的语言迅速掌握的能力也是必要的,在很短时间至少输出”Hello World!”.
4.系统原理的理解
计算机原理和操作系统的知识掌握:任何软件都离不开运行的大环境,就象我们每一个人都不能脱离社会而独立存在的道理一样!软件测试要求对各种未知环境和状况都要考虑周到,一个优秀的测试员至少对各种软硬环境的搭配深刻理解!
5.快速学习能力
软件测试在我国是最近10年才被逐渐重视起来的,在好多方面还不完善,对软件测试人材的培养也在探索中,这就要求测试人员具备快速学习充电的能力,要求非常广泛的知识面,准备好终身学习也是顺应时代要求的,毕竟这个社会竞争太激烈了!
6.稳重踏实且细心的性格
稳重踏实的性格对于致力于作软件测试员来讲也是必不可少的,一个大型的软件广泛的通常要有几十万甚至上百万行代码,初期补课能用自动化测试工具通通代替人工阅读,所以面对枯燥的代码没有沉稳有耐性的脾气是不行的,因此现在IT行业最没有性别歧视的行业也在于软件测试方面.因为在通常情况下,女人比男人更有耐心和细心.准备作测试员你准备好足够的耐心了吗?
7.非常优秀的语言表达能力
非常优秀的语言表达能力和沟通能力;我认为测试员不单单起一个确保软件质量的作用(当然这方面是最重要的!)还应该一座桥梁,一座在项目经理和程序员之间沟通的桥梁!与程序员良好的无障碍的沟通才会使软件项目顺利实施,确保软件达到客户要求!因此性格内向言语表达能力匮乏的的人我认为是作不好测试员的!
8.适应变革的能力
这是一个时刻在变革的时代,IT行业每时每刻都在变化,这要求不单单测试员每一个人都要有随机应变,相时而动的准备!道不是鼓动打架跳槽,呵呵 但有应变的准备还是应该的!
5.做软件测试这个行业需要了解什么知识,麻烦详细点
需要掌握的知识很多
语言:c或者c++,java,脚本语言如vbs,tcl,shell等,最好都做些了解
数据库:现在数据库最大的市场就是oracle。db2现在也占有一定的市份额。比如sql*plus。mysql等
操作系统:linux是必须要会的,还有unix和windows
测试工具:qc。qtp,lr,vss,svn等
基本的知识很多,要求知识面广一些。测试官会问的问题范围非常大
测试行业的前景非常不错的,现在软件的产出非常大,软件的开发已经趋于成熟,但是测试却没有发展起来。在一些大公司,像是一些手机行业的公司,他们有自己的测试团队,但是却没有达到软件测试的标准,每年测试工程师的需求也是在不断的 加大的,证明越来越多的企业开始对软件测试重视起来,并且正在发展公司测试部门。所以在未来的几年测试行业绝对是个值得选择的行业。
进公司的测试流程,一般就是人力面试和技术面试,人力面试官主要考虑的是应聘者的综合素质是否适合一个团队发展,以及应聘者的性格品行等方面是否适合做测试这一行业。测试工程师都要求有一定的理解沟通能力。因为很多BUG都是要求和开发人员或者qa进行协商和沟通的,要求要有耐心,并且细心。技术面试就是考一些测试的基本知识。考的面很广,不过也要看你要做是具体是什么测试,如果你还有不清楚的地方,可以到我的百度空间里留言。
6.手机应用软件测试人员需要具备的相关知识
Ø 掌握测试与开发技术;
Ø 对所测试软件对口的行业要非常了解;
Ø 能够对测试方案可能出现的问题进行分析和评估;
Ø 具有多年大型软件系统的测试经验。
Ø 熟悉UNIX/LINUX系统;
Ø 具备极强的学习专研能力和问题分析技巧,能给其他测试人员提供正确的指导;
Ø 能使用测试工具,编写测试脚本;
Ø 能设计出有针对性的测试用例,能编写出高效率的测试工具,能快速准确地定位跟踪问题,帮助开发人员排除系统隐患;