欢迎来到三人行教育网,代理招生网站!

铜仁切换城市

咨询热线 400-6169-615

位置:三人行教育网,代理招生网站 > 铜仁新闻资讯 > 铜仁教育新闻 > 铜仁教育要闻 >  昆山软件测试开发培训网站,欢迎咨询试学!

昆山软件测试开发培训网站,欢迎咨询试学!

来源:三人行教育网,代理招生网站

2023-02-06 19:49:10|已浏览:13次

昆山软件测试开发培训网站
软件测试从业人员的发展方向 十分广阔,IT互 联网、通信、 金融、电商等众多行业都对软 件测试工程师有很大的需求。
.


测试一个接口的面试题你知道吗?

http接口工具有很多如:postman、jmeter、soupUI、Java+httpclient、robotframework+httplibrary、Fidder+postman等
接口的种类和分类:webservice和http api接口
1)webservice接口是走soap协议通过http传输,请求报文和返回报文都是xm格式,可以通过jme、soapui工具进行测试;
2)http api接口是走http协议通过路径来区分调用的方法,请求报文格式都是key-value形式,返回报文一般是json串,常见的请求方式有get、post请求等;
1、什么是接口测试
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等
2、接口测试流程
需求讨论,需求评审,场景设计,编写用列,准备数据,执行测试
a)需求评审,熟悉业务和需求
b)开发提供接口文档(必须提供接口说明、url、请求方法、请求参数、参数类型、请求参数说明及返回参数说明)
c)编写接口测试用例
d)进行用例评审
e)提测后开始测试
f)提交测试报告
3、http协议get和post请求方式区别
get请求:从指定的服务器中获取数据,直接在浏览器里输入就可以获取信息
post的请求:提交数据给指定的服务器处理,可以向服务器发送修改请求,从而修改服务器的,需要借助测试工具;
4、做接口测试如何分析是前段还是后端的问题?
如果发送的数据是正确的,但是后台反馈的数据是不符合需求的,那就是后台的问题;如果前端没有请求接口,或者请求的时候发送数据与需求不符,那这个时候就是前端的问题了
5、session和cookies区别?
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。
2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session。
3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用COOKIE。
4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
5、所以个人建议:
将登陆信息等重要信息存放为SESSION
其他信息如果需要保留,可以放在COOKIE中
6、怎么抓取HTTPS协议?
使用Fiddler抓取HTTPS协议主要由以下几步进行:
第一步,Fiddler截获客户端发送给服务器的HTTPS请求,Fiddler伪装成客户端向服务器发送请求进行握手 。
第二步,服务器发回相应,Fiddler获取到服务器的CA证书, 用根证书(这里的根证书是CA认证中心给自己颁发的证书)公钥进行解密, 验证服务器数据签名, 获取到服务器CA证书公钥。然后Fiddler伪造自己的CA证书(这里的CA证书,也是根证书,只不过是Fiddler伪造的根证书), 冒充服务器证书传递给客户端浏览器。
第三步,与普通过程中客户端的操作相同,客户端根据返回的数据进行证书校验、生成密码Pre_master、用Fiddler伪造的证书公钥**,并生成HTTPS通信用的对称密钥enc_key。
第四步,客户端将重要信息传递给服务器, 又被Fiddler截获。Fiddler将截获的密文用自己伪造证书的私钥解开, 获得并计算得到HTTPS通信用的对称密钥enc_key。Fiddler将对称密钥用服务器证书公钥**传递给服务器。
第五步,与普通过程中服务器端的操作相同,服务器用私钥解开后建立信任,然后再发送**的握手消息给客户端。
第六步,Fiddler截获服务器发送的密文, 用对称密钥解开, 再用自己伪造证书的私钥**传给客户端。
第七步,客户端拿到**信息后,用公钥解开,验证HASH。握手过程正式完成,客户端与服务器端就这样建立了”信任“。
在之后的正常**通信过程中,Fiddler如何在服务器与客户端之间充当第三者呢?
服务器—>客户端:Fiddler接收到服务器发送的密文, 用对称密钥解开, 获得服务器发送的明文。再次**, 发送给客户端。
客户端—>服务端:客户端用对称密钥**,被Fiddler截获后,解密获得明文。再次**,发送给服务器端。由于Fiddler一直拥有通信用对称密钥enc_key, 所以在整个HTTPS通信过程中信息对其透明。
7、HTTP和HTTPS协议区别?实现机有什么不同?
1. http是超文本传输协议,信息是明文传输;https是具有安全性的ssl传输协议。
2. http与https使用的是不同的连接方式,端口也一样,http默认端口是80;https默认端口是443;
3. http连接状态比较简单,是无状态的;https协议是由ssl+http协议组成的可进行传输、身份认证的网络协议。
8、在测试接口中怎么知道请求成功还是失败?
根据接口请求时接口的返回状态码来判断,状态码以4或5开头就可以视为请求失败
9、说出请求接口中常见的返回状态码?
1xx - 信息提示
2xx - 成功
3xx - 重定向
4xx - 客户端错误
5xx - 服务器错误(200.201.204.304.400.401.403.404.410.500.503)
10、怎么设计接口测试用例?
目的:测试接口的正确性和稳定性;
原理:模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做处理并向客户端返回应答,客户端接收应答的过程;
重点:检查数据的交换,传递和控制管理过程,还包括处理的次数;
核心:持续集成是接口测试的核心;
优点:为高复杂性的平台带来高效的缺陷监测和质量监督能力,平台越复杂,系统越庞大,接口测试的效果越明显(提高测试效率,提升用户体验,降低研发成本);
用例设计重点:通常情况下主要测试最外层的两类接口:数据进入系统接口(调用外部系统的参数为本系统使用)和数据流出系统接口(验证系统处理后的数据是否正常);
PS:设计用例时还需要注意外部接口提供给使用这些接口的外部用户什么功能,外部用户真正需要什么功能;
11、为什么要做接口测试?
因为不同端(前段,后端)的工作进度不一样,所以我们要针对最开始出来的接口,以及需要调用其他公司的(银行,支付宝,微信,qq等)
一些接口进行接口测试及验证数据,从安全层面来说,只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易),需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。前后端传输、日志打印等信息是否**传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等
12、做接口测试当请求参数多时,tps下降明显,此接口根据参数从redis中湖区数据,每个参数与redis交互一次,当一组参数是tps5133,五组参数时tps1169,多次交互影响了处理性能,如何改进?
tps就是每秒事务数,transaction per second。
吞吐量下降是可能因为频繁访问redis,而频繁访问redis的原因是参数过多,解决的思路很容易想到: 减少参数。
我们可以把多组参数变成json字符串之类的一个参数,从而达到信息量不减少而参数个数变少的效果。
13、接口的加密测试中对称加密和非对称加密有什么区别吗?如何展开测试?
对称加密: 信息交换的双方使用同一个密钥加密解密,就像是用同一把钥匙开一把锁
非对称加密
公开密钥加密(英语:Public-key cryptography),也称为非对称加密(英语:asymmetric cryptography),是密码学的一种算法,它需要两个密钥,一个是公开密钥,另一个是私有密钥;一个用作加密的时候,另一个则用作解密。使用其中 一个密钥把明文加密后所得的密文,只能用相对应的另一个密钥才能解密得到原本的明文;甚至连最初用来加密的密钥也不能用作解密。由于加密和解密需要两个不 同的密钥,故被称为非对称加密;不同于加密和解密都使用同一个密钥的对称加密。虽然两个密钥在数学上相关,但如果知道了其中一个,并不能凭此计算出另外一 个;因此其中一个可以公开,称为公钥,任意向外发布;不公开的密钥为私钥,必须由用户自行严格秘密保管,绝不通过任何途径向任何人提供,也不会透露给要通 信的另一方,即使他被信任。
基于公开密钥加密的特性,它还提供数字签名的功能,使电子文件可以得到如同在纸本文件上亲笔签署的效果
14、阐述接口测试和UI测试在测试活动中是如何协同测试的?
UI与接口测试的协同可以从下面的方向考虑
UI的操作实际上就是用另一种方式调用接口,那么接口有多少种参数组合就要求UI用例要构造多少种操作进行调用
UI操作所需要的数据可以用接口来生成
接口测试可以保证数据和逻辑的准确性,UI测试需要考虑交互和界面展示的逻辑正确性
UI测试需要重视接口调用不成功或者接口异常情况下UI的呈现方式和用户体验
UI中可能会有一些状态的缓存信息(这样就不需要每次频繁调用接口去获取了),比如鉴权信息等,需要重点关注这些缓存的更新策略
15、在手工接口测试或者自动化接口测试的过程中,上下游接口有数据依赖如何处理?
上下游接口的数据依赖无非就是准备测试数据。
假如一个事务需要顺序调用3个接口,A B C, C依赖于AB, 而AB有数据依赖,这时候就需要准备好A和B的数据。
数据一般有两种方式生成
动态方式:假如B依赖A创造的数据,那么每次执行B之前必须执行A去做数据创建
静态方式:独立统一的测试数据库, ABC需要的数据都可以从库里拿到
16、依赖第三方数据的接口如何测试?
依赖第三方就mock掉,可以自己写mock server
17、http接口测试和web service接口测试区别是什么?
省略
18、接口测试中依赖登录状态的接口如何测试?
依赖登录态,那么每次测试该接口之前都需要调用登录的接口
如果是jwt之类的token based auth的话,每次在调用接口时提供token就可以了
19、设计接口测试用例:设计的是电商系统,其中包括很多参数,如商品,商家,店铺等等,针对这些数据的修改,会设计到很多参数,如商品名称,商品尺寸,商品颜色等等。现在设计实现“修改”接口时,如何确定要传哪些参数呢?是只需要传入我要修改的参数还是全部参数?
修改的接口,也就是update的接口一般只需要传:被更新了的字段 以及 被更新实体的 主键 比如id。
这是开发常识,如果大家研究过jsonapi规格的话,可以直接套用jsonapi的设计进行阐述。
20、目前接口文档是有word格式管理,因迭代快,产生很多文档,分不清那些事不用的接口,那些是正在用的接口,那些是更新后的接口,文档杂乱,不方便管理,另外文档是word格式,不方便查询,如何管理?
swagger文档可以解决这个问题。()
swagger是我用过最好用的,只是编写相关的json比较麻烦,又不想集成在代码中。不过可以在网站(www.sosoapi.com)上在线表单方式编写swagger-ui对应的json哈,编辑简单而且可以在线预览和导入导出,挺方便的。达内软件测试培训学校励志语录:所谓梦想,是永不停息的疯狂。.
昆山软件测试开发培训网站



