软件测试都要掌握哪些内容啊?
软件测试大体分为功能测试、性能测试、接口测试、自动化测试几个方向,不同的方向需要学习的具体内容也不尽相同。
接下来就为大家讲解一下每个阶段具体要学什么?
功能测试比较基础,就是测试软件的基本功能有没有问题,是初级软件测试员都要掌握的技能。要学计算机基础、软件测试核心理论、企业级环境配置实践。具体会学习计算机基础,软件生命周期、开发模型、测试模型。软件测试概念,软件测试方法及分类、热门领域测试技巧。Linux系统,数据库的定义及基本概念,MySQL、Oracle等内容。
性能测试则是进阶的测试技能,是测试软件的性能,如负载等等。要学性能测试核心理论、Loadrunner。会学到性能测试,VuGen,Controller,Analysis,性能测试调优,数据库调优,性能测试指标,Jmeter在性能测试中的应用。搭建测试环境,编写测试计划和测试用例,设置和运行场景,监控和收集数据,写分析报告,项目综合评审等内容。
接口测试则是测试模块与模块之间的接口有没有问题。要学接口测试综合核心理论、Jmeter、网络安全测试课程。具体要学习接口测试,Postman安装使用,Fiddler安装使用,Web和手机抓包,基本设置方法。Jmeter,搭建接口测试环境,分析业务流程。Web安全核心理论、Web漏洞及防御、渗透测试、SQL注入、XSS跨站脚本、AppScan等内容。
自动化测试则是通过编写脚本来实现用工具自动对软件进行测试,要学Python编程技术、自动化测试入门、Web自动化测试:Selenium、移动自动化测试:Appium。具体学习Python,自动化测试分类及自动化适用的项目。学习Selenium,Appium,Monkey等。
软件测试是一个入门简单、但深入难的工作入门的时候只要会看懂中文、理解能力没问题就可以按照测试用例来执行用例了1、开始自学的时候找一本书来入门(软件测试原版第三版很不错)-差不多要1个月左右的时间、要能看懂明白里面的知识、这个阶段主要是学习理论知识2、有基础知识之后找一个软件来自己操作、从开始写测试计划、测试用例、到自己完成测试、并输出测试报告(这个阶段必须自己操作、如果有问题可以去51testing论坛提问)这里如果产品小的话1个月左右、软件功能多的话2个月多都有可能、建议从功能少的软件入手3、在执行第二个步骤的时候经常多去51testing论坛看看那些问题帖子、绝对增长你的知识量4、前面3个步完成之后可以开始关注招聘网站那些招聘软件测试的公司、去看看他们公司的做的什么产品、可以吧他们的产品下载回来按照步骤2的方式来自己写用例 执行测试、记录BUG、提交测试报告等内容(如果你去面试公司的时候拿着你的测试报告以及BUG单的话 成功率会高很多)5、前面几个步骤完成之后差不多要开始找工作了、建议去看看那本<软件测工程师试面试指导>的书籍、这本书里面有很多软件测试的面试题目多看看提高知识量自学软件测试差不多需要6个月左右的时间PS:自学成才的3个要素、一是方法,二是愿望,三是自律。这三个要素中任何一个的提高,都会加快目标的实现。当然如果要在同样时间内实现目标,三个要素其中一个要素的增高,也就同时降低对其他两个要素的要求。进一步之后需要会的知识会越来越多1、操作系统的知识(什么软件都是运行在操作系统之上的、一般的操作必须要会)2、数据库知识(现在还能找到多少不需要数据库的大型软件捏?)3、计算机网络(通信呀通信、千万不要TCP和UDP都分不清楚)4、计算机硬件(你要是C/S架构的测试或者是做性能测试、那么计算机硬件都是必修课了、总得知道IO是什么IOPS又是啥)5、各种测试工具的使用、什么QC/TD/BUGfree/QTP/LR之类的 不需要样样精通但是必须要熟练使用6、软件测试基础知识(这年头没有知识是万万不能的、软件测试基础知识其实买几本书好好看看就能学个差不多了)7、开发语言(做到高级软件测试的人都是会写点小工具的)8、测试环境配置:这个要说下、我在做配置管理的时候发现很多测试人员居然连自己的测试环境都配置不好、一个连自己的测试环境都不会配置的人会成为一个合格的测试么。(你要测试web的apache、tomcat、iis之类的得会配置吧)PS:希望你不要被我写的这么多东西吓到了、这些知识是在软件测试的进化过程中慢慢积累起来的、不是所有人都一开始就会了、你是计算机专业毕业的。那么计算机硬件、网络、操作系统、数据库什么的都应该在学校的时候有学到的、所以应该不是问题最后:祝你好运
零基础学习软件测试的方法有:
一、了解测试基础
例如测试流程,测试方法,测试用例的编写,软件测试计划编写,包括测试的主流模型,还有缺陷管理工具(如禅道jira或其它),了解数据库,这里的了解是指增删改了解,并且“查”要尽量做到熟练。
二、学习并掌握计算机网络方面的知识
主要是协议之类的(如netbeUI协议,IPX/SPX,TCP/IP,OSI等这些协议),然后在把app跟web测试的测试方法及流程,测试思路,前后台的逻辑分析,包括测试点及测试的范围,都细心标记,主要是工具的结合使用。这样能为你后续的工作提高效益,也不至于出现在工作中不知道怎么介入和开展工作的情况。
三、软件测试技术成长
软件测试技术成长可以从以下几个问题入手,去进行查漏补缺,去进行学习!
功能方面:如何设计测试用例如何进行发散测试如何防止漏测
性能方面:用户常用的功能如何才能体验性更好,速度更快
安全方面:软件有没有做最基本的安全防御常见的SQL注入,CSRF攻击是否对我们的软件安全有威胁你的软件足够的安全吗
自动化方面:自动化是什么在什么情况下做自动化哪些功能测试用例适合通过自动化脚本来执行
四、要想有效快速学习软件测试,良好的时间管理方法对你大有裨益。
时间管理每个人有自己不同的方式,对我来说最受益的两条建议就是:
1按照工作的优先级进行处理,可以参考时间管理的工作四象限法。
2对自己每天的时间进行记录,长期归纳总结,得出最适合自己的时间管理方案。
扩展资料:
软件测试需要学习测试用例、测试用例的方法、缺陷管理工具、掌握数据库、App测试、python语言、Linux系统、前端语言等技能。
1、测试用例
这是每一个工程师必备技能,也是标志你进入测试行业最低的门槛,关于测试用例可以参考我以前写的文章。
2、测试用例的方法
测试用例的方法,只用掌握相关的方法,才能把测试用例写好,覆盖度高。
3、缺陷管理工具
缺陷管理工具,就是提交bug工具,这是评价软件质量考核之一,也是软件工程师的价值所在。
4、掌握数据库
掌握数据库非常重要,这个世界由许许多多数据组成,软件测试,就是满足客户的需求,但必须数据正确,其实软件工程师需要对数据流向的了解,才能更加深入地了解业务,这也是一项基本技能之一。
5、App测试
App测试,从兴起到目前市场的成熟,APP可以说成为市场上的主流产品。若你不会APP的测试,很多公司是是不要的,所以需要我们深入了解。web测试,其实跟App相似。
7、python语言
python语言是现在最流行的语言,这是测试人员技能升级最好的方式之一,测试人员可以利用他做非常多的事情。
8、Linux系统
Linux系统,测试人员利用它最多的是看日志,更好地为开发定位bug,这也是提升技能之一。
9、前端语言
前端语言,可以让自己更好的判断bug是前端还是后端造成的,多学一点技能对于测试人员非常好的。
零基础学习软件测试无非有两种方式:自学和培训。
关于自学,无需多言,如果你自律性强,具备学习能力、有专研问题的好奇心、以及解决问题的能力,那么自学是完全ok的。蜗牛学院这里也给大家整理了一份软件测试的学习路线,希望可以帮助大家少走弯路。
如果你选择培训,那么就分线上课程培训以及线下面授培训。
线上课程可以在网上找,也可以报一些培训班的课,这种学习效率一般会高于纯自学,因为老师会有一些项目演练,不至于让你只学习理论知识。当然,你学完后能不能融会贯通、合理运用又是另一回事了。
线下面授班因为场地、师资、以及各种硬件设施等成本,学习费用一般高于网教课程,面授班最大优势在于有问题可与老师面对面直接解决,学习效率最高,并且有一个技术学习环境。
总结来看,在线课程更适合有行业基础经验的工作者,他们利用自己下班后或周末的碎片时间给自己充充电,以此来提升技术能力。对于零基础转行者而言,还是线下面授班的学习效率更高一些,花最少的时间学更多的知识,但要考虑下自己的经济情况。
用python做自动化测试,主要是接口测试和UI自动化测试。一、接口测试:http协议的举例:可以用python自带的urllib\urllib2模拟,模拟前端向服务器发送数据,获取返回值后,进行校验和判断来进行接口测试。网上的例子也比较多,这里简单说一下,比如request中data的边界值测试、字符测试、非空为空测试等等,都可以做二、UI自动化测试:html页面(python+selenium)或者一些安卓app(python+appiun)可以用。主要是页面元素的检查、输入等。比如可以写一个脚本,自动登录百度页面,搜索某一个关键字,并且获得此关键字的百度搜索数量。
要做一名优秀的测试工程师需要掌握的知识广而多。至少要具备如下几方面的能力:
1、必须掌握测试方面的理论知识。这点很重要,是首要基础。
2、具备编写程序的能力。不会写代码,发现了bug无法找到问题的根源也无法调试。
3、懂得网络方面的基础知识。这个主要是安全测试做准备。
4、必须掌握数据库方面的知识。这个是必须要掌握的。
5、懂一些底层的方面的知识。
6、心要静、细心耐心、责任心。心静不下来无法对bug展开发向思维及拓展想像。
7、测试工具不仅会用而且要精通。功能自动化测试和性能测试必须要掌握一个工具。
8、具备写作能力和表达能力。写作能力主要用于写test case或提交bug ,表达清楚开发人员或执行用例的人一看就懂。
0条评论