热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python自动化面试题及答案,python简单编程面试题

python自动化面试题及答案,python简单编程面试题以下是经过整理的与接口自动化测试

  python自动化面试题及答案,python简单编程面试题

  以下是经过整理的与接口自动化测试相关的面试问题和观点。如有错误,欢迎留言区!

  1.你的理解是,什么是软件界面?回答:

  程序中的一个类或函数,在不同的模块之间传输或接收并处理数据。

  2.HTTP和HTTPS协议有什么区别?回答:

  Https协议需要向证书颁发机构(ca)申请证书,一般免费证书很少,所以需要一定的费用。

  Http是一种超文本传输协议,信息以纯文本形式传输。Https是基于SSL Http协议的加密传输和认证网络协议,比Http协议更安全。

  Http和https使用完全不同的连接方法和不同的端口。前者是80,后者是443。

  3.HTTPS在哪一层?回答:

  HTTPS位于应用程序应用层。

  4.收购和岗位的区别?a)向服务器提交数据和从服务器检索数据。

  差异:

  传输方式:get通过地址栏传输,post的长度通过消息传输:get参数有长度限制(url长度限制),post生成一个TCP数据包)。对于get模式下的请求,浏览器用http HHP server response 200返回数据))post是两个TCP包))浏览器先发送头,当服务器响应100 continue时,浏览器发送数据,服务器响应200 ok发送数据,添加、修改、删除数据时,建议用POST 5还是通用POST提交数据?回答:

  主要有四种方式。application/x-www-form-urlencoded、multipart/form-data、application /JSON、text /XML等。

  6.什么是Http协议无状态协议?如何解决HTTP协议的无状态协议;

  无状态意味着协议没有用于事务的内存,并且服务器不知道客户端的状态。也就是说,我们向服务器发送HTTP请求后,服务器会根据请求发送数据,但发送后什么也不会记录。HTTP是一个无状态协议,这意味着每个请求都是独立的,Keep-Alive不能改变这个结果。无状态意味着如果后续处理需要之前的信息,需要再次发送,每个连接传输的数据量可能会增加。另一方面,如果服务器不需要以前的信息,它会快速响应。HTTP的这个特性有利有弊。好处是可以释放服务器,不会在每个请求的“时间点”占用不必要的连接。缺点是每个请求都会传输大量重复的内容信息。客户端和服务器动态交互的web APP应用出现后,HTTP的无状态特性严重阻碍了这些APP应用的实现。毕竟,谈话只是过去和未来之间的一个纽带。一个简单的购物车程序还需要知道用户之前选择了什么样的商品。因此,产生了两种维护HTTP连接状态的技术。一个是COOKIE,另一个是会话。

  7.COOKIE和session有什么区别?回答:

  COOKIE数据存储在客户端的浏览器中,会话数据存储在服务器上。

  饼干不安全。其他人可以分析本地存储的COOKIE并实施COOKIE欺诈。为了安全起见,必须使用会话。

  在服务器上保存会话一段时间。当访问增加时,服务器的性能相对被占用。必须使用COOKIE来降低服务器性能。

  存储在COOKIE中的数据不能超过4K。许多浏览器限制一个站点最多存储20个COOKIE。

  您可以将登录信息等重要信息保存为会话;其他信息需要保存,可以放入COOKIE中。

  8.请求接口的常见返回状态代码是什么?回答:

  1xx信息提示(提供初始响应。客户端在接收正常响应之前准备好接收一个或多个1xx响应)

  2xx成功(表示服务器成功接受了客户端请求))

  3xx-重定向(客户端浏览器需要做更多的工作来完成请求。例如,浏览器可能需要请求服务器上的不同页面,或者通过代理服务器重复请求。)

  4xx-客户端错误(发送错误,客户端有问题。例如,请求一个客户端不存在的页面,但是客户端没有提供有效的id凭证。)

  5xx-服务器错误(由于出现错误,服务器无法完成请求)。

  的常见返回代码如下:

  00 OK-[GET]:服务器正常返回用户请求的数据。

  01created-[post/put/patch]:用户成功创建或修改了新数据。

  02 accepted-[]:表示请求在后台队列中(异步任务)

  04无内容-[删除]:用户成功删除数据。

  00无效请求-[post/put/patch]:用户请求错误,服务器没有创建或修改新数据。

  41未授权-[]:表示用户没有权限(错误的令牌、用户名和密码)

  03禁止-[]:表示用户已被允许,但禁止访问(针对401错误)。

  44非基本-[]:

  用户的请求是为了获取一条不存在的记录,服务器不操作,这是幂等的。

  46不可接受-[GET]:用户请求的格式不可用(例如,用户请求JSON格式,但只有XML格式)

  00内部服务器错误-[*]:服务器出现错误,用户将无法判断发出的请求是否成功。

  9.什么是DNS?答:

  DNS是域名系统。DNS用于域名解析。你在线输入网址后,它会将其转换成IP,然后访问对方服务器。不是,你要去百度就得记住百度的IP,但是有了DNS处理,你只需要记住对应网站的域名,也就是网址。

  10.你们公司是怎么做接口测试的?答:

  接口测试实际上是测试用例的设计部分,不同于一般的测试。

  获取接口规范。

  设计接口测试功能用例(主要从用户角度看接口是否能满足业务需求,用例设计就是黑盒用例)。

  各种参数的验证(正常情况下,异常情况包括输入参数数量和类型不正确,可选/必选,考虑参数互斥或相关)。

  接口返回值的各种验证(满足接口文件要求)

  理解接口实现逻辑,实现逻辑覆盖(语句/条件/分支/决策/…)

  接口是否可以并发执行,是否安全,性能是否满足要求?

  使用工具或自编代码验证。

  发现问题时,与功能测试相同。报纸报道bug,跟踪状态的跟踪状态。

  11.如何设计界面测试用例?答:

  通常,在设计接口测试用例时,需要考虑以下几个方面:

  前提条件是否满足。

  有些接口需要满足前提条件才能成功获取数据。常见的,需要登录令牌。

  逆向用例:根据前提条件(假设N个条件)是否满足,设计0~n个用例。

  是否携带默认参数?

  前向用例:所有带有默认值的参数都没有被填充,也没有被转移到参数中。所有必需的参数都正确填写,并且具有现有的“常规”值,其他参数没有填写。设计了一个用例。

  业务规则和功能需求

  这里根据时间情况和接口参数,可能需要设计N个正向用例,反向用例。

  参数是必需的吗?

  反向用例:对于每个必需的参数,设计一个具有空参数值的反向用例。

  参数之间有关联吗?

  有些参数是相互制约的。

  参数数据类型限制

  反向用例:为每个值类型不匹配的参数设计一个反向用例。

  参数数据类型本身的数据范围值的限制

  正向用例:对于所有参数,设计一个正向用例,其中每个参数的参数值都是数据范围内的最大值。

  12.你做界面测试。你测试什么?答:

  可用性测试

  按照约定的协议、方法、格式内容,向接口传输数据,处理后返回预期结果:

  接口是否正确实现;

  返回值测试——返回值在内容和类型上要正确,以保证调用者能够正确解析;

  参数边界值和等价类检验;

  和错误处理测试。

  输入异常值(空值、特殊字符、超出约定长度等。),并且接口能够正确处理它们并按预期响应;

  如果输入了错误的参数,界面可以正确处理,并按预期响应;

  输入或多或少的参数,界面能正确处理并按预期响应;

  错误数据格式测试(比如用表单格式写的json格式);

  安全测试主要指数据传输的安全性:

  敏感数据(如密码和密钥)是否加密;

  返回数据是否包含敏感数据,如用户密码、完整的用户银行帐户信息等。

  接口是否对传入数据进行安全检查,如ID加令牌;

  接口是否防止恶意请求(如大量伪造请求接口导致服务器崩溃);

  性能测试,如接口的响应时间、并发处理能力和压力测试处理;

  并发请求同一个接口(尤其是POST请求),以及接口的处理(比如插入同一个记录,导致数据错误和系统故障);

  界面的响应时间在用户可容忍的范围内;

  对请求量大的接口做压力测试,判断最大瓶颈是否满足当前业务需求;

  13.你通常用什么工具来测试接口?答:常用的http协议接口测试工具,如postman、fiddler、jmeter;web界面使用SoapUI、jmeter等。

  14.如果没有接口文档,做接口测试?这个问题主要考情商,通俗点说就是忽悠的能力。先忽悠一下面试官。如果进去了,也是盲测。做好随时拿锅回去的准备。当然你肯定回答不了面试官的意外(心理mmp,笑脸),然后就该拉小腿了。

  回答:用抓包工具抓取界面,然后针对性的测试;如果接口字段信息不清楚,找时间集中寻求开发解决方案。(提琴手、查尔斯等。常用来抓包)

  15.在手动接口测试或自动接口测试过程中,如何处理上下游接口的数据依赖?答:使用全局变量处理依赖数据,比如登录后返回token。其他接口需要这个令牌,所以使用全局变量来传递令牌参数。

  16.如何测试依赖第三方数据的接口?甲:嘲笑

  然后面试官会问你是不是mock,然后你继续沿着坑挖,建立mock服务。请参考这个http://www.51ste.com/share/det-485.html.

  17.在界面测试中,如何测试依赖于登录状态的界面?答:登录状态依赖接口的本质是每次发送请求都需要带一个session或者COOKIE才能发送成功,在构建POST请求的时候添加必要的session或者COOKIE。

  18.如何模拟弱网络进行测试?回答:Fiddler和charles都能模拟弱网测试。一般来说,模拟丢包也就是模拟弱网测试。详情见《几种弱网模拟方法,总有一种适合你》。

  19.你在接口测试的过程中发现了哪些bug?面试官问这个问题主要是想知道你有没有实际做过接口测试。毕竟现在很多小伙伴的简历都被包装了(不包装就没办法面试,为了生存可以理解)。

  答:

  例程错误、接口未实现、结果未按约定返回、边界值处理错误等。

  输入异常值(空值、特殊字符、超过约定长度等。),接口抛出错误,没有做封装;

  参数输入不正确,输入多,输入少,可能接口错误;

  安全问题,如明文传输、返回结果中的敏感信息、不验证用户身份信息、不拦截恶意请求等。

  性能问题,比如接口并发插入多个相同的操作,响应时间过长,接口压力测试瓶颈等。

  20.当一个接口出现异常时,如何分析异常?答:

  先抢包,用fiddler(charles)工具抢包,或者浏览器上的F12调试工具抢包;在APP上,然后用Fiddler做代理,通过你的手机设置一个代理,看请求和返回消息;

  检查后端日志,比如Linux系统通过xhell连接服务器,检查接口日志看有没有错误信息(命令:tail -f log文件);

  21.如何分析一个bug是前端还是后端?答:

  提到bug,前端开发和后端开发总是扯皮,互不承认是对方的bug。

  这种情况很好判断。首先,抓取数据包并查看请求消息。查看接口文档,看看请求消息是否有问题。如果有问题,是前端发的数据不对。

  请求消息没有问题,所以看看返回消息,返回的数据是

  22.你做界面测试自动化吗?答:现在对于大量的应用,广泛提倡接口测试的自动化,维护成本低,利润高。常用的工具有很多,比如Jmeter,Robot Framework,pytest等。

  愿你我相遇,有所得!在这里,点击q-q-u-n:获得一份软件测试工程师面试书文档的副本。并且相应的学习资料和教程都是免费分享的!



