{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

软件测试学习什么内容?

shevyshevy 回答0 收藏1
收藏问题

10条回答

番茄西红柿

番茄西红柿

回答于2022-06-28 14:59

软件测试就是模仿真实用户使用场景对软件的各个方面进行测试,软件测试工程师需要学习一下项技能

1.专业技能:专业技能是必须要掌握的知识,包括黑白盒的测试,还要学习系统测试和功能测试相关内容,系统测试是在应用层面上进行测试,最基础的测试流程管理也是要学习的专业技能。

2.软件编程的技能:编程程序过关,才能往单元测试和性能测试等难度比较大的工作方向发展

3.数据库和操作系统:在测试中要配置各种测试环境,需要对系统平台进行分析,所以要掌握这些基础知识,数据库是应用系统所离不开的

评论0 赞同0
  •  加载中...
王笑朝

王笑朝

回答于2022-06-28 14:59

做为从事测试工作十几年的一个老测试,看了好几天这个问题,但却一直没点进来回答这个问题!原因很复杂,但今天最终还是想给希望踏入这个领域的有心人分享一些个人经验!

一、测试是一个入门相对容易的职业。可以这么说,只要对电脑操作有一定了解的人,原则上都可以去做软件测试,只是刚开始能做的测试任务比较简单罢了!

二、测试又是一个精通比较困难的职业。很多非常牛的计算机系学校开设有专门的软件测试硕士专业,用来专门培养高水平的测试人员。

从以上两个极端的测试从业者水平之间的知识差距可以分析软件测试大概需要学习的内容。

  • 如果只希望做基本的UI测试或简单重复测试,只需要了解电脑基本操作、被测程序的基本业务操作、知道碰到问题报告一下就够了。这时候可能自学基本软件测试和电脑入门的书就可以完成测试操作了。
  • 如果更进一步水平的测试业者,就需要了解问题的为什么发生?验证问题是否解决?下次测试该怎么发现类似问题?这时候需要的知识可能就需要专业的培训机构经过1、2个月的培训才能达到这种境界。但一般培训机构除了测试的专业知识课程和一些典型项目测试实际操练外,同时会讲一些计算机相关的一些知识,比如:软件工程、操作系统、数据库、网络等,但这些都是皮毛。
  • 更进一步软件测试工程师是一些计算机系科班出身的从业者,本身除了在学校深入地学习过计算机系列课程外,开始在测试的细分方向上下功夫,比如:自动化测试、性能测试、安全测试。这时候测试的功力和专业度就非常高了,除了有学校的课程基础知识外,还需要在实际工作中熟悉不同类别的专业软件工具:商业的、开源的、自研的等等。
  • 最牛级别的测试就是那些专家级和领域翘楚级测试业者。他们引领着业界测试的方向:最新的测试技术、最新的测试理念、最新的测试方法等等。

基于以上,可以说软件测试是一个需要活到老学到老的职业,你愿意学的内容根据你希望达到的职业目标紧密联系在一起的!

希望以上对您有一定参考和借鉴!

一枚IT兵哥

庚子年春于北京

评论0 赞同0
  •  加载中...
Jochen

Jochen

回答于2022-06-28 14:59

1/6 分步阅读

会一门编程语言,会到什么程度,能写自动化脚本;但是能不能做好测试不仅仅是会编程而已。

2/6

会SQL,除非那种报表类型的测试,会普通增删改查,知道4种join的区别就可以了(如果你想成为DBA,那么建议你还是深入研究更为妥当)。

3/6

测试用例、测试方案要会写,常用的测试设计方法要知道。

4/6

会通信协议,HTTP是必须的,看行业脑补,做电信的SMPP/MM7/MDSP,做即时通信的SIP/XMPP,会到什么程度,有个RFC在手边能够读懂报文。

5/6

会性能,这个比较宽泛,要学的太多,前端调优,中间件调优,函数调优,数据库调优。

6/6

Windows、Linux系统命令要会敲,安全性和易用性要了解。

评论0 赞同0
  •  加载中...
bbbbbb

bbbbbb

回答于2022-06-28 14:59

你好!很高兴回答你的问题,软件测试专业是当下热门专业,就业前景非常广阔。该专业所需要的技术知识学习难度较大,知识丰富度较高。从你的问题中,看出来你对该专业充满兴趣,以下是我对你所提问题的归纳总结,希望对你有所帮助和更加坚定学习好这门专业。

软件测试专业主要分为测试理论基础、测试项目实战、测试工具、自动测试实战四个课程阶段学习。

一、测试理论基础

1、软件前景分析。课程详情:(1)为什么学测试?(2)互联网行业发展前景分析?(3)测试行业发展及人员需要具备的能力。(4)什么是测试?为什么企业越来越重视测试?

2、测试生命周期。课程详情:(1)测试定义,分类,原则,策略,方法,模型,流程,测试生命周期。(2)模拟测试计划需求澄清过程。(3)掌握测试计划编写的要素。

3、测试用例设计与管理。课程详情:(1)测试用例编写原则,标准,内容。(2)用例管理与维护。(3)测试用例设计:等价类划分,边界图,场景法,因果图,错误推测。

4、BUG的编写及管理流程。课程详情:(1)BUG的起源、定义与分类。(2)BUG严重程度,优先级,状态标准设定。(3)BUG生命周期状态流程管理。

二、测试项目实战

1、Web项目实战。课程详情:(1)模拟项目启动,组建研发团队。(2)项目测试计划设计。(3)测试执行、BUG执行。(4)项目报告总结编写

2、APP端测试。课程详情:(1)企业级APP测试重点功能分析,测试点提取。(2)企业级兼容性测试。(3)APP测试资源准备。

3、APP端项目实战。4、敏捷测试。5、探索式测试。

三、测试工具

1、数据库基础-MySql。课程详情:(1)数据库管理工具。(2)数据库命令使用。(3)数据库高级查询使用。

2、Linux实战。

四、自动化测试实战

1、Selenium Web自动化测试。

2、接口测试。

3、接口自动化测试。

4、性能测试。

以上是较为详细的软件测试不同阶段学习的内容,知识内容非常之多,我个人感觉,对于初学者这些课程几乎接收不全,即使学会,很难理解,无异于给自己压力, 我建议你先明确自己的阶段,入门一般可以找一本基础书籍看看定义概念,理解岗位,对于现在主流的工具有一些浅显的认识,一般就可以达到入门的标准。

评论0 赞同0
  •  加载中...
zzbo

zzbo

回答于2022-06-28 14:59

第一步,测试基础:

测试基础是软件测试最最最重要的部分,只要你是做测试,不管是什么测试,测试的基础、理论知识都是必须学会的。

大概就包括:测试计划编写、设计测试用例、编写测试报告、编写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展开发向思维及拓展想像。

任何一个测试最先面对的心理压力就是重复性的劳动。在你的测试生涯中,一定会碰见很多心理的考验,自己对于质量心里没有底、或者由于产品发布问题或者达到了测试瓶颈时候的困惑等。

每个人都有自己的背景以及性格,往往对于测试来讲,就是考验心理素质的时候,这个时候就需要你自己不断地去克服这些心理

评论0 赞同0
  •  加载中...
stackfing

stackfing

回答于2022-06-28 14:59

软件测试的学习门槛其实是很低的,不需要有计算机基础,也不需要你有相关的背景,只要认真学习,耐心细心,都能够学会。因为软件测试课程会从计算机基础开始讲解,再一步步深入到具体的软件测试方法和项目实战。

软件测试是分为手工测试和自动化测试的,自动化测试可能需要编写脚本来控制测试工具进行自动化测试,但是手工测试则不需要,只用手动点击进行测试就可以了。

如果你觉得自动化测试有点难度的话,只掌握手工测试也能够做软件测试工程师,找到不错的工作。

当然,如果想要升职加薪的话,在后续掌握自动化测试也是很有必要的。不过那也是职业生涯后几年的事情,作为零基础的IT小白,现阶段努力学好手工测试就可以了。

手工测试分为功能测试、接口测试、性能测试三大类,并不需要学好所有方向,只需熟练掌握其中一个方向就可以从事相应方向的测试工作了。

其中功能测试相对来说比较基础,是初级软件测试工程师大多会从事的方向。接口测试和性能测试就属于进阶一些的方向了,但也不是很难,前期可以先了解一下,后期想从事相关工作的时候再掌握就可以了。

评论0 赞同0
  •  加载中...
explorer_ddf

explorer_ddf

回答于2022-06-28 14:59

首先很荣幸能够回答这个问题,以下是软件测试需要的技能,你先看看

(1)熟悉计算机基础知识;

(2)熟悉操作系统、数据库、中间件、程序设计语言基础知识;

(3)熟悉计算机网络基础知识;

(4)熟悉软件工程知识,理解软件开发方法及过程;

(5)熟悉软件质量及软件质量管理基础知识;

(6)熟悉软件测试标准;

(7)掌握软件测试技术及方法;

(8)掌握软件测试项目管理知识;

(9)掌握语言程序设计技术;

(10)了解信息化及信息安全基础知识;

软件测试具体需要几个阶段去学习

第一阶段 基础

测试的基础理论知识必须学的,最好能理解,并能够复述。 因为面试初级测试的问题都是基础理论的考核,如定义、分类、方法、生命周期。 计划、方案、用例编写、 BUG定义、BUG分类、BUG六要素、BUG生命周期、测试和开发流程的关系、瀑布流、V字形、螺旋型、敏捷开发等等, 质量管理体系CMMI……

第二阶段 工具

不用纠结工具选择,学习基础的几个工具,就行了,以后用到那个再去学也行。

性能测试工具:loadrunner、jmeter。

接口测试工具:postman

抓包工具:fiddle

数据库管理工具:Navicat、ms-sql server

项目/BUG管理工具:QC

网页监测工具:HTTPwatch,键盘的F12

APP元素查看工具:uiautomator

第三阶段 代码

学习代码,关于编程语言的选择,看你的兴趣了,目前推荐python,胶水语言对测试应该更合适学习吧,当然学学c#和java方便以后考职业资格,数据库也必须掌握!在这个阶段学更复杂的SQL编写。

第四阶段 思考方向

1、管理型:

不限于项目管理,流程管理,QA,CMMI等等。更多的是看个人机遇了。

2、技术型:

最靠谱、最需要个人奋斗就能实现的路线,大致分为以下几种。

自动化测试工程:

又可以划分为UI自动化测试工程师,APP自动化测试工程师、接口自动化测试工程师等,编程是自动化的核心,要会主流的测试框架和辅助工具。主流的框架,如selenium,appium,monkey,monkeyrunner之类的,掌握了APP和UI自动化都可以了。辅助工具前面说过了。

性能测试工程:

只要会工具就能成为一个性能测试工程师,性能测试好做也好学,但是性能调优是的核心技术,学习成本挺高的,这个需要好的开发能力,C、Java要会。各种协议要掌握,TCP/UDP/HTTP/SOCKET等等。还要会Linux。

持续集成工程师:

现今这是一个偏向于云相关的方向,DevOps(英文Development和Operations的组合)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。它的出现是由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。

是不是有点晕,大致描述就是开发提交代码后,首次做好各种配置,以后自动触发任务,开始编译部署到测试环境,然后自动进行自动化测试,自动推到生产环境,如果测试没通过,自动回滚,然后开发修改。

没有正版图,懒得画了,百度devops,有图片便于你理解。

还是需要懂代码,服务器运维,CI/CD持续集成持续发布,如Jenkins。至少我认为devops全面成熟实行后,初级测试工程师的就业机会会减少。

测试开发工程师:

双枪老太婆,一看名字就能才出来了,双料能人。和问题不太相关,不多说了(其实是没什么快说的了,哈哈)

安全测试工程师:

SQL注入、渗透测试、暴力破解、脱库等等,基本上偏向于黑客了,发展方向就是白帽子。

最后回答难不难的问题,这个真是因人而异,看你学不学了。希望我的回答能够帮助你

评论0 赞同0
  •  加载中...
Godtoy

Godtoy

回答于2022-06-28 14:59

[从大的方向来看,需要学习以下内容:

1.计算机网络,例如了解什么是IP、TCP协议、UDP协议、http协议等。

2.软件工程,了解软件开发的流程,软件的开发模式。

3.操作系统,例如linux和windows平台的运维。

4.测试工具的学习。

5.软件测试理论,例如需求用例设计,用例评审,bug管理等

6.开发语言的学习,例如python或者java等,数字sql等数据库语言。

评论0 赞同0
  •  加载中...
Ali_

Ali_

回答于2022-06-28 14:59

第一步,测试基础:

测试基础是软件测试最最最重要的部分,只要你是做测试,不管是什么测试,测试的基础、理论知识都是必须学会的。大概就包括:测试计划编写、设计测试用例、编写测试报告、编写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展开发向思维及拓展想像。任何一个测试最先面对的心理压力就是重复性的劳动。在你的测试生涯中,一定会碰见很多心理的考验,自己对于质量心里没有底、或者由于产品发布问题或者达到了测试瓶颈时候的困惑等。每个人都有自己的背景以及性格,往往对于测试来讲,就是考验心理素质的时候,这个时候就需要你自己不断地去克服这些心理。

评论0 赞同0
  •  加载中...
happyhuangjinji

happyhuangjinji

回答于2022-06-28 14:59

需要学习掌握的技能有不少,比如尚脑的学习课程有:SQL Server数据库技术、Oracle数据库技术、JAVA编程、Windows操作系统和网络基础、软件测试基础理论、Linux操作系统及网络环境、质量管理工具禅道和缺陷管理工具JIRA、Jmeter、性能测试工具LR、Selenium、基于Python语言的Web接口开发与自动化测试、手机APP功能测试、手机APP性能测试、手机自动化测试工具、手机APP黑白盒测试、黑客技术于黑客事件渗透测试指南、信息收集与社会工程学等,还是要认真学习实践的。

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<