测试实战面试题

请设计一个关于ATM自动取款机的测试用例。
1)功能

a)ATM所识别卡的类型;
b)密码验证(身份登陆、是否为掩码、输入错误密码时是否提示,连续三次错误吞卡等);
c)取款功能:
i、金额多少的限制,单次最大最小提取金额、每天最大提取金额等);
Ii、取款币种的不同,如人民币、美元、欧元等。
d)是否提示客户操作完成后,打印相关操作信息;
e)查询功能是否正常;
f)转账功能是否正常;
g)是否提示客户操作完成后,取回客户卡;

2)性能

a)是否有自动吞卡:非法客户\密码错误客户\规定时间内未完成相关操作功能的客户。(如果有,有无报警功能(保密报警))
b)平均无故障时间,平均故障修复时间,输入密码后验证时间,出钞票时间,查询余额等待时间。

3)易用性

a)ATM各个操作功能(硬件)是否正常、易懂;
b)ATM的界面显示是否友好;
c)ATM是否支持英文操作;
d)ATM是否存在异常(断电、黑客入侵)有自动保护(报警)功能;

如何测试一个 纸杯?


功能度:用水杯装水看漏不漏;水能不能被喝到
安全性:杯子有没有毒或细菌
可靠性:杯子从不同高度落下的损坏程度
可移植性:杯子在不同的地方、温度等环境下是否都可以正常使用
兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等
易用性:杯子是否烫手、是否有防滑措施、是否方便饮用
用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述
疲劳测试:将杯子盛上水(案例一)放 24 小时检查泄漏时间和情况;盛上汽油(案例二)
放 24 小时检查泄漏时间和情况等
压力测试:用根针并在针上面不断加重量,看压强多大时会穿透

我手上这支笔,请你根据这支笔设计测试用例


首先我要测它的外观、颜色是否符合要求、所占的空间是多大、是否环保、接下来测它的质量、这支笔是否能够写字流畅、写出的自得颜色是否符合要求、能使用多长时间等

测试手机开机键


功能测试:按下开机键,屏幕能否亮起
性能测试:按下开机键,屏幕能否在规定时间内亮起
压力测试:连续多次按下开机键,观察屏幕是否能一直亮起,到多久时间失灵
健壮性测试:给定一个中了病毒的手机或者是淘汰许久的老机子,安歇开机键观察屏幕能否亮起
可靠性测试:连续按下开机键有限次数,比如1万次,记录屏幕未亮起的次数
可用性测试:开机键按下费不费力,开机键的形状设计是否贴合手指,开机键的位置设计是否方便

如何回答登录功能怎么进行测试?

image.png

首先,进行界面测试。

查看界面上的所有元素是否齐全;
没有输入内容时,是否有相应的提示语;
验证码是否能够显示;
移动鼠标,【登陆】按钮默认不能点击;
【忘记密码】是否有个小问号“?”(其他都有);

第二,进行功能测试。

输入正确的用户名、密码、验证码,点【登陆】能登陆;
输入正确的用户名、错误的密码、正确的验证码,提示用户名或密码错误;
输入错误的用户名、正确的验证码,提示用户名或密码错误;
输入正确的用户名、密码,错误的验证码,提示验证码错误;
输入不符合规则的手机号或者邮箱应该提示错误;
页面长时间不登陆和操作,验证码会不会过期;
点【记住密码】,登录后退出,再次登陆是不是可以不输入密码;
点【忘记密码】能够跳转到密码设置页面(至于是什么不用管,就是能不能跳转)
只点击验证码图案,验证码能不能刷新;
页面刷新,验证码图案能不能刷新;
输入栏是否设置快速删除按钮;
用户名和密码是否大小写敏感;
用户名和密码前后有空格的处理;
登陆成功,是否有记住密码功能;
登陆失败后,不能记录密码的功能;
新用户第一次登陆成功,是否有修改密码提示;
用户登录过程中log中是否有个人信息明文打印;
是否支持第三方登陆;
刷新页面时是否会刷新验证码;
输入密码的时候,大写键盘开启的时候要有提示信息  ;
不同级别的用户,比如管理员用户和普通用户,登录系统后的权限是否正确;