推荐阅读
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
    本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ... [详细]
  • .NetCoreWebApi生成Swagger接口文档的使用方法
    本文介绍了使用.NetCoreWebApi生成Swagger接口文档的方法,并详细说明了Swagger的定义和功能。通过使用Swagger,可以实现接口和服务的可视化,方便测试人员进行接口测试。同时,还提供了Github链接和具体的步骤,包括创建WebApi工程、引入swagger的包、配置XML文档文件和跨域处理。通过本文,读者可以了解到如何使用Swagger生成接口文档,并加深对Swagger的理解。 ... [详细]
  • 1.Listener是Servlet的监听器,它可以监听客户端的请求、服务端的操作等。通过监听器,可以自动激发一些操作,比如监听在线的用户的数量。当增加一个HttpSession时 ... [详细]
  • 现在比较流行使用静态网站生成器来搭建网站,博客产品着陆页微信转发页面等。但每次都需要对服务器进行配置,也是一个重复但繁琐的工作。使用DockerWeb,只需5分钟就能搭建一个基于D ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 【爬虫】关于企业信用信息公示系统加速乐最新反爬虫机制
    ( ̄▽ ̄)~又得半夜修仙了,作为一个爬虫小白,花了3天时间写好的程序,才跑了一个月目标网站就更新了,是有点悲催,还是要只有一天的时间重构。升级后网站的层次结构并没有太多变化,表面上 ... [详细]
  • POCOCLibraies属于功能广泛、轻量级别的开源框架库,它拥有媲美Boost库的功能以及较小的体积广泛应用在物联网平台、工业自动化等领域。POCOCLibrai ... [详细]
  • struts2重点——ValueStack和OGNL
    一、值栈(ValueStack)1.实现类:OGNLValueStack2.对象栈:CompoundRoot( ... [详细]
  • 【技术分享】一个 ELF 蠕虫分析
    【技术分享】一个 ELF 蠕虫分析 ... [详细]
  •  项目地址https:github.comffmydreamWiCar界面做的很难看,美工方面实在不在行。重点是按钮触摸事件的处理,这里搬了RepeatListener项目代码,例 ... [详细]
  • centos php部署到nginx 404_NodeJS项目部署到阿里云ECS服务器全程详解
    本文转载自:http:www.kovli.com20170919ecs-deploy作者:Kovli本文详细介绍如何部署NodeJS项目到阿里云ECS上, ... [详细]
  • docker安装到基本使用
    记录docker概念,安装及入门日常使用Docker安装查看官方文档,在"Debian上安装Docker",其他平台在"这里查 ... [详细]
  • SQLiLabs靶场的介绍、下载与安装
    介绍SQLi-Labs是一个专业的SQL注入练习平台下面的测试场景都支持GET和POST两种注入方式:1.报错注入(联合查询)1)字符型2)数字型2.报错注入(基于 ... [详细]
author-avatar
mobiledu2502926037
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有