用Jmeter进行TCP测试,取样器结果显示Response code: 500错误,该怎么解决此问题呢?
用Jmeter进行TCP测试,取样器结果显示Response code: 500错误是设置错误造成的,解决方法为:1、新建线程组。2、在线程组中新建WebSocket Sample。3、将网站提供的host等信息填入即可与网站通信,之后运行。4、这样就可以看出第二条消息发送时是直接用的第一条消息打开的连接,服务器的响应被归类到一次会话的响应窗口。
如果服务器有返回响应数据,那这个500可以忽略,可以设置响应断言,忽略响应状态code。
https://www.zhihu.com/question/64978264
可以自己排查原因啊 先通过其他方式确认请求时正确的,然后看看响应值是什么

沉淀!熬夜整理100个接口测试的知识点!!专业扫盲!
接口测试最近几年被炒的火热了,越来越多的测试同行意识到接口测试的重要性。接口测试为什么会如此重要呢? 主要是平常的功能点点点,大家水平都一样,是个人都能点,面试时候如果问你平常在公司怎么测试的,你除了说点点点,还能说什么呢,无非就是这个项目点完了点那个项目, 这就是为什么各行各业的只要手指能点得动的人都来转行软件测试了。面试的时候面试官希望你除了点点点,还能更深入一点的思考页面上看不到的功能,也就是接口测试了。接口是看不见的,但是可以访问!DNS是域名系统(Domain Name System),DNS是用来做域名解析的,它会在你上网输入网址后,把它转换成IP,然后去访问对方服务器;没有它,你想上百度就要记住百度的IP,但有了DNS的处理,你只需要记住对应网站的域名,即网址就可以了。HTTP协议:超文本传输协议,是基于TCP的协议,默认为80端口。它的作用是用来规定客户端和服务器的数据传输格式。是一种用于请求与响应模式的、无状态、无连接 的应用层协议。 由于HTTP协议是一种请求-响应模式,所以一般需要关注HTTP请求和HTTP响应。使用fiddler工具抓取HTTPS, 体操作请查看文末领取教程1xx -- 信息提示(表示临时的响应。客户端在收到常规响应之前,准备接收一个或多个1xx响应)2xx -- 成功(表明服务器成功地接受了客户端请求)3xx -- 重定向(客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求)4xx -- 客户端错误(发送错误,客户端有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份证验证信息)5xx -- 服务器错误(服务器由于遇到错误而不能完成该请求)常见的返回码有:200 OK - [GET]:服务器成功返回用户请求的数据201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功202 Aceepted - [*]:表示一个请求已经进入后台排队(异步任务)204 NO CONTENT - [DELETE]:用户删除数据成功400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作401 Unauthorized -[*] :表示用户没有权限(令牌、用户名、密码错误)403 Forbidden -[*] :表示用户得到授权(与401错误相对),但是访问被禁止404 NOT FOUND -[*]:用户发出的请求针对得到是不存在的记录,服务器没有进行操作,该操作是幂等的406 Not Acceptable - [GET]:用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)。410 Gone -[GET]:用户请求的资源被永久删除,且不会再得到的。422 Unprocesable entity - [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误。500 INTERNAL SERVER ERROR - [*]:服务器发生错误,用户将无法判断发出的请求是否成功。HTTP协议常用的请求方式有如下几种:HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。POST和GET都是向服务器提交数据,并且都会从服务器获取数据。区别:(1)传送方式:get通过地址栏传输,post通过报文传输(2)传送长度:get参数有长度限制(受限于url长度),而post无限制(3)GET产生一个TCP数据包(对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200返回数据),POST产生两个TCP数据包(对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok返回数据)(4)get请求参数会被完整保留在浏览历史记录里,而post中的参数不会被保留(5)在做数据查询时,建议用GET方式;而在做数据添加、修改或删除时,建议用post方式请求报文:一个HTTP请求报文由请求行(Request Line)、请求头(Header)、空行(Blank Line)和请求体(Body)4个部分组成。响应报文:HTTP响应报文和请求报文的结构差不多,由状态行、响应头、空行、响应体4个部分组成。是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。即我们给服务器发送 HTTP 请求之后,服务器根据请求,会给我们发送数据过来,但是,发送完,不会记录任何信息。解决方案:通过cookie和session来保持状态。请求body;请求url+请求body:Content-type:application/x-www-form-urlencoded: 表单提交--键值对, formmultipart/form-data:文件上传---文件 ,MIMEapplication/json,text/xmlhttp协议目前有4个版本(0.9,1.0,1.1,2.0),其中1.0、1.1版本在互联网上被广泛使用,2.0版本目前应用很少,是下一代的http协议。1.存储位置不同:Cookie 是将用户数据通过加密的方式保存在客户端,大多数情况 Cookie 存储在浏览器;Session 是用于控制客户端和服务端的连接,Session 存储在服务器;2.存储容量不同:单个 Cookie 保存的数据不得超过 4kb,一个站点最多 20 个 Cookie,Session 一般情况下没有上限,不过建议不要存放太多东西,否则影响性能;3.存取方式不同:Cookie 只能用 ASCII 字符串,通过编码方式获取 Unicode 字符或者二进制数据,不好存储复杂的信息,而 Session 能存储任何类型的数据;4.隐私策略/安全性不同:Cookie 放在客户端,可以进行 Cookie 欺骗,所以不安全,Session 放在服务端,更加安全;5.有效期不同:Cookie 可以设置属性达到长期有效,Session 依赖于 JSESSIONID 的 Cookie,Cookie JSESSIONID 的过期时间默认为-1,只需要关闭窗口 Session 就会失效,就算不依赖 Cookie,用 UrL 重写也不能完成,如果 Session 超时时间过长,容易导致内存溢出;6.服务器压力不同:Cookie 保存在本地,不存在服务端压力,Session 保存在服务端,每个用户产生一个 Session,当访问增多,会比较占用服务器的性能,如果主要考虑到减轻服务器性能方面,应当使用 Cookie;7.浏览器支持不同:如果浏览器禁用 Cookie,那么 Cookie 直接失效,Session 比较好点,可以用 URL 重写;8.Cookie 和 Session 应用的场景:Cookie 一般用于记住用户的登录状态,如记录用户的习惯,购物车;而 Session 用于登录验证。https在应用层。会话层为7层协议的第五层,为表示层提供建立、维护和结束会话连接的功能,并提供会话管理服务。在浏览器中输入URL并回车后,主要发生以下步骤:解析URL,获取要访问的域名DNS域名解析,根据访问的域名获得目标服务器的IP地址浏览器与服务端三次握手建立TCP连接连接建立成功之后就可以发送HTTP请求报文以及服务器返回HTTP响应报文断开TCP链接浏览器解析响应报文,渲染页面

Postman接口测试之:Postman实现接口请求(1)
课程实例使用的url地址汇总: 开源接口部分:https://api.apiopen.top/api.html1、获取时间get接口http://poetry.apiopen.top/getTime2、网易新闻post接口https://api.apiopen.top/getWangYiNews3、百度ip接口https://sp1.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?query=12.12.12.12&co=&resource_id=5809&t=1636461955537&ie=utf8&oe=gbk&cb=op_aladdin_callback&format=json&tn=baidu&cb=jQuery110206769724197850711_1636461449011&_=1636461449013电商项目部分: 电商网站:http://www.testingedu.com.cn:8000/4、电商登录接口:http://www.testingedu.com.cn:8000/index.php?m=Home&c=User&a=do_login&t=0.98064054709781725、文件上传接口 :http://www.testingedu.com.cn:8000/index.php/home/Uploadify/imageUp/savepath/head_pic/pictitle/banner/dir/images.html自动化平台项目:平台网站:http://39.108.55.18/mypro/#/login6、平台登录接口:http://39.108.55.18/mypro/api/user/loginToken接口项目:Token项目网站:http://www.testingedu.com.cn:8081/inter/7、Token项目 SOAP接口:http://www.testingedu.com.cn:8081/inter/SOAP?wsdl1、 Postman 安装之后, 可以进行一下更新。使用的时候最好可以注册一个账号。先创建一个workspace,用于管理接下来使用过程中产生的内容。2、接口测试的基本流程: 本质就是抄。1、了解接口信息 : 由开发提供接口文档, 或者通过抓包来获取接口报文信息。2、 设计测试用例3、 执行测试用例: 用postman等工具执行。 请求发包。4、验证返回结果。3、 HTTP协议接口报文: 理解成寄快递。接口报文分为请求和返回,格式其实是相同的。请求请求四要素: http方法 、url地址、请求头 、请求体。请求行: http方法(邮寄方式) url(地址) http协议版本请求头: 键值对格式 ,键:值 用换行分割的方式。 (快递单)除了特殊指定的要填的请求头以外,注意 post请求 需要关注content-Type请求头,表示的是请求体的编辑格式。(快递的运输方式 常温/冷冻)常见的content-Type类型:application/x-www-form-urlencoded: url编码格式: 键=值&键=值application/json: json格式字符串:{"键":值,"键":值}postman选 raw格式之后,下拉栏选择json注意:复制json格式的请求体的时候,如果从浏览器开发者工具中复制,记得确认键必须带双引号。最好view source 之后再复制。multipart/form-data: 用于进行文本和文件的混合传递。 完成文件上传。选择posmtna中的 form-data进行参数填写。注意: Name空格中,可以选择下拉 file或者text。文件用file上传,文本用text上传。text/xml: 用xml格式来进行传递。 <键>值键>选择 body中的 raw格式 ,下拉栏用xml进行填写:注意:content-type postman会默认使用 application/xml,需要自己确认,到底是text/xml还是application/xml,如果不对,进行修改,最后是直接去掉原有的,加一个新的content-type头。请求体 : 请求头之后空一行 ,之后的就是请求体。 (寄的东西)返回返回行:http协议版本 HTTP状态码(物流状态) 状态码描述返回头: 键值对格式 ,键:值 用换行分割的方式。 (快递单)返回体 :返回头之后空一行,就是返回体 (对方寄回的东西)返回:重点验证返回体。4、http协议抓包:使用浏览器开发者工具抓包:在网页上右键检查,或者按下F12,打开开发者工具,切换到network 界面。注意:记得勾选 preserve log。请求体中:request payload (json格式、xml格式和普通文本) 和form data (文件和x-www-form-urlencoded格式)使用 fiddler /charles 等http抓包工具抓包:在fiddler菜单右侧,用inspector 选项进行查看,选raw(原始)格式能够直观看到报文格式。http是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。http协议是基于url地址的资源请求协议5、用postman发送报文请求:1、http 方法 和 url 进行填写。 注意 url中最后带上的空格也会有影响,所以千万注意。2、请求头一般先不做过多关注,先用默认的,除非有明确的说明需要设置某个请求头。3、请求体在postman 请求栏的body中进行设置。选择相应的content-type格式进行编辑,可以自动设置,不用自己设置 请求头中的 content-type。6、unicode编码: u 4位16进制数,用于表示某个特殊的字符。例如:u7f8eu56fdu963fu62c9u65afu52a07、get和post的核心区别:get方法,通常不带请求体。而post方法可以携带请求体。 END

想做一名软件测试工程师应该掌握哪些技能?
01 软件测试理论 作为一个软件测试人员,总不能不知道软件测试本身的东西吧。你总要知道软件测试是什么?什么是测试用例?什么是缺陷?软件测试有些什么特点?这些仅仅是理论,还不关心会不会做。再比如软件测试的定义,软件测试是测试程序?还是测试文档?还是测试软件等?02 软件测试流程如果要清楚软件测试流程,那就一定要知道软件工程、软件生命周期、研发模型、测试模型。模型又有经典的瀑布模型、目前最流行的敏捷开发流程、V模型、W模型、X模型、H模型等,这些模型至少要随便知道三四种吧除了这些,还需要知道在测试流程每个阶段都要相应地做些什么事吧。03 测试文档软件测试是技能型工作,不是研究型工作,了解了软件测试理论之后,你总会要做点东西吧,比如写写文档。软件测试人员必备技能之一就是写文档,会总结。软件测试有很多文档要写,比如测试计划、测试方案、测试用例、提交bug单、测试报告,有时每个迭代完全后,老大还会要求你输出几份经验文档出来,可见会写文档的测试人员是多么的必要。04 计算机基础软件测试工程师怎么说也算是IT人员,计算机基础总要会吧。不然让你关个服务,你迷茫……让你配置个环境变量,你再迷茫……让你安装软件,卸载个软件,你搞半天,安装的软件全在C盘,卸载软件完全没卸干净,重装不成功,然后你再再迷茫……让你在DOS命令窗口查个IP,然后再配个静态IP,你再再再迷茫………………计算机基础是软件测试人员必备的技能之一。05 软件、工具作为一个IT人员,你好意思说自己不会几个软件么?那我们就一起盘点盘点,软件测试人员必须要会的软件:office办公软件就不说了,软件测试要写这么多文档,office办公软件一定要会。需求分析时,拆会测试点时,总要画一下思维导图,所以XMIND或其它思维导图软件总要会一个吧。配置管理工具,不管是以前的SVN还是现在流行的git总要会一个。远程连接工具,数据库和服务器基本都是配置机房,所以数据库和服务器的远程连接工具都要会,你总不能跑到机房去操作吧,如果你跑到机房去操作,那一定记得带台显示器去。碰到不会的,总要查一下度娘和谷叔吧,你不会说这个人人都会,千万别这样!要不然怎么会有相同的问题,别人就能快速找到解决方法,而你搜索出来的网页总是找不到呢?06 数据库不管是MySQL,还是Oracle,还是SQLServere,还是DB2等等,数据库的特性、性能和优化可能不用知道,但是SQL语言总要会吧,谁让它们都认识SQL语言呢。SQL语言又会为DDL、DML、DQL、DCL。数据定义语言(DDL):用于下定义和管理数据对象(库,表,索引,视图),包括数据库,数据表等,例如:CREATE DROP ALTER等语句。数据操作语言(DML):用于操作数据库对象中包含的数据,例如:INSERT UPDATE DELETE语句。数据查询语言(DQL):用于查询数据库对象中包含的数据,能够进行单表查询,连接查询,嵌套查询,以及集合查询等各种复杂不同的数据库查询,并将数据返回到客户机中显示,例如:SELECT语句。数据控制语言(DCL):用于管理数据库的语言,包含管理权限及数据更改,例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句。就算软件测试人员不需要关心数据库结构,可以不用DDL、DCL,但是针对数据(增、删、改、查)的DML、DQL语言一定要会吧。就算你说INSERT、UPDATE、DELETE语句都很简单,照着格式直接使用就行,那SELECT呢。SELECT语句不仅有简单查询,还有复杂查询。复杂查询中包含多表查询、连接查询、子查询,以及包含各种函数进行的查询。这些语句软件测试人员都要掌握吧。07 LINUXLinux做为做为服务器的操作系统,软件测试人员需要经常在LINUX上进行搭建测试环境。如果你说公司的测试环境都是开发搭的,系统和软件是运维装的,不用了解Linux系统。那你就大错特错了。如果测试过程中,运行报错了,总需要在后台去看看日志吧,分析下是不是BUG,如果是BUG,总还需要定位一下吧。如果Linux系统很卡时,你总要去查下进程,查下系统资源管理,或者杀死几个进程,重启下服务什么的。那这些命令软件测试人员总都要会吧。如果你说这些还都可以依靠开发和运维,那你就当我没说。08 编程语言既然是IT人士,如果出去说自己不会一门编程语言,好像很没面子一样的。目前世面上编程语言有C、C++、C#、世界上最好的语言(PHP)、JAVA、Perl、Python等等上百种,那你总要选一门语言学会使用。一般情况下都是选公司系统目前所用的语言。但如果不知道怎么选,那我建议软件测试人员可以选JAVA和Python,JAVA经久不衰定有它过人之处,Python能在这么短的时间内火起来,也一定是有原因的。如果没有任何编程基础,建议先学Python,Python更加贴近自然语言,学起来更顺手,更快。09 行业软件测试有一条原则是:测试活动依赖于测试内容。那这个测试内容就是公司业务,在成为业务之前,俗称需求。经常在JD中看到有支付行业经验优先,有金融行业经验优先,有电信行业经验优先,有电商行业经验优化……为什么会这样呢?那是因为测试人员一定需要了解业务,熟悉业务。从事电信行业的测试人员需要掌握各类协议,比如HTTP协议、TCP/IP协议,还有可能需要熟悉交换机和路由器的原理。从事金融行业的测试人员需要熟悉各种会计知识。如果是测试嵌入系统的测试人员还需要了解硬件知识。 软件测试人员需要非常熟悉所测软件的业务,比谁都要熟悉。
第一阶段 测试基础测试基础是软件测试最最最重要的部分,只要你是做测试,不管是什么测试,测试的基础、理论知识都是必须学会的。最好学到什么程度呢,最好是能够理解,并能够用自己的话给复述出来。毕竟面试初级测试的时候,问的问题都是从基础理论上进行考核的。第二阶段 工具学习软件测试的基础学完了过后,应该学习工具了。其实学工具真的很容易,所以大家不用去纠结工具的选择。把最基础的几个工具学习了就行了,以后用到什么工具就去学什么。下面我会列几个必学的工具,不用太精通,会用就行了。性能测试工具:loadrunner、jmeter。接口测试工具:postman抓包工具:fiddle数据库管理工具:Navicat项目/BUG管理工具:禅道、QC搜索工具: 百度、谷歌以上的这些工具都是纯图形化的,很好掌握,估计就性能测试工具稍微会费点时间。好了,学完了以上两个部分,恭喜你,你已经是一个出色的初级测试工程师了。接下来,你要考虑你的发展方向了。是成为一个自动化测试工程师呢?还是性能测试工程师呢?这个阶段,我们应该学习代码了,关于编程语言的选择,一般会选择Java或者python。还有数据库也是必须掌握的!不过不用像开发那样,学的那么深入,把基础的部分学完就行了。
⒈ 测试专业技能 测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主。测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。⒉ 软件编程技能软件编程技能实际应该是测试人员的必备技能之一,在微软,很多测试人员都拥有多年的开发经验。因此,测试人员要想得到较好的职业发展,必须能够编写程序。只有能够编写程序,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。此外,对软件测试人员的编程技能要求也有别于开发人员:测试人员编写的程序应着眼于运行正确,同时兼顾高效率,尤其体现在与性能测试相关的测试代码编写上。因此测试人员要具备一定的算法设计能力。依据资深测试工程师的经验,测试工程师至少应该掌握Java、C#、C++之类的一门语言以及相应的开发工具。⒊ 网络、操作系统、数据库、中间件等知识与开发人员相比,测试人员掌握的知识具有“博而不精”的特点,“艺多不压身”是个非常形象的比喻。由于测试中经常需要配置、调试各种测试环境,而且在性能测试中还要对各种系统平台进行分析与调优,因此测试人员需要掌握更多网络、操作系统、数据库等知识。在网络方面,测试人员应该掌握基本的网络协议以及网络工作原理,尤其要掌握一些网络环境的配置,这些都是测试工作中经常遇到的知识。操作系统和中间件方面,应该掌握基本的使用以及安装、配置等。例如很多应用系统都是基于Unix、linux来运行的,这就要求测试人员掌握基本的操作命令以及相关的工具软件。而WebLogic、Websphere等中间件的安装、配置很多时候也需要掌握一些。 数据库知识则是更应该掌握技能,现在的应用系统几乎离不开数据库。因此不但要掌握基本的安装、配置,还要掌握SQL。测试人员至少应该掌握Mysql、MSSqlserver、Oracle等常见数据库的使用。
1、要有宽泛的计算机知识,掌握测试专业技能 2、思维要敏捷;3、语言表述要清晰;4、你要有较好的编写代码的水平,最好是自己亲自独立完成过某软件的开发工作 5、需要对数据库有较为清楚的认识,以及会编写数据库脚本

软件测试需要会什么?难学吗?
第一步,测试基础:测试基础是软件测试最最最重要的部分,只要你是做测试,不管是什么测试,测试的基础、理论知识都是必须学会的。大概就包括:测试计划编写、设计测试用例、编写测试报告、编写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展开发向思维及拓展想像。任何一个测试最先面对的心理压力就是重复性的劳动。在你的测试生涯中,一定会碰见很多心理的考验,自己对于质量心里没有底、或者由于产品发布问题或者达到了测试瓶颈时候的困惑等。每个人都有自己的背景以及性格,往往对于测试来讲,就是考验心理素质的时候,这个时候就需要你自己不断地去克服这些心理
软件测试是一个入门简单、但深入难的工作
入门的时候只要会看懂中文、理解能力没问题就可以按照测试用例来执行用例了
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:希望你不要被我写的这么多东西吓到了、这些知识是在软件测试的进化过程中慢慢积累起来的、不是所有人都一开始就会了、你是计算机专业毕业的。那么计算机硬件、网络、操作系统、数据库什么的都应该在学校的时候有学到的、所以应该不是问题
最后:祝你好运
很多人想要学习软件测试却不得其法,分享软件测试学习路线,帮助大家快速入行软件测试。第一阶段为软件测试环境配置与管理,你需要熟练掌握在物理机、虚拟机、容器下的快速部署测试环境的方法,完成SVN文件配置服务器搭建、LAMP环境搭建配置管理、Linux内核配置与定制、Docker&K8S搭建部署,获得全栈测试工程师必备技能——测试环境配置管理能力。第二阶段为全栈测试数据管理与数据库测试,你要熟练掌握主流数据库管理系统(DBMS)中的数据定义、数据控制与数据操作方法,完成电商平台数据库设计、ERP系统数据库设计两大项目,最终目的是获得在互联网行业与金融行业进行测试时应当具备的数据使用能力与数据操作能力,同时获得在主流数据库中进行数据库测试的能力。第三阶段为Web栈测试技术,你要熟练掌握Web前端的必备测试开发方法,要完成垂直领域电商前台项目测试,最终获得简单Web测试开发的能力,具备Web手工测试与Web自动化测试的必备能力。第四阶段为全栈通用测试技术,你要熟练掌握全栈测试的测试方法、熟悉软件测试流程,要完成协同办公平台系统测试、电商平台系统测试、教育实践平台系统测试、用友金融平台系统测试,最终掌握全栈测试通用技术的能力,获得全栈测试必备能力。第五阶段为测试开发技术,你要熟练掌握面向对象必备开发技术,完成B2B电商平台后台开发项目,最终获得面向对象的初级编程能力,同时具备进阶自动化测试与性能测试的必备能力。第六阶段为移动栈测试技术,你要熟练掌握移动端手工测试与自动化测试方法,要完成Android App测试项目,最终获得在移动端进行各项测试的能力,掌握主流移动端自动化测试工具的熟练使用能力。第七阶段为Web栈自动化测试技术,你要熟练掌握自动化测试框架构建与自动化测试脚本开发方法,熟练运用主流测试工具完成高效的自动化测试,要完成人力资源管理系统自动化测试,最终获得自动化测试的能力,掌握主流自动化测试工具的熟练使用能力,具有独立完成自动化测试脚本开发的能力。第八阶段为高级自动化测试技术,你要熟悉性能测试方法,熟练运用主流测试工具进行接口测试。要完成慕课(MOOC)系统性能测试、跨平台系统接口测试,最终获得性能测试、接口测试的必备能力,掌握性能测试与接口测试的高阶测试技术。行业前景好:PC软件、互联网软件、手机软件、嵌入式软件、硬件等,都需要测试,只要有软件和硬件,就需要测试,现在市场上专业性强的软件测试工程师又比较稀少,软件测试发展前景好。
软件测试都学习什么 软件测试都学习什么?你至少得学会一门语言。会一门编程语言是必要,会哪一门取决于你用的工具类型。QTP用VBS,Selenium用的比较多java/C#/ruby/python等,SilkTest用java/4test。软件测试课程就安排了Python、Java的编程语言学习,适合没有基础的人学习。对于自学的人而言,你要知道:好高骛远是许多初学者的通病,总幻想自己发疯似地努力几天或几个月就成为"高手",正是由于自己的这种好高骛远的"雄心壮志",往往给自己定下一些不切合实际的太多的目标,比如:"这个月学汇编,下个月学C语言,再下个月学C++,然后进入VC++集成开发环境做开发。",结果到头来经过几个月的努力,却发现与原定的目标相去甚远,激情和信心也没有了,而且什么都没学好。其实并不是因为你笨,学习能力不强,而是太心急了,看看身边的高手们,哪一个不是至少有几年功力的酝酿的?如果你觉得自己很聪明,但请记住这句话:"天下的聪明人太多了,你想在三到五年就把别人十年做的事情做一遍,那你也一定会把别人在十年中所受的苦难在这三到五年中经历一遍。"首先你要明白为什么要学软件测试。软件测试的重点是什么。然后在去了解市场上的软件测试培训机构各自的优劣势,比如他是不是软件测试擅长专业(很多机构之前擅长培训其他,如语言,然后后面看到同行做再加入的测试),开班多久,毕业学员的情况,价格,相应政策,活动等多维度比较,选择适合自己,或自己较为满意的。很多机构可以参观试学习的,可去体验,然后向正在机构内的学员多打听下。也可以在论坛或群里向毕业的学生了解。总之,不要太相信机构的宣传和学员的回馈评价,因为都是片面的,要学会多比较分析,适合自己的才是最好的。 关键词:软件测试都学习什么
软件测试难不难看跟谁比,看谁学。跟开发比,在IT技术行业里面,软件测试算是比较简单的,因为初期对代码的要求不高至于你说的要学那么多东西,你可以去看看别的,学的可能更多,掌握起来可能更耗费精力。软件测试也是分阶段的,比如你只想做做功能测试,那很快就能学完,也不难,但是想要有发展,性能测试,白盒测试,自动化测试都需要有所掌握,所以看起来就很多。建议还要是根据自己的兴趣来选择,要不然再简单的,也很难坚持下去,最简单的例子就是我们平常上学时,总会有偏科现象,这就是你的兴趣爱好使然。

本文由 在线网速测试 整理编辑,转载请注明出处。