软件测试培训机构达内经典语录:命运总是光临在那些有准备的人身上。.
软件测试培训靠不靠谱?

很多人都发现随着互联网的发展,软件开发人员越来越多,各种软件也呈现爆炸式的增长,相比于程序员,软件测试人员少之又少,而且人们对软件的要求从“使用'转变成了“好用”,这些矛盾就造成企业对软件测试的需求明显增大,供大于求企业势必会给出高薪高福利来聘请人才,所以大家也渐渐认识到从事软件测试是一个不错的选择。
然而,目前学习软件测试技术只有自学,或者报培训机构两种方式,自学需要周期长,学到的知识也不系统,很容易错失机遇,因此报培训机构成了转行软件测试的最佳选择,但这些机构靠不靠谱?该怎么选择成为一个大问题,本文就来说说如何解决这个问题。
据我了解,很多大学都没有开设软件测试这个专业,所以基本没有科班出来的软件测试工程师,如果你问问周围测试人员,百分之九十都是从培训班出来的,剩下那一部分有可能是开发转行的,所以想要做个测试人员选择培训还是没问题的,问题就是要选择一个靠谱的机构,那么靠谱的应该怎样挑呢?
一般不靠谱的培训班规模比较小,他们打着小班课的幌子来招生,其实是他们没有是实力来承载众多学员,整个培训班里就那么几个老师,多数是培训机构的合伙人,先不论教的怎么样,很可能自身实际经验都没有多少。这样的老师出来教学只能是误人子弟。
不靠谱的培训班往往是不设置试听环境,即使有也会很短,因为群众的眼睛是雪亮的,时间长了很容易露馅。所以你只要要求试听并且同意让你去亲身体验的机构会比较可靠,试听一是检验机构是否正规,二是检验自己是否适应讲课的风格。
非现场教学的培训班,这种培训班往往都是当地没有教学老师却还招生,最后用远程视频讲课,或者一开始面授几节课,后面又用放视频的方式来授课,这种都是不靠谱的!所以在了解的时候一定要问清楚是不是面授,是不是全程面授,毕竟面授和视频课的效果相差甚远。
一个正规的培训机构肯定不止一批学员,多看看毕业的学员现在的就业情况或者咨询正在学习的学员了解一些学习情况,最后综合多方信息去选择一个最优解,要记住选择往往比努力更重要!软件测试培训机构达内经典语录:人生就像一块调色板,有明亮,也有灰暗,谁都希望五彩缤纷,有的结果并不尽然。。


