软件测试开发常见面试题整理记录一

1、装饰器
描述:装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。
应用场景:插入日志、性能测试、事务处理等
优点:减少重复代码
方法:定义装饰器函数,在该函数中定义def wrapper():函数,wrapper函数包含运行主体func()以及方法前后的一些补充方法,达到装饰效果,最后return wrapper函数
使用:在需要装饰的函数方法前加上@装饰器函数名称

def how_much_time(func):
    def inner():
        t_start = time.time()
        func()
        t_end = time.time()
        print("一共花费了{0}秒时间".format(t_end - t_start, ))
    return inner

2、深拷贝和浅拷贝
区别:浅拷贝只是对象的引用,深拷贝是生成一个新的对象;修改原始对象的不可变对象后,浅拷贝不做改变,浅拷贝只能拷贝原始对象及原始对象中可变对象的变更结果

3、可变参数
*args:接收元组
**args:接收键值对字典

4、面向对象的三个特性
封装:通过对象调用对象中的方法;
继承:子类集成父类的方法;
多态:子类可以重写父类的方法;

5、类变量、实例变量、类对象、实例对象
类变量:类属性,可在不同实例对象中共享
实例变量:实例对象独有的属性;
类对象:抽象概念,比如水果
实例对象:具体概念,比如苹果

7、return和yield的区别
区别:都能返回,但是yield是生成器,有yield的函数不会直接执行,需要调用next()方法去执行,每次执行到yield返回数据并结束,再执行下个yield,如果没有则报错。send()方法会将发送的值传给yield的赋值对象,再会执行一次next()方法,如果没有print(send()),则不会打印输出yield的返回值

8、私有变量:无法通过import导入,但是可以通过调用类对象或类方法获取私有变量

9、python内存管理机制:引用计数【记录对象引用次数,当计数为0时,进入垃圾回收队列】、标记清除【没有标记为可达,则回收】、分代回收【存活越久,代数越高,越不是垃圾】

10、接口测试常见缺陷:业务功能异常;接口功能异常;特殊值未处理,入库后导致程序异常;未做权限限制;安全性上返回结果错误信息包含代码信息;参数边界值未做限制;接口兼容性问题;

11、python异常捕获执行顺序,先执行try中的方法,如果没有捕获异常,则执行else中的方法,最后执行finally方法;如果有异常,则不执行else方法

12、接口自动化测试数据放在哪里?
.环境配置数据:放在全局配置py文件
.对于动态的数据,可随机函数生成
.对于一些设备数据,可放excel
.对于一些静态枚举值,比如类型、颜色,单独一个py文件存放,通过对象调用

13、Selenium原理:通过浏览器驱动程序,操作get\click\请求,实际封装了HTTP请求方法,并发送请求

14、LIST列表常用的一些方法?
方法:append【最后插入数据】,insert(index,value)【指定位置插入数据】,extend【合并列表】,sort【从小到大排序】,reverse【反转】,remove(value)【删除第一个查到的元素】,pop(index)【删除尾部元素】,count(value)【统计元素个数】

15、字符串常用的一些方法?
方法:索引【str[index]】,切片【str[:]】,大写【str.upper()】,居中【str.center('填充符号')】,删除前后空格/字符【str.strip()】,计算字符【str.count()】,分割【str.spilt()】,替换【str.replace()】,查找【str.find()】

15、python链表
描述:链表的元素不在同一个连续内存空间,相比于列表节省了空间,而且变更元素效率更高;元素结构为【DATA】【指针】,可以通过cur.next来指向下一个元素,通过cur.val获取当前元素的值;

16、元组和列表的区别?
.列表是动态数组,它们可变且可以重设长度(改变其内部元素的个数)。
.元组是静态数组,它们不可变,且其内部数据一旦创建便无法改变。
.元组缓存于Python运行时环境,使用元组时无须访问内核去分配内存。

17、字符串前后连接字符方式?
第一:通过【+】号
第二:通过【,】号
第三:格式化format方法
第四:将字符串和字符加到列表中,然后通过【''.join(列表)】

18、python标识符:数字、字母、下划线组成,且不能数字开头,区分大小写

19、__name__内置属性,功能:模块内部测试。

20、eval(字符串)功能:可以将传入的字符串变成表达式

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值