软件测试常见面试题(二)

1、接口测试用例的编写要点有哪些?

1)入参,包括参数合法性,参数校验,参数边界,参数为空,缺少参数等
2)返回值,包括各种情况下的响应内容是否正常
3)接口业务逻辑和功能是否正常
4)数据库校验
5)性能测试(接口tps,响应时间)
6)安全性,敏感信息加密,权限控制等


2、你是怎么测试接口的?

1)先了解接口的业务功能、入参出参以及接口对应的数据库存储
2)依据接口接口测试用例设计方法完成接口测试用例的设计
3)最后依据测试用例使用接口测试工具完成接口测试,并在测试过程中通过查看响应数据确保接口测试结果的正确性


3、get和post的区别

1)get请求的参数是放在url里,post请求参数是在请求体里
2)get请求可以被浏览器缓存,post请求不能被缓存

  1. get请求参数放在url里,url的长度是有限的,而post接口长度没有限制
    4)get请求参数放在url里,安全性比较差,post请求参数放在body中,安全性相对较好
    5)get请求可以直接通过浏览器访问,支持刷新和后退。post请求不能直接使用浏览器访问,刷新后数据要重新发送

4、http和https的区别

1)HTTP信息是明文传输的,而HTTPS是具有安全性的加密传输
2)HTTP的标准端口是80,而HTTPS的标准端口你是443
3)HTTP无需证书,而HTTPS需要认证证书


5、cookie 和 session 的区别

1)cookie数据存放在客户端的,session数据放在服务端的
2)cookie不是很安全,别人可以分析存放在本地的cookie进行cookie欺骗
3)session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的内存
4)单个cookie保存的数据不能超过4k,很多浏览器都限制一个站点最多保存20个cookie, 而session则存储于服务端,浏览器对其没有限制


6、token是做什么用的

token就是令牌,是一个字符串,主要是用于做客户端身份认证,通常登录成功后,服务端会返回
token,客户端需要把token值保存下来,后续请求其他接口时,需要在请求中携带这个token值,只有服务端对token校验通过后,才允许访问。


7、说一下你知道的HTTP状态码,以及它们代表什么意思?

image.png

8、常见的HTTP 请求头
image.png

9、pyhon都有哪些数据类型

整型--int
布尔型--bool
字符串--str
列表--list
元组--tuple
字典--dict
集合 -- set
空 - None


10、Python中的元组和列表的区别是什么?

相同点:
1)都是序列
2)都可以存储任何数据类型
3)可以通过索引访问
区别:
列表是可变的,而元祖师不可变的


11、Python中的break、continue、pass代表什么意思?

1)break: 跳出循环,不再执行
2)continue: 跳出本次循环,执行下一次
3)pass: 不做任何事情,只起到占位的作用


12、如何在python中生成一个随机数

要在Python中生成随机数,您需要将命令导入为:
import random
random.random()


13、请用自己最擅长的编程语言,将一个字符串反转并输

出?

python实现:
方法1、使用[::-1]:
s = 'python'
print s[::-1]
方法2、使用reverse()方法:
 = list(s)
l.reverse()
print ''.join(l)


14、什么是切片?

切片是python中的一种方法,能让我们只检索列表、元祖或字符串的一部分。在切片时,我们使用切片和操作符


15、写一下冒泡排序
def bubble_sort(arr):
  n = len(arr)
  for i in range(n - 1):
    for j in range(n - i - 1):
      if arr[j] > arr[j + 1]:
        arr[j], arr[j + 1] = arr[j + 1], arr[j]
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容