接口测试笔试题分享

1、做接口测试当请求参数多时tps下降明显,此接口根据参数从redis中获取数据,每个参数与redis交互一次,当一组参数是tps5133,五组参数是tps1169,多次交互影响了处理性能,请详细阐述如何改进增进效果的方案?

tps就是吞吐量,transaction per second。吞吐量下降是可能因为频繁访问redis,而频繁访问redis的原因是参数过多,解决的思路很容易想到:减少参数。我们可以把多组参数变成json字符串之类的一个参数,从而达到信息量不减少而参数个数变少的效果。

2、接口的加密测试中对称加密与非对称加密有什么区别?如何开展测试?请详解。

对称加密:信息交换的双方使用同一个密钥加密解密,就像是用同一把钥匙开一把锁。  非对称加密:公开密钥加密,也称非对称加密,是密码学的一种算法,他需要两个密钥,一个是公开密钥,另一个是私有密钥;一个用作加密的时候,另一个用作解密。使用其中一个密钥把明文加密后所得的密文,只能用对应的另一个密钥 才能解密得到原本的明文;甚至连最初用来加密的密钥也不能用作解密。由于加密和解密需要两个不同的密钥,故被称为非对称加密;不同于加密和解密都使用同一个密钥的对称加密。显然两个密钥在数学上相关,但如果知道了其中一个,并不能凭此计算出另外一个;因此其中一个可以公开,称为公钥,任意对外发布;不公开的密钥为私钥,必须由用户自行严格秘密保管,绝不通过任何途径向任何人提供,也不会透露给需要通信的另一方,即使他被信任。基于公开密钥加密的特性,它还提供数字签名的功能,使电子文件可以得到如同在纸本文件上亲笔签署的效果。如何测试?略

3、请详细阐述接口测试和UI测试在测试活动中是如何协同测试的?

UI与接口测试的协同可以从下面的方向考虑:1)、UI的操作实际上就是用另一种方式调用接口,那么接口有多少种参数组合就要求UI用例要构造多少种操作进行调用。2)、UI操作所需要的数据可以用接口来生成。3)、接口测试可以保证数据和逻辑的准确性,UI测试需要考虑交互和界面展示的逻辑正确性。4)、UI测试需要重视接口调用不成功或者接口异常情况下UI的呈现方式和用户体验。5)、UI中可能会有一些状态的缓存信息(这样就不需要每次频繁调用接口去获取了),比如鉴权信息等,需要重点关注这些缓存的更新策略。

4、在手工接口测试或者自动化接口测试的过程中,上下游接口有数据依赖如何处理?

上下游接口的数据依赖无非就是准备测试数据。假如一个事务需要顺序调用3个接口,A B C,C依赖于AB,而AB有数据依赖,这时候就需要准备好A和B的数据。数据一般有两种方式生成。1)动态方式:假如B依赖A创造的数据,那么每次执行B之前必须执行A去做数据创建。2)、静态方式:独立统一的测试数据库,ABC需要的数据都可以从库里拿到

5、依赖于第三方数据的接口如何进行测试?

依赖第三方就mock掉,可以自己写mock server。

6、接口测试中依赖登录状态的接口如何测试?

依赖登录状态,那么每次测试该接口之前都需要调用登录的接口。如果是jwt之类的token based auth 的话,每次在调用接口时提供token就可以了。

7、设计接口测试用例时,设计的是电商系统,其中包括很多修改,如商品、商家、店铺等等,针对这些数据的修改,会涉及到很多参数。如商品的名称、商品的尺码、商品的颜色等等,那在设计实现“修改”接口时,如何确定要传哪些参数?是只需要穿我要修改的参数,还是全部参数都要传?

修改的接口,也就是update的接口一般只需要传:被更新了的字段以及被更新实体的主键,比如id。这是开发常识,如果大家研究过json api规格的话,可以直接套用json api的设计进行阐述。

8、目前接口文档是由word格式管理,因迭代快 ,产生很多文档,分不清哪些是不用的接口,哪些是正在用的接口,哪些是更新后的接口,文档混乱。另外因是word格式管理,不方便查询,如何管理?每次查看接口文档需要下载多个word,不能避免下载操作查看,效率不高,如何提高工作效率?

swagger文档可以解决这个问题。

原文地址:https://www.cnblogs.com/duxf100/p/10245889.html

时间: 2024-10-10 20:57:16

接口测试笔试题分享的相关文章

一位上了一个大的互联网公司笔试题分享

