一.python读取json文件
import json
# 读取JSON文件
with open('data.json', 'r') as file:
data = json.load(file)
# 输出JSON数据
print(data)
# {'hitokoto': '居高声自远,非是藉秋风。', 'type': 'i', 'from': '蝉', 'from_who': 'TesterRoad'}
二.python数据去重
# 列表中包含重复元素
data = [1, 2, 3, 2, 4, 3, 5]
# 使用集合进行去重
unique_data = list(set(data))
# 输出去重后的数据
print(unique_data)
# [1, 2, 3, 4, 5]
三.python推导式
在Python
中,推导式(Comprehensions
)是一种简洁而强大的语法,用于快速创建列表、集合、字典等数据结构。推导式可以让代码更加简洁、易读,并且提高代码的执行效率。以下是几种常见的推导式。
# 列表推导式(List Comprehension):
# 创建一个包含1到5的平方的列表
squares = [x**2 for x in range(1, 6)]
print(squares)
# [1, 4, 9, 16, 25]
# 集合推导式(Set Comprehension):
# 创建一个包含1到5的平方的集合
squares_set = {x**2 for x in range(1, 6)}
print(squares_set)
# {1, 4, 9, 16, 25}
# 字典推导式(Dictionary Comprehension):
# 创建一个包含1到5的平方的字典
squares_dict = {x: x**2 for x in range(1, 6)}
print(squares_dict)
# {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
# 带条件的推导式:
# 创建一个包含1到10中偶数的列表
even_numbers = [x for x in range(1, 11) if x % 2 == 0]
print(even_numbers)
# [2, 4, 6, 8, 10]
推导式可以在一行代码中完成对数据结构的创建和操作,非常方便。你可以根据具体需求使用不同类型的推导式来简化代码。
四.微信发红包的功能,如何设计测试用例
编写微信发红包功能的测试用例时,可以考虑以下几个方面
1.功能测试
-
输入金额:验证输入不同金额的红包是否能成功发送。
-
选择发送对象:验证选择不同的发送对象(好友、群聊等)是否能成功发送红包。
-
发送方式:验证选择不同的发送方式(拼手气红包、普通红包等)是否能成功发送。
-
发送限制:验证发送红包的次数、金额上限等限制是否符合要求。
2.兼容性测试
-
不同设备:验证在不同设备(
iOS
、Android
)上发送红包功能是否正常。 -
不同网络环境:验证在不同网络环境(
4G
、5G
、Wi-Fi
)下发送红包功能是否正常。
3.安全性测试
-
防刷红包:验证系统是否能有效防止用户恶意刷红包。
-
隐私保护:验证发送红包时用户隐私信息是否得到有效保护。
4.性能测试
-
发送速度:验证发送红包的速度是否符合用户预期。
-
系统负载:验证发送大量红包时系统的负载情况。
5.用户体验测试
-
操作流程:验证用户在发送红包过程中的操作是否流畅。
-
提示信息:验证系统在发送红包时的提示信息是否清晰友好。
以上是一些可能的测试用例思路,大家可以根据具体需求和功能细节编写更详细的测试用例。
五.python读写excel
参考文章:自动化测试Python处理Excel小技巧,建议收藏
六.python中数组和列表的区别
1.列表是Python
的内置数据结构,可以存储任意类型的数据,而数组通常是由第三方库(如NumPy
)提供的,用于存储同一类型的数据。
2.列表可以动态调整大小,可以随意添加、删除或修改元素,而数组通常具有固定的大小和类型,一旦创建后就不能更改。
3.数组在进行数学运算时通常比列表更高效,因为数组中的元素都是同一类型,可以进行批量操作,而列表中的元素类型可能不同,需要进行类型转换。
4.列表支持更多的操作和方法,如append
、extend
、pop
等,而数组通常只支持基本的数学运算和数组操作。
总的来说,如果需要处理数值计算或大规模数据集,使用数组会更高效和方便;如果只是存储和处理一般的数据,使用列表更灵活。
-
使用列表
my_list = [1, 2, 3, 4, 5] # 创建一个包含整数的列表
my_list.append(6) # 在列表末尾添加元素
my_list.remove(3) # 移除元素3
print(my_list) # 输出列表内容
# [1, 2, 4, 5, 6]
-
列表可以存储不同类型的数据
mixed_list = [1, 'hello', True, 3.14]
-
使用数组(
NumPy
)
import numpy as np
my_array = np.array([1, 2, 3, 4, 5]) # 创建一个包含整数的数组
my_array = np.append(my_array, 6) # 在数组末尾添加元素
my_array = np.delete(my_array, 2) # 删除索引为2的元素
print(my_array) # 输出数组内容
-
数组中的元素必须为同一类型
# 整数数组
int_array = np.array([1, 2, 3, 4, 5])
# 浮点数数组
float_array = np.array([1.1, 2.2, 3.3, 4.4, 5.5])
七.pytest和uittest常见的异常
pytest
和unittest
在测试过程中可能会遇到许多常见的异常,以下是一些可能出现的异常情况。
1.pytest常见异常
- AssertionError:断言失败,测试结果与预期不符。
- Fixture “xxx” not found:未找到所需的fixture。
- ImportError: No module named “xxx”:导入模块失败。
- SyntaxError: invalid syntax:语法错误。
- ValueError: Fixture “xxx” not found:未找到所需的fixture。
2.unittest常见异常
- AssertionError:断言失败,测试结果与预期不符。
- AttributeError: “xxx” object has no attribute “yyy”`:对象没有指定的属性。
- TypeError: “xxx” object is not callable:对象不可调用。
- NameError: name “xxx” is not defined:变量未定义。
- ImportError: No module named “xxx”:导入模块失败。
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。