测试工程师社招-测试面试题
测试思维
一、登录
功能:1、输入正确的用户名、密码 2、为空校验,密码为空或者用户名为空 3、长度校验,字符校验,用户名和密码最大长度 4、特殊字符,用户名和密码特殊字符限制 5、错误校验,用户名或密码错误(错误的次数) 6、验证码,图形文字是否清晰、短信验证码,验证码一致、错误次数 7、登录后能否正常跳转,是否有token、cookie等身份令牌
界面:1、用户名和密码输入框、登录按钮是否同需求一致 2、密码明文展示,大写键开启后是否提示 3、是否记住密码勾选项,勾选后token时效
兼容:1、win:chrome、firefox、edge 2、mac:safari、chrome、firefox
性能:1、打开登录页面的时间、跳转首页的时间是否在要求的时间 2、高并发场景能否正常登录,系统会不会崩,登录的时长
安全:1、生成的cookie、token是否唯一,token时长限制 2、多端登录,是否强制退出 2、密码传输存储是否加密 3、接口是否有校验 4、多端登录,多机登录
二、搜索(高频)
功能:1、搜索框输入提示,是否暗文本,点击是否清空 2、模糊匹配和精准匹配,模糊左匹配右匹配,匹配到的部分是否有UI提示 3、长度限制,最大不能超过多少 4、为空搜索,展示什么(链接:能正常跳转页面、外网不能访问是否有提示)5、图片搜索能否识别,访问图片是否有权限,读取部分照片还是全部照片 6、如何搜索,失焦或者搜索按钮或者回车,同步更新内容 7、敏感词汇是否有限制 8、是否支持剪切编辑
界面:
兼容:
性能:
安全:无痕浏览、有痕浏览,是否加密
三、微信红包
功能:单个红包:1、红包金额的输入:只能输入数字,0.01-200之间,底部展示的金额是否正确,小数点位数限制,输入错误的金额比如0、300的是否有相应的ui提示 2、备注表情包红包封面:正常的增删修改(可以为空、可以填写以及填写后能否红包标题、封面、详情表情包) 3、支付:能否跳转收银台、余额不足是否有提示以及是否有其他银行卡的选项、指纹密码能否正常支付、支付错误的次数限制、支付后能否正常扣款以及短信提示、不想支付了是否可以退出 多人红包:1、红包选项卡(普通红包、拼手气红包)2、红包的数量,最多不能超过群内人数,最少不能为0 3、红包的金额,最少每个0.01 、红包的金额是否定量,相等还是随机,随机的话红包的金额是否相等,红包金额加起来等于总金额 3、抢红包:自己发的自己能不能抢、比如三个红包三个人都能抢,第四个人抢不到,已经抢过的不能在抢了,最后一个红包多人抢,先请求的先拿到锁的先抢到
界面:
兼容:
性能:高并发场景下抢红包,抢红包的时长、高并发多人抢红包(先拿到锁的先抢到、不会让红包一直抢)
安全:
四、购物车(高频)
功能:1、没登录时加购,跳转登录 2、登录:1、能否正常加购、修改选项和数量、删除 2、购物车数量限制,最多不能超过多少个 3、加购的商品:店铺、标题、图片展示,店铺过长如何省略展示 4、价格总计:勾选商品金额展示、优惠券淘宝币等 5、全选功能:全选汇总支付、全选删除 6、下架商品、涨价、降价、优惠是否提示 7、支付:能否正常跳转收银台,余额不足是否有其他选项,支付成功能否正常扣款,支付失败能否在预付款列表 8、地址管理 9、凑单功能(凑完单之后实付金额的展示)
界面:
兼容:android、ios等
安全:
性能:高并发支付的时间、同一个用户同一个订单请求多次(只有一个成功)
五、签到场景(第二天可以补签、签到七天有礼物、日活一千万)
功能:1、能否正常签到、签到的时间展示、签到按钮变化、签到前后功能业务是否正常使用 2、签到后是不是还能签到,第一天没签到能否补签 3、签到七天礼物,第八天能否继续签到功能正常使用、签到七天任何一天中断无礼物
界面:
兼容:
性能:1、根据具体性能需求设计方案,在有限的环境小批量模拟一千万数据接口的响应时间、数据库读写、cpu内存的负载等 2、高并发场景,系统会不会崩,能否正常签到
安全:
六、视频播放器
功能:1、视频正常播放、暂停 2、视频封面是否正常 3、上下视频切换能否正常 4、音量的大小 5、视频最大化、最小化、横屏、竖屏 5、播放的顺序:顺序播放、随机播放,能否自动播放
界面:
兼容:
性能:
安全:
七、短信验证码
功能:1、输入框:为空校验、长度校验、区号校验、字符校验 2、发送按钮:正常点击成功后发送、时间范围(60s倒计时),按钮是否置灰,发送次数限制(同一手机号)3、短信文案:标题、模板、多次无重复随机 4、验证码输入:输入正确的验证码、错误的验证码、超时的验证码等
界面:
兼容:
性能:
安全:1、手机号是否传输加密 2、短信轰炸,是否次数无限制
八、微信点赞、微信朋友圈
微信点赞:1、点赞、取消赞、重复点赞 2、点赞后能否在点赞、评论 3、点赞后共同好友能否看到、能否消息提示 4、点赞的头像和昵称是否匹配 5、是否按照时间显示 6、已删除的好友点赞和评论如何展示
微信朋友圈:1、能否正常的发、删、查看朋友圈 2、图文版、文字版能否正常使用 3、可否多次发朋友圈、最多次数限制 4、内容限定,黄赌毒传销等不能过审 5、屏蔽功能、被屏蔽功能 6、文字次数限制、图片个数限制
九、App白屏
1、手机有问题,重启看下 2、app打包有问题(闪退、白屏)3、第三方报错,长时间没有检测到,没有容错机制
十、充值、提现、转账等
功能:1、创建订单的字段是否一致(信息字段,类型)2、到资金账户、银行账户,银行账户的银行卡号(常用收款人、提现人)3、金额:为空校验、字符校验(数字)、数额限制位数限制(不能超过钱包余额、校验是否有锁定的金额)4、算费展示:谁是收款人谁是付款人,算费配置,没有配置算费是否有提示、配置了的是否符合规则 5、金额预览:实际转出、提现金额 6、场景:100块钱,创建订单锁定金额(取消后能否退还)7、重复提交:页面重复点击、接口重复调用(唯一:outtradeno随机数)8、接口校验时:过期时间expiretime默认市场、正常、过期后;下单时长,不能小于当前9、银行返回信息:正常、失败、未知10、支付后业务变化:回调后是否更新订单状态(三层订单),支付失败是否有提示(余额不足、卡信息错误、用户取消等);订单状态(不同阶段状态变化是否正确)、退款和取消订单、支付异常(网络断开、中断处理能力等如何提升质量保障)、日志和监控(异常追踪)
安全:1、接口测试(金额的多种) 2、传输字段是否加密 3、token身份识别
界面:
兼容:
性能:
(只要是支付,1、幂等性(前端防抖、后端防抖,同一个时间同一个订单对同一个token同一个no)2、回调金额一致 3、高并发场景(token加锁)4、涉及第三方渠道,会考虑测试方案,测试环境配置mock模拟回调、主动查询等)5、因为第三方渠道回调的不一定及时,回调超时会去主动查询,设置延时队列(主动关单))
十一、社交网络测试点(大致思路)
社交主页(个人模块):图片(访问权限)、标签、基本资料等、三重认证(学历、工作、身份)、预览
聊天(匹配):一对多、多对多(没有次数限制);访客权限(充钱后可看)单匹配(不可以聊天,可以充钱聊天比如开通小纸条)、双匹配(双方匹配,可以聊天,聊天内容限制,黄赌毒,交换微信等信息加密和权限;拉黑后或者取消匹配后不可聊天;聊天记录漫游多少天),注销用户(单向,不可聊天---注销用例15天内保留用户信息);消息提醒(实时提醒,微信公众号提醒)
推荐机制:同城、同行、同学历、喜欢的类型精准匹配(充钱后曝光主页的推荐机制,推荐优势点)
支付、vip:(包月、包年、包季)开通后什么权限--什么样的业务变化;支付失败、支付成功(支付渠道)
易用:环节过于复杂、认证过于繁琐、界面不友好等
兼容:小程序、winmac、androidiosipad
安全:聊天的内容(涉嫌诈骗,诈骗识别索要银行卡号金额等;同意交换微信前无权访问)
性能:高并发场景、日活几千万
十二、直播测试点
功能:直播预告、创建关闭直播(实名认证)、进入退出直播(用户进入是否提示)、访客聊天消息(消息字数限制、内容限制)、直播内容(限制)、访问人数、弹幕(滚屏)、直播下单场景(如何抓取的关键词)、直播信息是否同步(实时)、礼物等、音质是否延迟失真、画面清晰度、断电断网视频重连、前后台切换、UI界面(访问人数、礼物大小、消息滚屏等)
直播结束后回放:回放的视频能否正常查看、倍速、回放(下单是否有效)、回放有效期
推送给哪些人群(已关注、经常看)、被举报
UI界面:
兼容:
性能:(首次是否秒开,画面是否流畅、多人同时在线留言、进入房间的接口压测、多人同时在线刷礼物抢红包等,某一时刻同时下单)
易用:
弱网:
其他面试题
接口测试需要关注什么?
1、接口文档,接口信息(url、请求方式、数据类型、请求体等)
2、分析正向、逆向场景,编写接口测试用例,正向产生什么结果,逆向返回什么样的错误码
3、接口多参、少参、为空、长度等校验,参数之间的关联关系
4、同一个接口请求多次,唯一标识,比如:api创建订单outTradeNo随机数每次请求不能重复
5、时间字段,比如:outTradeTime小于当前时间,expireTime过期时间,过期后打不开连接
6、接口返回的状态码、错误码
7、接口请求后的业务变化,跳转什么页面,新增用户后发送邮箱、数据库增加日志(注销冻结状态,不能出金入金)
为什么做接口测试?
1、安全性测试,对后端接口做统一的校验,防止有人通过接口请求
2、接口参数多样,比如金额,页面上会限制输入,而接口可以传入一些负数、大金额等
3、完成手工无法完成的测试,子系统的互联,比如:WMS自动化仓,自动化部分状态流转
4、更快速,大批量创建数据;更高效,回归测试
多接口如何串联?
比如提现场景:1、登录后拿到token,提取为全局变量 2、填写提现的信息创建订单,拿到订单id作为回调接口的入参(提取json)3、银行返回的状态码和金额增加断言,一致则调取提现完成订单创建 4、数据库校验是否正确提现
app测试
(我主要做B端,C端的面试题都是临时找的,能说上思路就行)
1、android ios区别(登录ios有appleid;兼容android20多种;android操作系统版本更多;android可以降级;下载渠道)
2、app测试注意点(跟web端区别,安装卸载更新(回归),权限(读写手机数据),切换应用(前后台切换、锁屏)、网络)
3、app性能怎么做(android studio本身检测cpu 内存)
4、覆盖更新(尽可能不影响用户态)
性能测试
28原则:百分之八十的用户操作集中在百分之二十
关注:硬件配置cpu、内存 数据库读写、接口响应时间、吞吐率、吞吐量
jmeter:创建线程组,http请求、结果树、设置每秒多少线程
策略:哪几种压测、压测的目的、每秒多少个线程
基准测试(单接口)
复杂场景(,,最后统一支付,同时结算)
疲劳测试(高并发,能承受百分之八十,长时间高位运行,会不会崩)
策略:会询问线上一千万,测试环境打不到一千万,如何去模拟(比如:测试环境改到五百万,以小观大,尽可能去模拟线上)
charles map用法
map local指定请求重定向到本地文件 1、save response 2、map local choose文件 3、请求 修改后的数据
map remote 原+重定向的请求