昆山软件测试开发培训网站
软件测试培训网格言:抛弃时间的人,时间也抛弃他。——莎士比亚
。软件测试常见性能问题

性能测试大致分以下几个步骤:
需求分析
脚本准备
测试执行
结果整理
问题分析
今天要说的是最后一个步骤——“问题分析”;
需求描述
有一个服务,启动时会加载一个1G的词表文件到内存,请求来了之后,会把请求词去词表里做模糊匹配,如果匹配到了就向一个后端服务发送一条http请求,拿回数据之后,返回给客户端的同时,向mysql记录请求的唯一标识和一个请求次数的标记;
其中有几个关键函数
模糊匹配(fuzzyMatching)
后端请求函数(sendingRequest)
拼装请求函数(buildResponse)
记录mysql请求次数标记(signNum)
问题及分析
第一组:完全随机请求词,qps达到1k时,服务器未见异常,cpu、内存、带宽均未满,qps无法继续提升;
分析:由于此服务后端连接了其它服务,所以在压测之前,要确认后端服务不会成为瓶颈点,目前的状态很可能是后端服务限制了被测服务的性能;此时可以检查后端服务所在机器的各项指标,或者查看本机的连接状况,一般后端服务无法处理,而被测服务又会一直向后面请求的话,timewait状态的连接会变得比较多;
第二组:解决后端服务的问题后,第二组使用平均30个字的请求词,来打压,qps到400时,cpu load已满;
分析:这种情况明显是由于fuzzyMatching函数计算效率的问题导致cpu满载,从而无法提升qps,使响应时间不断增大,此时可以通过perf+火焰图来确定整个处理请求过程中响应时间长的函数;此时需要评估压测数据是否合理,如果线上平均请求词只有2个的时候,此组测试明显不合理,此时要开发进行性能优化就是浪费时间的;如果评估测试数据合理,可以再次更换短词数据进行压测验证猜测;
第三组:解决了上述两个问题之后,使用完全随机请求词,qps到达3k后降低至1k,然后再次提升到3k,如此反复;
分析:此时关注一下各项指标,排除了以上的问题的话,操作mysql慢的问题可能性大一些,对这种需要高并发的系统来说,直接读写mysql不是个聪明的解决方案,一般会用redis做一层缓存,这里说道的另一个问题就是开发设计不合理,导致的性能问题;
第四组:将后端换做真实的服务来做整体压测,发现qps最高只能到300,此时检查各项指标,发现入口带宽占满了;
分析:这次问题比较明显,后端服务返回内容过大,导致带宽被占满,此时依然需要评估需求:1、是否需要后端返回的所有数据内容;2、评估更换万兆网卡的性价比;3、是否可以通过技术手段优化带宽占用,比如把一次请求分散到多组服务的多个请求;
perf+火焰图定位函数问题
这里简单说一下如何使用perf+火焰图来直观的定位性能问题:
perf
Perf 拥有了众多的性能分析能力,举例来说,使用 Perf 可以计算每个时钟周期内的指令数,称为 IPC,IPC 偏低表明代码没有很好地利用 CPU。Perf 还可以对程序进行函数级别的采样,从而了解程序的性能瓶颈究竟在哪里等等。Perf 还可以替代 strace,可以添加动态内核 probe 点,还可以做 benchmark 衡量调度器的好坏。
使用举例:perf record -e cpu-clock -g -p 11110 -o data/perf.data sleep 30
-g 选项是告诉perf record额外记录函数的调用关系
-e cpu-clock 指perf record监控的指标为cpu周期
-p 指定需要record的进程pid
生成火焰图
1、第一步
使用压力测试工具对程序进行打压,压到程序拐点;
$sudo perf record -e cpu-clock -g -p 11110
Ctrl+c结束执行后,在当前目录下会生成采样数据perf.data.
2、第二步
用perf script工具对perf.data进行解析
perf script -i perf.data &> perf.unfold
3、第三步
将perf.unfold中的符号进行折叠:
./stackcollapse-perf.pl perf.unfold &> perf.folded
4、最后生成svg图:
./flamegraph.pl perf.folded > perf.svg
原生的perf可以直接定位C/C++的程序,通常编译debug版本的程序能看到更多的信息,java、go等语言可以通过各自定制的工具来生成,原理类似;通过火焰图可以轻松定位到哪个函数的处理时间最长,从而找到问题所在。软件测试培训网格言:深窥自己的心,而后发觉一切的奇迹在你自己。——培根。
昆山软件测试开发培训网站



达内软件测试培训温州中心地址:浙江省温州市鹿城区新城大道中通大厦二楼.
  • 相关阅读