第三、业务安全测试。

有没有登陆错误次数的限制;
每次登陆错误之后有没有限制再次登陆的时间间隔;
是否支持一个账号多地登陆;
不同机型登陆,异地登陆是否有提醒  ;
不登录的情况下,在浏览器中直接输入登录后的URL地址,验证是否会重新定向到用户登录界面;

第四、兼容性测试。

在相同浏览器的不同版本上打开登录页面,效果是否一致;在不同浏览器上打开登录页面,效果是否一致;在不同操作系统的不同浏览器打开登录页面,效果是否一致;在不同的屏幕分辨率下打开登录页面,效果是否一致;

第五、代码安全性测试。

用户输入登录信息登陆时,个人信息是不是会显示在浏览器地址栏;
用户登陆的时候,通过抓包工具抓数据,密码是否加密;
查看页面源代码,验证码是否直接显示在代码中;
密码在后台储存时是否加密;
是否可以使用登录的API发送登录请求,并绕开验证码校验;
用户名和密码的输入框中分别输入典型的“SQL注入攻击”字符串,验证系统的返回页面;
用户名和密码的输入框中分别输入典型的“XSS跨站脚本攻击”字符串,验证系统行为是否被篡改;

第六、页面性能测试。

单用户登录的响应时间是否小于3秒;
通过工具向登录页发起大量请求,查看页面响应时间的变化;
通过工具对登陆功能进行并发测试;通过工具向登录页发起大量请求,查看页面何时崩溃;
通过工具向登录页发起大量请求,查看页面崩溃后有没有良好的提示信息;
通过工具向登录页发起大量请求,查看页面崩溃后多长时间能够恢复服务;
弱网,不同网速时登陆的时间,网络切换和网络延迟时登陆界面是否正常;

第七易用性测试。

页面是否美观;
功能是否都可以使用;
页面速度快不快;
页面元素加载是否耗费网络流量;
能不能第三方登陆;
为什么不使用手机验证码登陆;
输入框能否可以以Tab键切换。

如何回答购物车功能怎么进行测试?

image.png

1.功能测试

a)、未登录时:
将商品加入购物车,页面跳转到登录页面,登录成功后购物车数量增加。
b)、登录后:
所有链接是否跳转正确;
商品是否可以成功加入购物车;
没有限购要求的商品,添加数量能不能超过库存数;
购物车商品总数是否有限制;
商品总数统计是否正确;
全选功能是否可用;
删除功能是否可用;
删除功能是否有提示;
价格总计是否正确;
商品文字太长时是否显示完整;
购物车中下架的商品是否有标识,是否还能支付;
新加入购物车商品排序(添加购物车中存在的店铺的商品和购物车中不存在的店铺的商品);
是否支持快TAB、ENTER等快捷键;
商品删除后商品总数是否减少;
收藏功能是否可用;
账号退出后,购物车添加的内容是否还在;
购物车结算功能是否可用。
限购商品按照规则购买完成后,还能不能再次添加购物车并购买;

2.兼容性测试

BS架构:不同浏览器测试,比如:IE,火狐,谷歌,360这些。
APP:在主流的不同类型,不同分辨率,不同操作系统的手机上测试,华为,vivo,oppo等

3.用户体验测试

删除商品是否有提示;
是否支持快捷键功能;
是否有回到顶部的功能;
商品过多时结算按钮是否可以浮动显示;
购物车有多个商品时,能不能只对单个商品结算;
界面布局、排版是否合理;
文字是否显示清晰;
不同卖家的商品是否区分明显。

4.性能测试

打开购物车页面要多长时间

支付流程测试


功能测试。

