漫山红遍
很多朋友都会咨询:软件测试要学些什么。有的人说的很简单,有的人说的很多,我认为都对。但是,如果学的很简单,比如只学过手动测试,那么在今后的发展过程中,势必要遇到瓶颈。而遇到瓶颈,想要突破,就必须得加紧学习了。突破瓶颈如何突破现有的瓶颈?当测试人员入职后,测试人员不能仅仅做好本职工作,还需要思考如何将工作做的更快,更好;思考是不是还有其他方式完成工作。下面给大家介绍下突破瓶颈需要的能力,以及学习方向。代码能力测试人员不需要学习ssh框架、mvc框架。但是测试人员选择的开发语言要与公司常用开发语言一致。达到能看到开发写的逻辑就可以了,进阶的话,测试人员可以自己利用公司的框架写一点小的项目,这样可以更加理解开发的工作方式,易错点。很多时候,你会发现有些功能点的问题好的测试工程师一眼就发现了,因为他们也错过。沟通能力沟通能力是作为测试很关键的一个能力,开发、运维、客户等角色都需要测试人员去沟通。有时候还需要测试人员去协调资源。如果只是闷头测试,那你的眼界只能局限于一小块,整天只能唉声叹气抱怨为啥提交质量这么次,客户老骂人了。测试知识广度当测试人员要晋升高级、资深测试的时候,测试人员需要给公司看出他们的价值,测试人员和新员工的区别。此时,测试人员不光要在业务上有自己的见解,在测试技术上也要有所涉及。了解那些技术会对测试效率有提升,为公司省钱。自动化测试、性能测试、白盒测试、灰盒测试、接口测试、混淆测试等等,不光要理解名字,建议能自己实际操作下。看着很难的东西,上手了就没那么难了。测试知识深度当测试人员专注于测试的时候,一定要选个方向。自动化还是性能?不建议选择业务专家或者测试管理,前者太难,后者容易被淘汰。作为一名性能测试、自动化测试都有涉猎的人来说,比较推荐大家入门自动化方向。需要学习的东西较少,大公司招聘的很多。作为自动化测试来说,需要学习单元测试、接口测试、UI自动化测试,需要深入学习代码、框架。这些基本就够了。
弱智好儿童
第一阶段、
测试基础学习目标:基于敏捷的软件研发基础知识,并同时掌握关于软件基础运行环境的相关知识,为后续课程学习奠定基础,并进而可以胜任手工测试工程师的工作。
完成项目:测试管理工具,Linux操作系统,MySQL数据库
第二阶段、编程语言学习目标:熟练掌握java与python编程语言数据类型、运算符等。
完成项目:Java环境及Intellij IDEA使用,Python环境及Pycharm使用,为后续的web和app自动化测试奠定基础。
第三阶段、web自动化学习目标:熟练掌握web自动化Selenium基础、环境,自动化测试模型,可以胜任web自动化测试工程师是工作。
完成项目:Selenium源码分析,多浏览器运行测试,多平台多浏览器运行测试,各种驱动支持
第四阶段、app自动化学习目标:掌握Appium基础、环境、应用、实战等。
完成项目:获取app信息
第五阶段、接口测试学习目标:熟练掌握接口测试基础,接口测试自动化,进阶高级软件测试工程师。
完成项目:TestNG的批量接口执行
第六阶段、Jmeter性能测试学习目标:Jmeter基础、进阶等。
完成项目:性能测试(容量、稳定性)项目实战
第七阶段、Jenkins持续集成学习目标:持续集成简介、持续集成环境搭建
完成项目:使用Jenkins运行接口测试用例
啄木鸟学院老师建议大家从学习路线去着手,一探究竟,真正了解清楚!
MrStoneLiu
软件测试课程体系-北测教育 通过本课程体系的学习,学员能够掌握基于各种操作系统平台下(Windows和Linux)的桌面版和网络版软件在软件功能与性能上的测试;掌握软件质量保证技术;掌握3G移动通信测试技术,掌握游戏测试方法,最终获得北测教育“软件测试工程师”认证和工信部“软件测试工程师实训技术”认证的职业资格证书。《软件技术基础》课程内容: 掌握计算机相关的软、硬件与网络技术,熟悉MS-DOS命令,能够在Windows和Linux等相应平台上进行各种应用服务器的搭建。掌握C++程序设计语言。最终能力:熟练搭建各种测试环境与掌握一定的开发技术。 《软件测试技术》课程内容:掌握软件测试基本理论;掌握软件开发与软件质量、软件测试的相互关系;掌握软件开发过程;掌握软件质量保证过程;掌握软件测试过程模型;学会软件测试计划的编写,熟练掌握10种软件测试用例设计技术,掌握软件缺陷的有效管理;学会编写软件测试报告。 最终能力:掌握软件测试初中级人员必备的基础理论、软件测试实用技能。 《测试开发技术》课程内容:掌握SQL Server 2005数据库管理系统,掌握必要的建、增、删、改、查、检等相关SQL语句,掌握数据库的备份与脚本生成。掌握Dot Net开发平台下的C#程序设计技术。最终能力:掌握主流的数据库开发与面向对象程序设计技术,为软件测试人员进一步的技能提升打下坚实的基础。 《高级软件测试技术》课程内容:掌握软件测试的熟悉7种测试策略和26种测试方法;掌握白盒测试技术;掌握单元测试、集成测试、系统测试、验收测试各个阶段的测试技术;掌握回归测试、数据库测试、本地化测试与数据库测试、安全测试技术;掌握项目管理与测试团队的建设。最终能力:掌握软件测试中高级技术,为软件测试人员向测试管理人员的提升做准备。 《软件自动化测试技术》课程内容:掌握HP公司的三大软件测试自动化工具:Qulity Center(测试管理)、Quick Test Professional(功能测试)、LoadRunner(性能测试)。掌握软件测试自动化框架设计思想,掌握脚本的开发。最终能力:掌握软件测试自动化工具,为功能测试工作、性能测试工作、测试管理工作打下良好的基础。 《高级行业测试技术》课程内容:掌握无线通信基础理论,掌握第三代移动通信的软件测试方法,掌握基于3G通信的手机测试技术,掌握游戏测试方法。最终能力:掌握最新移动通信与游戏测试行业的测试方法。 《职业素养与面试技巧》课程内容:掌握职场必要的礼仪,掌握简历的写作技巧,掌握相应的管理技巧与逻辑思维方法。最终能力:掌握适合于在IT企业独立工作的综合能力。 《行业英语与职场英语》课程内容:掌握5个模块的英语知识(Computer Foundation、Software Testing、Mobile Communication、Office、Interview Communication),与课程专业知识对应。最终能力:熟练使用英文进行软件测试工作。 《软件测试项目实训技术》课程内容:掌握4个功能测试项目、3个性能测试项目、1个白盒测试项目的整体测试流程,从软件测试企业的实际要求出发,进行项目实践。最终能力:获得在企业6-12个月的企业项目实际经验。希望能帮到你,有疑问可以和我百度留言。
大眼睛鱼儿
第一步,测试基础:
测试基础是软件测试最最最重要的部分,只要你是做测试,不管是什么测试,测试的基础、理论知识都是必须学会的。大概就包括:测试计划编写、设计测试用例、编写测试报告、编写BUG报告单、跟踪BUG修复情况、还需要良好的沟通能力、以及各种测试阶段所使用的测试方法、单元测试、功能测试、集成测试、系统测试等。
第二步:学习脚本语言
如:python语言,当然python 是一门相对简单的计算机语言,考虑长远发展,需要了解C语言或者java。都说C语言最难,但是用得确实也多。
第三步:学习软件测试工具
学习软件测试工具并不难,只是需要我们去系统的学习。比如性能测试工具loadrunner,自动化测试工具selenium、Appium,接口测试Jmeter、Postman等。虽然说工具不是万能的但是工具能为我们提高工作效率,所以必须得会熟练的使用。最关键的一点,是要结合项目具体去操作,实践出真知,理论知识在实际项目中才能得到巩固。
第四步:计算机硬件知识
做过性能测试的都知道在性能测试过程中硬件性能也是一个非常重要的指标、CPU、内存、IO、带宽等等、如果你是做硬件测试的。那么就更不用说了。交换机、路由器、防火墙这些设备都需要有所了解。
第五步:数据库测试
MySQL数据库
MySQL简介、命令行工具以及数据管理、MySQL数据查询(条件、分组、聚合函数、排序、分页、连接查询、自关联、子查询)、内置函数、项目练习、数据分表、Python操作MySQL。
Redis数据库
Redis简介、客户端和服务器、数据类型(string、hash、list、set、zset)、各种数据类型操作、Python操作Redis、主从、集群。
第六步:项目实战
最好参与真实项目的测试工作,积累真实项目的测试经验。
成为优秀软件测试员之提升条件,如果你想成为一个更优秀的软件测试员的话,除了上面那些,你也最好能够具备开发语言即代码编写能力,虽然不会写代码也能做测试、但是如果你想做到高级测试工程师以上、那么代码编写能力就是必选项、如果不会写代码、那么你不可能成为高级测试。高级测试工程 师的一部分工作就是在写测试工具。虽然测试也需要写代码但不需要和开发一样那么精通某一门语言、可是测试却需要了解很多门开发语言(举一个简单的例子:你 现在所在的项目从C++语言、2年后你换工作了、新公司的开发语言是Java或者是VB什么的)所以在开发语言中测试需要更广的学习。
成为软件测试员之必备条件,就是你一定要有良好的心态。心要静、细心耐心、责任心。心静不下来无法对bug展开发向思维及拓展想像。任何一个测试最先面对的心理压力就是重复性的劳动。在你的测试生涯中,一定会碰见很多心理的考验,自己对于质量心里没有底、或者由于产品发布问题或者达到了测试瓶颈时候的困惑等。每个人都有自己的背景以及性格,往往对于测试来讲,就是考验心理素质的时候,这个时候就需要你自己不断地去克服这些心理
左边iori
一、业务分析能力1.分析整体业务流程不了解整个公司的业务,根本就没办法进行测试2.分析被测业务数据了解整个业务里面所需的数据有哪些?哪些是需要用户提供的?哪些是自己提供的?有哪些可以是假数据?有哪些必须是真数据?添加数据的时候可以用哪个库?明白了整个软件的数据库架构,才能知道哪一个数据是从哪一个表里头带出来的,它的逻辑是什么,有没有连带关系。3.分析被测系统架构用什么语言开发的?用的是什么服务器?测试它的话需要用什么样的环境进行测试?整体的测试环境是什么样的?如果缺少了,需要进行环境搭建,架构搭建。一般去一家新公司之后,架构是搭建好的,了解它即可,熟悉之前的这些老员工们使用什么样的架构去做的。4.分析被测业务模块整个软件有哪些模块,比如说首页面、注册页面、登录页面、会员页面、商品详情页面、优惠券页面等等明白有多少个模块需要测试,每个模块之间的连带关系,进而怎样进行人员分工5.分析测试所需资源我需要几台计算机,需要几部手机,手机需要什么样的系统,什么样的型号。比如测一个网站的性能的时候,电脑的配置达不到测试并发5000人的标准,要么升级电脑的硬件配置,要么多机联合,多机联合时需要几台电脑,都需要提前筹划。6.分析测试完成目标我的性能目标是什么样的?我的功能目标是什么样的?我要上线达到的上线标准是什么样的?性能目标,比如我要达到并发5000人的时候,CPU占用率不能高于70%,内存占用率不能高于60%,响应时间不能超过5秒功能目标,比如整体的业务流程都跑通,所有的分支流程都没有问题,所有的接口都能够互相调用,整体的UI界面没有问题,兼容性没有问题等把这些问题都弄清楚,测试的思路会非常的清晰二、缺陷洞察能力1.一般缺陷的发现能力至少你要满足一般缺陷的发现能力,这个是最基本的,如果要连最简单的一般的缺陷都发现不了的话,别说优秀测试工程师了,你说你是测试我都不信2.隐性问题的发现能力在软件的测试过程当中有一些缺陷藏的比较深,有的是性能方面的问题,有的是功能方面的问题,它需要有一些设定特定的条件的情况下才会出现这样的问题。比如说买双鞋必须选择的是什么品牌,必须选择是红颜色,必须选择44号,而且必须选择用特定的支付方式才会出现这样的bug的时候,那么这种就属于特别隐性的bug,对于这样的问题的发现能力一定要比别人更强,要找到一些别人可能发现不了的bug3.发现连带问题的能力当发现了一个缺陷之后,能够想到通过这个缺陷可能会引发其他哪个地方出现问题,这就叫做连带的问题。而不是说发现这一个bug之后提了这一个就算完了,一定要有一个察觉,可能其他地方也存在这样的问题。4.发现问题隐患的能力有些软件里边可能有一些操作模块,或者是代码写的接口,表面上没有什么问题,但是它是有隐患的,比如说这个接口写的不稳定,当他传的数据有一些问题的时候,可能它最后返回的结果就是报错就是报404或者报乱码。5.尽早发现问题的能力如果你只能停留在界面级别的话,那你根本就没有办法达到尽早发现问题的这个能力你必须要等到前端人员把每个界面都做好了之后才能进入测试,而我能比你早一个月进入测试了,然后我比你结束测试时间快一个月,而你又比我晚一个月,那么咱俩的薪资一下就拉开了6.发现问题根源的能力需要知道这个缺陷它到底是由什么原因产生的,是属于什么类型的缺陷,是ui前端人员做的问题,还是后台接口人员做的问题?不仅要找到这个bug,还要知道这个bug产生的原因,这样的测试人员是非常棒的,而且很是受人尊敬,提bug的方式也就不一样了三、团队协作能力1.合理进行人员分工2.协助组员解决问题3.配合完成测试任务4.配合开发重现缺陷5.督促项目整体进度6.出现问题勇于承担四、专业技术能力1.掌握测试基础知识2.娴熟运用测试工具熟悉工具和熟练使用工具完全是两个概念,熟悉工具基本上等同于不会,遇到过很多简历上写会使用什么什么工具,都没有实际能力。比如loadrunner只会一个简单的录制,增强一下脚本,觉得会用了,那知识会用了1/5,其他4/5 都不会。3.了解工具操作原理它是怎么样给服务器发送请求的,是用什么样的方式去发送请的,是用什么样的方式去监控的,它的操作原理是什么样的,咱们要把这件事情搞清楚,这样的话能有助于更好的去使用这些东西。包括一些请求的协议,每个协议代表什么意思,它是用来干什么的。4.自主完成测试任务一定要能够自己完成一个独立的内容,独立的工作,这件事情领导你交给我好了,放心我能给你搞定,要的是这样的人5.找出问题出现原因找出缺陷的时候,不仅要看它的表面,还要看它的本质6.提供问题解决方案发现问题不是能力,发现问题并提出解决方案才是真的能力7.提供完整测试报告测试报告能够说明你表达的清不清楚?领导能不能看懂?还有就是能不能够把你整个测试的过程给它梳理得非常详细,人家能够通过你的报告,能够了解到整个的项目的情况,而不是只了解一个片面的情况8.了解相关技术领域触类旁通
珊珊来了
软件测试培训内容一般会帮助学员学习PC端,移动端功能和自动化测试,接口测试,性能测试技术,让学员在测试领域就业游刃有余,一般的软件测试培训课程分为五个阶段,总共历时五个月左右。第一个阶段学习功能测试的相关内容,一般会学到软件测试核心理论,结合Linux、数据库等可实现移动端、web端的功能测试,学完之后基本可以胜任功能测试工程师的职位。第二个阶段学习自动化测试,会学到自动化测试的相关内容,主要有Web自动化测试和APP自动化测试的内容,学完基本可以上手自动化测试工程师的工作。第三个阶段将会学到接口测试的相关内容,还会配备国内某知名高校学生MIS系统接口项目实战,学完可选择接口测试工程师作为以后的发展路径。第四阶段将学到性能测试的所有内容,学习性能测试理论知识,能运用性能测试工具LoadRunner和Jmeter做性能测试,测试出系统的性能情况,学完可做性能测试工程师。最后一个阶段就是就业指导了,讲师将会从简历、面试技巧等层面进行辅导,帮助学员熟悉面试流程;让学员清晰了解职业发展规划,明确自身定位,找到适合自身发展的工作。还有就业实训,学生根据当前主流软件,完成二到五个不同项目的测试;复习前期知识,巩固基础知识;增加面试竞争力,增强能力,扩展知识面。以上就是软件测试培训内容和每个阶段需要学习的东西。
双双鱼儿
1、软件工程技能你必须了解软件软件工程(设计、开发和简单测试),应用,系统,自动测试编程,及操作系统,数据库,网络系统和协议的设计和使用。 2、交流技巧如果想确定软件缺陷,你应当能够指出什么时候的缺陷算是缺陷。 3、组织技能如果你在别人都头脑发昏的时候保持清醒,你就可能是一个好的软件测试工程师。在网络时代软件测试是一项有压力的复杂性工作,但如果你能从这些纷繁中找到一种途径,它就是一项回报丰厚的事业。 4、实践技能当一个工作需要经验,而你又需要一个工作去丰富你的经验时该怎么办?这并不完全是一个两难的问题,你可能采用几种方式去获得实际经验。 5、态度除了技术水平,你需要理解和采取适当的态度去做软件测试。 我的建议是阅读Roger Pressman的软件工程:A Practitioner's Approach, fifth edition (职业入门,第五版,McGraw Hill, 2000年版)和 Glenford Myers的The Art of Software Testing(软件测试艺术,John Wiley & Sons, 1979年版)。Pressman的书是一个对软件工程原理的全面介绍。有很多关于软件技巧、项目管理、要求分析和软件设计等软件工程方面的好书,但Pressman对这些方面在一本书里作了介绍。Glenford Myers不到二百页,1979年发行,却是软件测试方面的圣经。Myers定义及诠释的测试方法论已成为软件测试的基本模块。 Myers还考查了软件测试中的经济(缺陷的代价)和心理学方面(测试的目标就是发现失误及不成功之处),以及主导软件开发和测试的基本原则。
优质工程师考试问答知识库