2023备战金三银四,Python自动化软件测试面试宝典合集
Posted 美团程序员
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2023备战金三银四,Python自动化软件测试面试宝典合集相关的知识,希望对你有一定的参考价值。
接上篇:
11、点击塞钱进红包,选择使用新卡付款,按照流程添加新卡,此时同样需要考虑金额>新卡余额,
金额<新卡余额,金额=新卡余额三种情况
12、使用指纹确认付款(正确的/不正确的指纹)
13、使用密码确认付款(正确的/不正确的密码)
14、发送成功之后,对应的途径会减少相应的金额
15、发送者接受者可以点击红包查看到红包的具体信息,且金额,留言,表情均能正确显
16、好友点击红包之后,零钱中将增加相应的金额,再次点击之后,只能查看到红包的信息
17、24 小时之内没有领取的红包,将退回原账户,此时原账户的零钱将增加相应金额的金钱 24 小时
后好友点击红包,显示红包已过期,无法查看到红包的余额
18、右上角的红包记录中,可以查看刚刚发出的红包的金额
19、检测帮助中心中链接是否均可以正常跳转,查看
20、当红包超过 24 小时之后,则无法查看红包被每个人领取的详细信息
2)发送群红包(与发给好友的测试点相似,以下仅写出不同的部分)
①选择为拼手气红包时,群中每个人收到的金额随机(但加起来为红包的总金额),为普通红包时,群
中每个人收到的金额相同
②红包个数(1-100):0,1,2,大于群成员人数,小于群成员人数,等于群成员人数,99.100,101,
小数,中文、英文、特殊字符、表情或者他们的组合
③但红包没有被抢完时,此时首次点击该红包的人可以抢到一定金额的红包,不是首次点击该红包的
人只能查看该红包的信息;当红包抢完时,所有人只能查看该红包的信息
④在 24 小时之内红包的金额被完全抢完,且此时为拼手气红包时,金额最多的人会显示为最佳手气
(若有两个人取得红包的最大值时,则只有一个人会显示为最佳手气);若没有被完全抢完,则没有最
佳手气,且余额会退还到原账户
⑤群中所有人均可以抢红包(包括自己),每个人最多只有一次抢该红包的机会
⑥测试当红包个数使得每个红包分到钱小于 0.01,即总金额为 0.02,而红包个数为 3 时的情况
2、兼容性测试
1)苹果手机和安卓手机
2)苹果手机的不同版本
3)安卓手机不同的机型
4)不同分辨率
3、性能测试
打开红包的响应时间不能超过三秒,高并发场量下不能超过 5 秒
2)耗电量
3)消耗流量的多少
4)所占内存
4、ui 测试&易用性测试
1)界面的设计风格是否统
2)界面中文字是否简洁,没有错别字
3)是否易操作,易学习,易理解
5、中断测试:前后台切换,网络异常,低电量,断电,来电,短信等
6、网络测试
1)网络兼容性:2G/3G/4G,WIFI,热点,移动/联通/电信
2)无网测试
弱网:延时&丢包
5.10 微信聊天功能测试用例
消息发送(单聊,群聊,语音,文字,图片,表情,链接,字符及长度)
成员管理(加人,被加,退出,被动退出,编辑,删除)
群组管理(创建群,消息设置,申请入群,扫二维码入群,退群,通知提醒,头像编辑,名称编辑,
简介编辑,权限编辑,成员编辑)
消息管理(发布通知,接收通知,发文件,消息提醒,通知提醒,声音,震动,好友请求,请求处理)
隐私管理(黑名单,允许好友查看动态,允许陌生人查看动态,允许通过手机号查找,允许真实姓名
查找)
权限管理(开放群(任何人入群)、半开放群(验证入群)验证加好友不需验证加好友)
登录退出(忘记密码,更换账号)
好友管理(扫二维码加人,加好友,查好友,好友推荐,群组推荐,联系人导入,拉黑名单,解除好
友,备注名)
动态管理(发动态,发投票,点赞,表情,评论,增加,删除,分享,隐藏,编辑
消息推送(在线,离线,收发,时序)
文件管理(接收,离线接收,预览,删除,分享,转存,文件格式,大小)
5.11 给你一个界面怎么测
这个具体看什么界面了,首先要搞清楚界面上有哪些功能点,一定要弄清楚哪些是展示性的信息,哪
些可操作性的东西。然后从上到下根据界面上的一些功能进行逐一测试。具体的话:
1)首先肯定是做界面 ui 测试,主要检查看界面布局是否合理,是否美观,图片,颜色,字体,超链
接,是否都显示正确,界面数据是否展示正常等等。
2)然后根据界面上的各个功能点需求逐一检查,各个功能是否有问题。
3)考虑到时界面,所以得考虑兼容性问题,对于 Web 端要不同的浏览器展示问题,浏览器缩放比例问
题,不同屏幕大小问题,看是否都能正常展示,对于 App 端当然要考虑不同的手机屏幕大小,分辨率
等等。
5.12 你说原来充值功能,你是怎么测试的?
一、首先我们先测试充值的主体功能,看看能否充值成功;(等价类,边界值,判定表,流程分析法,
状态迁移法,错误推测法,异常处理法来测试)
用边界值的方法测试充值限定的额度能否充值成功
用特殊字符在充值输入框输入是否有提示语提醒
充值输入框为空时点击充值是否有提示
在输入框里输入金额,再后退网页再进入充值页面,是否还保存着输入的金额数
多次往返充值界面,是否还可以正常充值
选择多个充值支付方式能否充值成功
选择各银行网银能否充值成功
充值成功时,有没有相关的提示和页面是否正确跳转
充值成功后,相关联的金额是否正确显示
充值成功后,查看数据库的相关数据是否有存在和正确
点击第三方支付(如支付宝,微信)是否有相关的连接页面跳转
能否同时选择多个支付方式来充值
交叉选择支付方式后,再选择其中一个支付方式能否充值成功
充值输入框多次修改充值金额,能否充值正确
二、我们再测试充值的性能,用 jmeter 模拟大量用户同时充值,看看能否充值成功;
三、我们再对充值的安全性进行测试,
(1)绑定银行卡充值和未绑定银行卡能否充值成功;
(2)绑定多张同名的银行卡以及一个用户绑定多张不同名的银行了能否绑定充值成功
(3)实名认证和未实名认证能否充值成功
(4)用边界值的方法测试每天充值限额,次数
(5)测试一天之内最多可以输入密码错误次数是多少,次数达到多少次锁卡,是否需要到银行解锁方
能再进行充值
(6)输入充值金额后需要输入多少次密码,是否有加密,不输入密码能否充值成功;
(7)使用其他的支付方式支付能否充值成功
(8)测试充值金额的类型
(9)充值之后所充值的账户以及平台的余额额度是否有增加;
(10)单次点击,多次点击会不会充值成功;以及多次点击会不会多次充值;
(11)同时打开多个充值界面,能否充值成功;
(12)不登陆用户的情况下是否充值成功;
(13)不选择银行卡或其他方式支付是否能充值成功;
(14)跨站攻击,数据泄密;
四、我们还要对兼容性进行测试,看看不同的版本、分辨率,不同的浏览器,能否正常充值
五、对易用性进行测试,测试充值的整个流程是否易用,遇到一些不懂的有没有相应的温馨提示
六、我们还会考虑测试异常的情况:(网络异常和设备异常)
比如说:
(1)充值的过程中突然没网或者网络中断或弱网情况下是否充值成功;
(2)充值过程中突然断电了,能否充值成功;
(3)充值过程中设备卡顿能否充值成功;
(4)银行卡挂失,被注销,卡内余额不足,卡里金额被冻结,额度超过限额的情况能否充值成功
七、我们再对界面进行测试
(1)界面是否美观,格式是否正确,中文是否有错别字
(2)在其他浏器能否打开我们这个充值界面,能否正常显示并且正常充值
(3)界面上的按钮是否符合用户的使用习惯,主要关键的功能按钮是否容易找到,操作是否便捷;
(4)在不同的浏览器里界面缩放后,界面排版是否正常显示
5.13 电商的库存逻辑怎么测。
比如客户下订单,库存减少,规定时间内未支付定单就取消,库存又加回来,
我会先测一下界面,比如界面的排版是否美观,有没有错别字,颜色适不适合等。然后再测试一下功
能,提交订单页面,我会测试购买商品数量,自己输入的边界值和点击加就加或者减少修改数量,不
选择数量会不会有默认数量,不选择商品类型以及选择多个商品类型,然后测试正确提交订单后,看
库存是否有减少相应的数量。再测试规定时间的边界值,比如规定时间是 1 个小时,那 1 个小时内完
成支付,库存有没有变化,61 分钟还是否能去支付,订单有没有关闭,接着会测试一下 1 个小时内
取消订单,单库存有没有增加相应的数量以及 1 小时内没有去支付,系统自动取消订单,库存有没有
加上相应的数量。再测安全性,涉及到支付,用 fiddler 工具抓包拦截数据,看能否修改参数,再发
送请求支付成功,测逻辑的话大概就这些。
六、 Linux
6.1 Linux 系统你是怎么用的?
[在测试 1、执行的过程中,我们发现的 bug,有时候需要定位 bug,协助开发修复 bug 时需要在 linux
里通过命令 tail-200 或 tail-500 查看当天的日志的后面多少行或者前面多少行定位 bug 或者通过
tail -f 来查看日志里的关键字 exception(异常) error(错误)。
[后台程序运行久了会对系统造成卡顿等诸多隐患或我们做性能测试的时候我们都会通过 linux 的命
令 Ps -ef 显示所有进程)、top(监控程序执行状况)、free -m 显示内存使用情况)
来查看系统资源如果服务器出现故障时我们也会用(service httpd status)看下服务器是否启动,
用 ps -ef|grep httpd 查看 apache 进程是否启动,用 ps -ef|grepjava 查看 jdk 进程是否启动如果
服务器起不来,常见的问题有端口可能被占用,用 netstat- an|grep 8080 查看端口是否已被占用。]
[搭建测试环境的时候我们在是在 linux 下进行的,搭建 LAMP 时在线用命令 yum install
安装 apache,php 以及 mysql;或通过 xshell 来导入需要的环境包来搭建 LTMJ(Tomcat、Mysql、jdk)
6.2 Linux 是什么工具连接的, Linux 版本是多少
Xshell、CRT、SSH 用的 ssh 协议连接,端口是 22
传输文件用 xftp 工具,占用的端口是 21
Linux 版本 centos6.5 版本 64 位
6.3 日志具体是怎么看的
1、我们根据日志目录找到对应的日志文件,用 tail -200,或者 tail-500 查看文件内容
也可以重定向导出来查看。
如果是系统出现了异常导致的错误,我们跟去查找关键字,比如说 error 或者 exception 等
如果是逻辑错误,会把操作对应时间的日志跟对应开发一起去定位 bug
6.4 监控资源命令用到哪些
查着进程 ps -ef 过滤添加 grep 来着
杀掉进程 kill 强制杀掉 -9
监控资源 top vmstat
磁盘 df -h
内存 free -m
6.5 nmon 工具是如何使用的
1、下载安装包()
2、安装(不需要安装-解压即可) nmon_linux_14i.tar.gz
1)把文件传输到 linux 服务器
2)解压 xftp
tar -zxvf nmon_linux 14i.tar.gz
3)解压文件中,找到你系统版本对应的运行文件
比如:你们的操作系统 centos6.5 64 位系统, ./nmon_x86_64_centos6 文件
4)运行对应的监控资源的文件
./nmon_x86_64_centos6
按字母 c 查看 cpu,m 查看内存,n 查看网络,q 退出
运行命令把数据保存到文档中
./nmon_x86_64_sles11 -s1 -c350 -f -m /home/
-s1 每 1 秒采集一次数据
-c350 采集 350 次,即为采集十分钟的数据。
-f 生成的数据文件名中包含文件创建的时间
-m 生成的数据文件的存放目录
这样就会生成一个 nmon 文件,并每十秒更新一次,直到分钟后。
生成的文件名如:_090824_1306nmon,””是这台主机的主机名, nmon -h 查看更多帮助信息。
4、把生成 nmon 工具,导出到 windows
5、用 office 运行分析工具
6、生成一个 xlsx 文件
6.6 测试环境是如何搭建的(弱项)
前提条件:租服务器或者买服务器-仅搭建一次,
1、搭建环境 linux+ apache+php+ mysql, linux+ tomcat+java+ mysql
2、每一次选代,每一次测试( apache)html 目录下
1)替换代码包(覆盖代码包)-配置文件已经编辑好-压缩包
2)运行 sql 文件
3)重启服务
tomcat(java 语言) ---代码在 webapps 目录下
1,替换代码包(覆盖代码包)·配置文件已经编辑好-压缩包,war 包(重启 tomcat 服务,自动化解压)
2,运行 SQL 文件
3,重启服务
6.7 linux 常见命令有哪些,说出 10 条左右
查看实时日志:tall 、 head -20 查看前 20 行 、 tail -20 查看前 20 行
查看进程:ps -ef 、查看当前系统端口:netstat -an 、查看哪些端口被打开:netstat -anp
重启数据库服务:systemctl restart mysql service
重启网卡:service network restart
解压包:.zip 包 unzip 包名 .tar tar -xzf 包名
在线安装用 yun
6.8 如何查看端口是否被占用
Netstat -anolgrep 8080
6.9 data 目录下找到所有 txt 的文件的命令
Find /data -name “*.txt”
6.10 怎么把 lnux 服务器的文件拷贝到另外一台 linux 服务器
scp 要拷贝的文件目标主机 ip:/目录/
scp startup.sh 192.168.1.157: /home/
root@192.168.1.157's password:
startup.sh
七、数据库
7.1 你们数据库怎么用
[原来我们数据库用的比较多的,就是数据结果检查,测试一些数据准备,性能测试造大量数据。]
[测试执行到的结果,我们需要通过 sql 语句 select 来查找数据库对应的表,看看数据库信息跟我
们执行的结果是否一致,比如:生成申请借款后,我们会去数据库里面去检查下,数据库中数据是否
跟申请订单数据一致。]
[我们在测试执行时需要做一些测试数据准备,我们就用 insert into 输入数据或(者 update set 修
改数据),我们需要到数据库查看有没有相关记录保存,保存的数据跟我们输入或者修改的记录是否
一致;比如:原来我们一个初审功能里面有个分页功能,测试分页功能,需要 100 条数据,我们就通
过数据库操作添加 100,可以用 insert into。也可以用脚本实现,或者存储过程]
[还有在做性能测试时,模拟用户场景时需要用到大量的数据,这时就需要我们到数据库中制造大量
的数据出来。比如说,测试充值,需要大量用户数据,充值表中大量数据,比如 10W 条数据,我们就
用存储过程去造。]
7.2 存储过程是怎么编写的
delimiter∥
create procedure 存储过程名(n int)
BEGIN
declare i int default 0;
while i <= n do
Insert into 表名 values(值 1,值 2...)
set i=i+1;
end while;
end∥
delimiter;
cal 存储过程名(数据量(n));
7.3 常见的关系型数据库有哪些
mysql、SQL Server、Oracle、Sybase、DB2 等
MySQL 是开源免费的;
SQL Server 是由微软公司开发的关系型数据库管理系统,一般用于 Web 上存储数据;
Oracle 数据的大量性数据的保存的持久性;
7.4 你们用的什么数据库连接工具
Navicat,数据库版本 mysql 5.7,端口默认是 3306
7.5 左连接与右连接有什么区别
左连接:以左边的表(employ)为主,显示左边表列的全部数据,如果右边表没有对应的数据,
则为 NULL
右连接:以右边的表(student)为主,显示右边表列的全部数据,如果左边表没有对应的数据,
则为 NULL
7.6 索引有哪些,如何建立索引,素引的优缺点
MySQL 索引的建立对手 MySQL 的高效行是很重要的,索引可以大大提高 MySQL 的检素速度
缺点:虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行 INSERT、
UPDATE 和 DELETE,因为更新表时,MySQL 不仅要保存数据,还要保存一下索引文件,建立索引会占
用磁盘空间的索引文件。
索引份分单列索引和组合索引,单列索引,即一个索引只包含单个列,一个表可以有多个单列素引,
但这不是组合素引,组合索引,即一个索引包含多个列。
主键索引 PRIMARY KEY,唯一索引 UNIQUE,普通素引 INDEX
组合索引 INDEX,全文索引 FULLTEXT
7.7 having 是干嘛的?
是一个条件查询,一般是跟着分组以后,比如
select title, count(title) as t from titles group by title having t>=2;
7.8 where 与 having 的区别?
having 是在分组后对数据进行过滤
where 是在分组前对数据进行过滤
having 后面可以使用聚合函数
where 后面不可以使用聚合
7.9 查询数据库的前 100 行数据,你 sq 怎么写
Select * from user limit 0,100
7.10 如何进行多表查询
Select * from A,b where a,id=b,id
7.11 in 与 exist 的区别
1.in()适合 B 表比 A 表数据小的情况
2.exists()适合 B 表比 A 表数据大的情况
7.12 数据库测试有没有发现什么问题
原来我们做的一个功能,生成订单,在数据库中没有添加创建时间,导致后续根据时间点,去查询订
单的时候,找到对应的数据
持续更新,敬请期待
以上是关于2023备战金三银四,Python自动化软件测试面试宝典合集的主要内容,如果未能解决你的问题,请参考以下文章