用等价类和边界值,判断支付的金额;
如果没有登陆能否支付,支付成功后是否可以正常跳转;
支付方式是否支持扫码支付,第三方平台支付(支付包,云网等),语音支付,指纹支付;
支付时是否需要身份验证,支付后有无手机短信提示,是否可以找他人代付;
用边界值法有无支付额度限制,余额不足时有无提示,支付时是否是动态加密支付;
待支付状态:订单是否可以正常支付;是否可以取消;有相同订单是否可以支付两次;
是否可以扫码支付,输入错误的密码会怎样显示,有无错误次数限制;
若支持扫码支付,二维码是否支持支付包和微信扫码,若两人同时扫描怎么处理;
有无最小支付金额限制,无意义的支付金额0,重复支付如何处理;
如果支付包含优惠金额,该怎么处理优惠额度;

性能测试

弱网,无网时是否可以支付;
退款到账时间,耗电量的多少;
带负载情况下的响应时间和吞吐率,在某个时间段内同时访问系统的用户数量 ;

压力测试

多人同时付款;

界面测试;

支付界面有无错别字,排版是否合理,颜色搭配是否合理;

兼容性测试

是否可以跨平台,不同电脑机型下显示有无区别;

安全性测试;

若支付不成功是否原路退款,若支付成功,有无支付信息提示;
用fiddler抓包尝试修改价格,对订单金额有无效验;
直接输入需要权限的页面地址可用访问;

对于有系统大量并发访问,你会如何做测试,有什么建议

如何做高并发系统的测试,一般而言,整体的测试策略是:先针对部分系统进行性能测试及压力测试,得到各部分的峰值处理性能,再模拟整体流程测试,重点测试整体业务流程以及业务预期负荷,着重测试以下几点:

1、不同省份,不同运营商CDN节点性能,可采用典型压力测试方案
2、核心机房BGP网络带宽,此部分重点在于测试各运行商的BGP网络可靠性,实际速率,一般采用smokeping,lxChariot等工具
3、各类硬件设备性能,一般采用专业的网络设备测试工具
4、各类服务器并发性能,分布式处理能力,可采用压力测试方案工具
5、业务系统性能,采用业务系统压力测试方案
6、数据库处理性能,这部分需要结合业务系统进行测试,以获取核心业务场景下的数据库的TPS/QPS,
7、如果有支付功能,需要进行支付渠道接口及分流测试,此部分相对而言可能是最大的瓶颈所在,此外还涉及备份方案,容灾方案,业务降级方案的测试。

请对这个系统做出测试用例:一个系统,多个摄像头,抓拍车牌,识别车牌,上传网上,网上展示

功能:

1.每个摄像头都能抓拍车牌;
2.每个摄像头抓拍到的车牌能正常交给系统处理;
3.系统能够正确识别车牌;
4.系统能够将识别出的车牌上传;
5.上传至网络的车牌能够正常展示出来;

一、功能测试

1.使用正常的车牌,保持车牌静止,检查每个摄像头是否能抓拍车牌;
2.使用类似非车牌的写有字的纸板,检查每个摄像头是否抓拍;
3.使用正常的车牌,保持车牌较高速移动,检查每个摄像头是否能抓拍车牌;
4.在多种情况下检查每个摄像头抓拍到的车牌能否正常交给系统处理,如临时断电、断网后能否正常将数据交给系统;
5.使用抓拍到的正常的车牌,交由系统处理,检查系统能否识别车牌;
6.使用非车牌的其他图片,交由系统处理,检查系统能否识别;
7.在多种情况下检查系统能否将正常识别出的车牌进行上传,如临时断电、断网后未上传数据是否能继续上传;
8.构造非车牌的其他内容的数据,检查系统能否将异常内容进行上传;
9.检查上传至网络的车牌能否正常展示出来;
10.上传非车牌的其他内容的数据,检查能否正常显示出来。

二、性能测试