声明: 首先声明,我没有参加中考(我的老男人).我只是道听途说.这个测试题是否真的存在?谁知道! 在这一点,但想分享一些知识. 有关文字说明原来的问题: 给定一个二维数组,里面随机的填写0和1.求取把上下左右连续(斜线不算相连)的1周边0的个数. 在这里能够把由1构成数据看成一个岛屿,求岛屿海岸线的长度,即周边0的个数. 引子: 看过人机博弈-吃子棋游戏(二)算气的博友,应该瞬间就有思路了吧.事实上围棋的算气,在没有眼位的情况下,就是计算算实心岛屿的海岸线.在有眼位的情况下.围棋算气也是计算空心

一道某高大上互联网公司的笔试题分享

声明: 首先声明,我没有参加此次考试(吾老矣),我只是道听途说,是否真的存在这道试题呢?谁知道呢!在此仅仅是想向大家分享一些知识. 原题大概描述: 给定一个二维数组,里面随机的填写0和1,求取把上下左右连续(斜线不算相连)的1周边0的个数.在这里可以把由1构成数据看成一个岛屿,求岛屿海岸线的长度,即周边0的个数. 引子: 看过人机博弈-吃子棋游戏(二)算气的博友,应该瞬间就有思路了吧.其实围棋的算气,在没有眼位的情况下,就是计算算实心岛屿的海岸线.在有眼位的情况下,围棋算气也是计算空心岛屿内部的

互联网校招笔试题分享

Java 一些知识点 Object 有哪些方法 public 方法:getClass.equals(和==之间的区别).hashCode.toString.wait.notify protected 方法:clone.finalize private 方法:registerNatives,该方法作用是将不同平台C/C++实现的方法映射到Java中的native方法 public class Object { private static native void registerNatives()

003_C/C++笔试题_分享大汇总

(一)感谢:lhzstudio 01_C++经典面试题全集 50~100道 都附带有参考答案 02_C++开发工程师面试题库 100~150道 03_C++笔试题库之编程.问答题 150~200道 04_C++笔试题库之编程.问答题 200~300道 原文地址:https://www.cnblogs.com/luxiaoguogege/p/9786873.html

有意思的笔试题记录与分析

昨天参加了某公司的笔试,总的来说题目很简单.但是还是有几个个题目是很有意思的,拿来和大家分享下! 1.小周带着他的鸵鸟穿越1000公里的沙漠,运送3000颗白菜.已知鸵鸟一次性可驼1000颗白菜,但每走1公里又要吃掉1棵白菜,问:小周最终可以运多少颗白菜? 分析:记得以前算法设计书上有个类似的油车过沙漠的问题,当时这问题是用倒推法来解决的,因为它有个结题突破口:油车以最少的耗油量穿过沙漠.本题同是过沙漠问题,但是却没有像油车过沙漠的解题突破口,怎么办呢?我们先想一个极限:让小周直接带着1000颗

2014阿里巴巴WEB前端实习生在线笔试题

2014年3月31日晚,我怀着略微忐忑的心情(第一次在线笔试^_^!!)进行了笔试,阿里巴巴的笔试题共有10道,几乎包含了Web前端开发的各个方面,有程序题.有叙述题,时间非常紧张,只完成了大概6道题.下面把遇到的题目跟大家分享一下! 1. <pre name="code" class="html"><!doctype html> <html> <head> <style type="text/css&

华为C语言笔试题集合

①华为笔试题搜集 1.static有什么用途?(请至少说明两种)    1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变.    2) 在模块内(但在函数体外),一个被声明为静态的变量能够被模块内所用函数訪问,但不能被模块外其他函数訪问.它是一个本地的全局变量.    3) 在模块内,一个被声明为静态的函数仅仅可被这一模块内的其他函数调用.那就是,这个函数被限制在声明它的模块的本地范围内使用 2.引用与指针有什么差别?    1) 引用必须被初始化,指针不必.    2)

MySql 笔试题

------前两天刚做了一套Mysql笔试题,分享给大家------------------ 第一部分.单选题(共40分) 1.mysql中唯一索引的关键字是( C  ) A. fulltext index  B.only  index   C.unique index D.index 2.下面关于索引描述中错误的一项是( C   ) A.索引可以提高数据查询的速度 B.索引可以降低数据的插入速度 C.innodb存储引擎支持全文索引 D.删除索引的命令是drop index 3.支持主外键,索

关于Java基础的一些笔试题总结

针对最近腾讯.京东.网易等公司的笔试,遇到一些有关Java基础的问题,在此通过一些例子总结一下,希望能通过这几道题发散,举一反三,借此打牢基础!自己总结,望提出宝贵意见! 一.最近笔试,经常会遇到一些"下面这段代码输出的结果是什么?是否编译出错?"类似的问题,代码如下: public class Test { public int testInt; public float testFloat; public String testString; public boolean test