如何做好软件测试?
开发一个好的软件,40%以上的时间用在测试上,所以软件测试工程师非常重要,用我们的话来说很吃香。现在从事程序员的人有很多,做测试工程师的人少点,工作压力不太大
测试工程师应该具备的三项基本素质[1] 很多年轻或者刚刚从事测试工作的工程师,经常会问:“测试工程师需要什么技能或者具有什么素质才是合格的?”与开发人员相比,测试人员不但需要一技之长,还需要掌握诸如操作系统、数据库、网络等多方面的知识。
经过这几年的发展,国内IT公司的测试水平有了很大的提高,但是与此同时,很多测试工程师也迎来了个人的发展瓶颈:很多人从测试工程师做到了测试经理的职位,不知道下一步如何发展;或者每天机械地从事着功能测试工作。
根据作者多年的经验,一个有竞争力的测试人员要具有下面三个方面的素质:
计算机专业技能
计算机领域的专业技能是测试工程师应该必备的一项素质,是做好测试工作的前提条件。尽管没有任何IT背景的人也可以从事测试工作,但是一名要想获得更大发展空间或者持久竞争力的测试工程师,则计算机专业技能是必不可少的。计算机专业技能主要包含三个方面:
测试专业技能
现在软件测试已经成为一个很有潜力的专业。要想成为一名优秀的测试工程师,首先应该具有扎实的专业基础,这也是本书的编写目的之一。因此,测试工程师应该努力学习测试专业知识,告别简单的“点击”之类的测试工作,让测试工作以自己的专业知识为依托。
测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主。测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。
软件编程技能
“测试人员是否需要编程?”可以说是测试人员最常提出的问题之一。实际上,由于在我国开发人员待遇普遍高于测试人员,因此能写代码的几乎都去做开发了,而很多人则是因为做不了开发或者不能从事其它工作才“被迫”从事测试工作。最终的结果则是很多测试人员只能从事相对简单的功能测试,能力强一点的则可以借助测试工具进行简单的自动化测试(主要录制、修改、回放测试脚本)。
软件编程技能实际应该是测试人员的必备技能之一,在微软,很多测试人员都拥有多年的开发经验。因此,测试人员要想得到较好的职业发展,必须能够编写程序。只有能给编写程序,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。
此外,对软件测试人员的编程技能要求也有别于开发人员:测试人员编写的程序应着眼于运行正确,同时兼顾高效率,尤其体现在与性能测试相关的测试代码编写上。因此测试人员要具备一定的算法设计能力。依据作者的经验,测试工程师至少应该掌握Java、C#、C++之类的一门语言以及相应的开发工具。
网络、操作系统、数据库、中间件等知识:
与开发人员相比,测试人员掌握的知识具有“博而不精”的特点,“艺多不压身”是个非常形象的比喻。由于测试中经常需要配置、调试各种测试环境,而且在性能测试中还要对各种系统平台进行分析与调优,因此测试人员需要掌握更多网络、操作系统、数据库等知识。
在网络方面,测试人员应该掌握基本的网络协议以及网络工作原理,尤其要掌握一些网络环境的配置,这些都是测试工作中经常遇到的知识。
操作系统和中间件方面,应该掌握基本的使用以及安装、配置等。例如很多应用系统都是基于Unix、linux来运行的,这就要求测试人员掌握基本的操作命令以及相关的工具软件。而WebLogic、Websphere等中间件的安装、配置很多时候也需要掌握一些。
数据库知识则是更应该掌握技能,现在的应用系统几乎离不开数据库。因此不但要掌握基本的安装、配置,还要掌握SQL。测试人员至少应该掌握Mysql、MS Sqlserver、Oracle等常见数据库的使用。
作为一名测试人员,尽管不能精通所有的知识,但要想做好测试工作,应该尽可能地去学习更多的与测试工作相关的知识
软件测试工程师-IT就业新亮点,
根据有关职位统计资料显示,在国外大多数软件公司,1个软件开发工程师就需要辅有2个软件测试工程师。目前,软件测试自动化技术在我国则刚刚被少数业内专家所认知,而这方面的专业技术人员在国内更是凤毛麟角。根据对近期网络招聘IT人才情况的了解,许多正在招聘软件测试工程师的企业很少能够在招聘会上顺利招到合适的人才。
随着中国IT行业的发展,产品的质量控制与质量管理正逐渐成为企业生存与发展的核心。从软件、硬件到系统集成,几乎每个中大型IT企业的产品在发布前都需要大量的质量控制、测试和文档工作,而这些工作必须依靠拥有娴熟技术的专业软件人才来完成。而软件测试工程师就是其中之一。
据了解,由于软件测试工程师处于重要岗位,所以必须具有电子、电机类相关专业知识背景,并且还应有两年以上的实际操作经验。他们应熟悉中国和国际软件测试标准,熟练掌握和操作国际流行的系列软件测试工具,能够承担比较复杂的软件分析、测试、品质管理等任务,并能独立担任测试、品质管理部门的负责人。一般情况,软件测试工程师可分为测试工程师、高级测试工程师和资深测试工程师三个等级。
在具体工作过程中,测试工程师的工作是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。对软件测试工程师而言,必须具有高度的工作责任心和自信心。任何严格的测试必须是一种实事求是的测试,因为它关系到一个产品的质量问题,而测试工程师则是产品出货前的把关人,所以,没有专业的技术水准是无法胜任这项工作的。同时,由于测试工作一般由多个测试工程师共同完成,并且测试部门一般要与其他部门的人员进行较多的沟通,所以要求测试工程师不但要有较强的技术能力而且要有较强的沟通能力。
因此,在企业内部,软件测试工程师基本处于“双高”地位,即地位高、待遇高,有的人月薪可高达8000元。可以说他们的职业前景非常广阔,从近期的企业人才需求和薪金水平来看,软件测试工程师的年工资有逐年上升的明显迹象。测试工程师这个职位必将成为IT就业的新亮点。
软件测试如何入门?
零基础入门软件测试,不就是两种方式吗,自学和培训啊,看你自己合适什么学习方式咯。
自学适合:
1.学习能力强,自控力强,可以很好总结别人的经验并且转化为自己的知识。
2.科班毕业,本身就有基础,学起来才不会太吃力。
3.时间充足,允许试错。自学本身就是一个不断试错的过程,只有时间充裕不着急转行的人才最适合。
如果以上三点你觉得自己都符合,那就选择自学,毕竟培训的学费还是一笔不小的支出,虽然霸哥是做测试培训的,但是这点还是要给你说清楚的。
培训就是有老师带,有梳理好的知识框架,从零基础开始学到学完准备面试都有老师一对一辅导,跟自学不同的点就在于有老师带着学习,学的每一步知识都是老师精简过的,是目前企业所需要的技术,不需要自己试错,时间比自学短,一般培训的话三个月左右就能找工作了呢。
做手机软件测试的流程是怎么样的
不管你做的事什么测试 测试的流程无非都是单元–集成–系统–验收这几个测试方面. 黑盒测试主要体现在后两步,测试包括:功能,健壮性,性能,用户界面,安全性,压力,可靠性,安装/反安装 测试.
如何做到更详细的软件测试?
1.应当把“尽早和不断地测试”作为开发者的座右铭。 2.程序员应该避免检查自己的程序,测试工作应该由独立的专业的软件测试机构来完成。 3.设计测试用例时,应该考虑到合法的输入和不合法的输入,以及各种边界条件,特殊情况下要制造极端状态和意外状态,比如网络异常中断、电源断电等情况。 4.一定要注意测试中的错误集中发生现象,这和程序员的编程水平和习惯有很大的关系。 5.对测试错误结果一定要有一个确认的过程。一般有A测试出来的错误,一定要有一个B来确认,严重的错误可以召开评审会进行讨论和分析。 6.制定严格的测试计划,并把测试时间安排得尽量宽松,不要希望在极短的时间内完成一个高水平的测试。 7.回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多错误出现的现象并不少见。 8.妥善保存一切测试过程文档,意义是不言而喻的,测试的重现性往往要靠测试文档。
如何制作移动app测试方案及详细流程?
1分钟前
1.首先是测试 资源确认及准备
(1)产品需求文档,产品原型图 ,接口说明文档及设计文档应该齐全
(2)测试设备及测试工具 的准备:IOS和Android的不同年版本的真机,以及测试相关工具的准备
2.测试用例的设计及评审
(1)根据产品需求文档,产品原型图等文档,设计客户端的一般功能测试用例
(2)测试用例评审,修改与完善,评审过后着手进入正式测试阶段
3. UI测试
(1)确保手头的原型图与效果图为当前最新版本,符合产品经理及用户需求
(2)测试过程一切以效果图为准,若用户体验方面有建议,先以邮件的形式 与产品经理确认,确认通过后,可以正式的发出用户体验方面的问题
4.功能测试
(1)APP功能测试主要依据编写的功能 测试用例进行软件功能的遍历
(2)涉及的测试主要包括基本功能测试,安装,卸载,运行测试 ,异常处理(包括网络 突然中断或者网速 过慢,机器内存不足等异常情况的处理 )
5.中断测试
(1)软件运行 过程中接电话,收短信,锁屏,闹铃,充电,收到通知提醒后在 使用软件,软件任可以 正常运行
(2)运行软件时由前台切换到后台,再切换回前台 仍能继续运行
6.兼容性及适配器测试
(1)硬件的适配 :不同手机 厂商,硬件 性能,不同屏幕大小的适配
(2)OS版本的兼容
(3)不同屏幕分辨率的适配:移动端设备的屏幕分辨率多种多样 ,如果 app没有做合适的处理可能会显示不好,甚至影响功能的操作
(4)兼容性测试必须放在 一定数量的真机上运行 ,由于真机类型较多,兼容性测试 的时候可以选取典型的几种运用较多的真机进行兼容性测试
7.性能测试
(1)客户端性能测试注重安装卸载时间,启动时间,页面加载时间,主要功能占用的床铺,内存,流量,耗电量 等,以及与同类产品相比较是否具有优势
(2)至于服务器端的性能,主要利用接口对服务器进行加压,重点关注相应时间,吞吐量,并发数,事务通过率等
8.稳定性测试
(1)安卓app的稳定性常常使用 monkey进行测试,通过随机事件流模拟个人操作,对检查程序的内存溢出,空指针有很大的作用
9.检测分析及测试报告输出
以上各种形式的APP测试结束后,应该形成完整的分析及报告文档,输出给相关人员
TestBird
如何做好软件测试?软件测试适合女孩子做吗
软件测试对性别没有要求,这个行业里男女比例很均衡,也是个越老越吃香的行业,想做好的话和其他的行业一样,就看自己想不想做,自己适不适合做了,这个全看自己,别人说的没用的,绝对适合女孩子
如何自学软件测试
我也是做软件测试的,提一些小建议,仅供参考:
1.做软件测试最好进公司实践.因为测试公司的每个项目组对知识的要求都不一样,也许你在这个项目组里做的很好,但把你调到另一个项目组,你仍然是门外汉.所以直接进公司学习和实践是个不错的选择.
2.软件测试需要有广泛的计算机相关知识,包括计算机网络,数据库,软件工程等.
3.掌握一门开发语言,对其他语言也要熟悉,起码做到能看懂,这样将会对你的发展很有帮助.
4.提高自己的英语水平.不可否认,现在软件行业的领先国家还是欧美,换句话说就是欧美的产品相对较多,是测试的一个很大的市场.要做这些国家的产品,英语当然是非常重要的.
5.最好掌握一门日语或者韩语.现在中国对日对韩的软件外包越来越多,尤其是北方地区.掌握这两门语言,在找工作时将会非常有优势.
6.初次进入软件测试行业,公司只会让你做人工测试,或者说是黑盒测试.所以一切读要从基础做起,不要奢望学好了直接进公司做自动测试.
7.总起来说,进公司实践,然后再买一些相关书籍翻阅.记住,最重要的还是动手能力,然后才是思考能力(这个行业和别的行业颇有不同,公司要求的是你先能做项目,然后你才去自己发展自己)
最后,软件测试现在人才缺口很大,薪水也颇为可观相信你选对了路.好好做,祝你有个美好的前程!
如何在工作中做好软件测试?
对于测试的对象的业务一定要很熟悉啊,当然包括其工作流程.所以把所有可能的流程路径勾画出来,分成基本流程,支路流程,异常流程,以利于分清主次关系.也可以根据数据流向进行测试.
怎么做一个软件测试管理系统?
其实不是很难,首先你要知道是一个软件测试管理的系统,那就是软件测试有关,涉及具体的功能,创建问题单和关闭问题单,这肯定是主体的,可以在这2个功能上进行延伸,创建的问题单肯定会其属性,关闭的问题单也会有关闭的原因时间等属性,然后你要知道测试的流程是怎么走的,那么问题单的流程会怎么去流向,在深入一点的就是权限问题,哪些人对问题单有什么权限等等.
系统或者软件测试需要做些什么?怎么做?
(1)测试是为了发现程序中的错误而执行程序的过程(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案(3)成功的测试是发现了至今为止尚未发现的错误的测试.(4)测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进.(5)这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性(6)没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法(7)另外,根据测试目的的不同,还有回归测试、压力测试、性能测试等,分别为了检验修改或优化过程是否引发新的问题、软件所能达到处理能力和是否达到预期的处理能力等.