1.同时向一个摄像头展示多个静止的车牌,检查摄像头能否抓拍到多个车牌;
2.同时向一个摄像头展示多个较高速运动的车牌,检查摄像头能否抓拍到多个车牌;
3.抓拍后,检查系统识别车牌的时间是否在需求要求的时间内;
4.模拟大量抓拍照片同时交由系统处理,检查一定压力下系统能否正常识别车牌;
5.模拟大量车牌同时上传,检查一定压力下能否上传成功。

三、安全性测试

1.检查是否能够通过给车牌加装饰物等方法,使摄像头无法抓拍或抓拍后系统无法正常识别车牌。

请你说一说PC网络故障,以及如何排除障碍

(1)首先是排除接触故障,即确保你的网线是可以正常使用的。然后禁用网卡后再启用,排除偶然故障。打开网络和共享中心窗口,单击窗口左上侧“更改适配器设置”右击其中的“本地连接“或”无线网络连接”,单击快捷菜单中的“禁用”命令,即可禁用所选网络。接下来重启网络,只需右击后单击启用即可。
(2)使用ipconfig查看计算机的上网参数
1、单击“开始|所有程序|附件|命令提示符“,打开命令提示符窗口
2、输入ipconfig,按Enter确认,可以看到机器的配置信息,输入ipconfig/all,可以看到IP地址和网卡物理地址等相关网络详细信息。
(3)使用ping命令测试网络的连通性,定位故障范围
在命令提示符窗口中输入”ping 127.0.0.1“,数据显示本机分别发送和接受了4个数据包,丢包率为零,可以判断本机网络协议工作正常,如显示”请求超时“,则表明本机网卡的安装或TCP/IP协议有问题,接下来就应该检查网卡和TCP/IP协议,卸载后重装即可。
(4)ping本机IP
在确认127.0.0.1地址能被ping通的情况下,继续使用ping命令测试本机的IP地址能否被ping通,如不能,说明本机的网卡驱动程序不正确,或者网卡与网线之间连接有故障,也有可能是本地的路由表面收到了破坏,此时应检查本机网卡的状态是否为已连接,网络参数是否设置正确,如果正确可是不能ping通,就应该重新安装网卡驱动程序。丢失率为零,可以判断网卡安装配置没有问题,工作正常。
(5)ping网关
网关地址能被ping通的话,表明本机网络连接以及正常,如果命令不成功,可能是网关设备自身存在问题,也可能是本机上网参数设置有误,检查网络参数。

微信红包


功能

1.在红包钱数,和红包个数的输入框中只能输入数字
2.红包里最多和最少可以输入的钱数  200  0.01
3.拼手气红包最多可以发多少个红包  100
3.1超过最大拼手气红包的个数是否有提醒
4.当红包钱数超过最大范围是不是有对应的提示
5.当发送的红包个数超过最大范围是不是有提示
6.当余额不足时,红包发送失败
7.在红包描述里是否可以输入汉字,英文,符号,表情,纯数字,汉字英语符号,
7.1是否可以输入它们的混合搭配
8.输入红包钱数是不是只能输入数字
9.红包描述里许多能有多少个字符   10个
10.红包描述,金额,红包个数框里是否支持复制粘贴操作
11.红包描述里的表情可以删除
12.发送的红包别人是否可以领取
12.1发的红包自己可不可以领取   2人
13.24小时内没有领取的红包是否可以退回到原来的账户
14.1  超过24小时没有领取的红包,是否还可以领取
15.用户是否可以多次抢一个红包
16.发红包的人是否还可以抢红包   多人
17.红包的金额里的小数位数是否有限制
18.可以按返回键,取消发红包

  1. 断网时,无法抢红包

20.可不可以自己选择支付方式
21.余额不足时,会不会自动匹配支付方式
22.在发红包界面能否看到以前的收发红包的记录
23.红包记录里的信息与实际收发红包记录是否匹配
24.支付时可以密码支付也可以指纹支付
25.如果直接输入小数点,那么小数点之前应该有个0
26.支付成功后,退回聊天界面
27.发红包金额和收到的红包金额应该匹配
28.是否可以连续多次发红包
29.输入钱数为0,"塞钱进红包"置灰

性能

1.弱网时抢红包,发红包时间
2.不同网速时抢红包,发红包的时间
3.发红包和收红包成功后的跳转时间
4.收发红包的耗电量
5.退款到账的时间

兼容

1.苹果,安卓是否都可以发送红包
2.电脑端可以抢微信红包

界面

1.发红包界面没有错别字
2.抢完红包界面没有错别字
3.发红包和收红包界面排版合理,
4.发红包和收到红包界面颜色搭配合理

安全

1.对方微信号异地登录,是否会有提醒   2人
2.红包被领取以后,发送红包人的金额会减少,收红包金额会增加
3.发送红包失败,余额和银行卡里的钱数不会少
4.红包发送成功,是否会收到微信支付的通知

如何对淘宝搜索框进行测试

一, 功能测试

  1. 输入关键字,查看: 返回结果是否准确,返回的文本长度需限制

1.1输入可查到结果的正常关键字、词、语句,检索到的内容、链接正确性;
1.2输入不可查到结果的关键字、词、语句;
1.3输入一些特殊的内容,如空、特殊符、标点符、极限值等,可引入等价类划分的方法等;

  1. 结果显示:标题,卖家,销售量,单行/多行,是否有图片
  2. 结果排序:价格 销量 评价 综合

4.返回结果庞大时,限制第一页的现实量,需支持翻页

  1. 多选项搜索:关键字 品牌 产地 价格区间 是否天猫 是否全国购
  2. 是否支持模糊搜索,支持通配符的查询

7, 网速慢的情况下的搜索

  1. 搜索结果为空的情况
  2. 未登录情况和登录情况下的搜索(登录情况下 存储用户搜索的关键字/搜索习惯)

二.性能测试:

1压力测试:在不同发用户数压力下的表现(评价指标如响应时间等)
2负载测试:看极限能承载多大的用户量同时正常使用
3稳定性测试:常规压力下能保持多久持续稳定运行
4内存测试:有无内存泄漏现象
5大数据量测试:如模拟从庞大的海量数据中搜索结果、或搜索出海量的结果后列示出来,看表现如何等等。

三. 易用性:交互界面的设计是否便于、易于使用

1依据不同的查询结果会有相关的人性化提示,查不到时告知?查到时统计条数并告知?有疑似输入条件错误时提示可能正确的输入项等等处理;
2查询出的结果罗列有序,如按点击率或其他排序规则,确保每次查询出的结果位置按规则列示方便定位,显示字体、字号、色彩便于识别等等;
3标题查询、全文检索、模糊查询、容错查询、多关键字组织查询(空格间格开)等实用的检索方式是否正常?
4输入搜索条件的控件风格设计、位置摆放是否醒目便于使用者注意到,有否快照等快捷查看方式等人性化设计?

四. 兼容性

1WINDOWS/LINUX/UNIX等各类操作系统下及各版本条件下的应用
2IE/FIREFOX/GOOGLE/360/QQ等各类浏览器下及各版本条件下、各种显示分辨率条件下的应用
3SQL/ORACLE/DB2/MYSQL等各类数据库存储情况下的兼容性测试
4简体中文、繁体中文、英文等各类语种软件平台下的兼容性测试
5IPHONE/IPAD、安卓等各类移动应用平台下的兼容性测试
6与各相关的监控程序的兼容性测试,如输入法、杀毒、监控、防火墙等工具同时使用

五. 安全性

1被删除、加密、授权的数据,不允许被SQL注入等攻击方式查出来的,是否有安全控制设计;
2录入一些数据库查询的保留字符,如单引号、%等等,造成查询SQL拼接出的语句产生漏洞,如可以查出所有数据等等,这方面要有一些黑客攻击的思想并引入一些工具和技术,如爬网等。
3通过白盒测试技术,检查一下在程序设计上是否存在安全方面的隐患;
4对涉及国家安全、法律禁止的内容是否进行了相关的过滤和控制;