如果问的是测试的整个流程,而不单单是用例设计,应该包含制定测试计划、阅读需求文档、写用例、执行、回归。
在设计测试用例时一般从以下几个方面进行分析:功能测试,性能测试,界面测试,安全性测试,兼容性测试,可用性测试,可靠性测试,本地化/国际化测试。
一、常见实物测试题
1、测试项目——电梯
需求测试:查看电梯使用说明书,安全说明书等。
功能测试:
1、上升键和下降键,电梯的楼层按钮是否正常;
2、 开关键是否正常,报警装置是否安装,报警电话是否可用;
3、通风状况如何,是否有手机信号;
4、在电梯上升过程中的测试,比如电梯在1楼,有人按了18楼,在上升到5楼的时候,有人按了10楼,电梯会不会停;
5、在电梯下降过程中的测试,比如电梯下降到10层时显示满员,若有人在5楼等待,此时还会不会停。
压力测试:
看电梯的最大承重重量,在电梯超重时,报警装置是否启用,在一定时间内让电梯连续的上升和下降,看在最大负载条件下平稳运行的时间。
界面测试:
查看电梯的外观,电梯的按钮是否好用(开和关按钮设计的图标不容易区分),电梯的说明书是否有错别字。
可用性测试:
电梯的按钮是否符合人的使用习惯。
用户文档:
使用手册是否对电梯的使用,限制等有描述。
2、测试项目——杯子
需求测试:查看杯子的使用说明书,安全说明书等。
功能测试:
1、杯子能否装水;
2、可以装多少L的水;
3、杯子是否可以放冰箱;
4、水可不可以被喝到。
安全性测试:
1、杯子有没有毒和细菌;
2、杯子从高处坠落,是否已破;
3、杯子是否有缺口,容易滑倒嘴巴;
4、将杯子放入微波炉中,是否爆炸或融化;
性能测试:
1、看杯子能够容纳的最大体积和最高温度;
2、将杯子盛上水,经过24小时后查看杯子的泄露情况和时间(可分别使用水和汽油做测试);
3、将杯子装上填充物,看不会摔破的最高度;
4、用根针并在针上面不断加重量,看压强多大时会穿透;
可用性测试:杯子是否好拿,是否烫手,是否防滑,是否方便饮用。
兼容性测试:除了装水,是否还可以装其它的液体,比如果汁,汽油等。
界面测试:查看杯子的外观:杯子是什么材质的,颜色,外形,重量,图案是否合理,是否有异味。
用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述。
3、测试项目——笔
1、需求测试:查看使用说明书。
2、功能测试:能不能写字 。
3、界面测试:查看笔的外观 。
4、可靠性:笔从不同高度落下摔坏的程度。
5、安全性:笔有没有毒或细菌 。
6、可移植性:笔在不同的纸质、温度等环境下是否可以使用。
7、兼容性:笔是否可以装不同颜色、大小的笔芯 。
8、易用性:是否方便使用、方便携带 。
9、压力测试:给笔不断的增加重力,观察压力多大时压坏。
10、震动测试:笔在包装时,各面震动,检查是否能应对恶劣的公路、铁路、航空运输。
11、跌落测试:笔包装时,在多高的情况下摔不坏。
4、测试项目——桌子
需求测试:查看桌子相关的使用说明书。
功能测试:桌子是办公用的还是防治东西用的,桌子的面积大小是否适合;
界面测试:桌子的桌面是否平滑,有没有凹凸不平的地方;
安全性测试:桌子的支撑点是否可靠;将桌子推倒后,它的损坏情况;
压力测试:桌子可以承受的重量;
可用性测试:桌子是否好移动;它的重量是否合适;
5、测试项目——洗衣机
需求测试:查看洗衣机的使用说明书。
功能测试:洗衣机是否正常的洗衣服;
安全性测试:洗衣机是否漏电;
兼容性测试:除了洗衣服是否还可以洗其它的;
性能测试:使用时电量如何,是否满足客户需求;加到一定量的衣服后,过一段时间,看洗衣机是否正常洗;通过逐步增加系统负 载,最终确定在什么负载条件下系统性能将处于崩溃状态,以此获得系统能提供的最大服务
界面测试:洗衣机的外观是否符合用户的需求;
可用性测试:洗衣机的操作是否简单已操作;
二、网页相关测试题
1.如何测试网页的登录页面
功能测试(Function test):用户名、密码、登录按钮、记住用户/密码
- 输入正确的用户名和密码,点击提交按钮,验证是否能正确登录。
- 输入错误的用户名或者密码, 验证登录会失败,并且提示相应的错误信息。
- 登录成功后能否能否跳转到正确的页面
- 用户名和密码,如果太短或者太长,应该怎么处理
- 用户名和密码,中有特殊字符,和其他非英文的情况
- 记住用户名/密码的功能
- 登陆失败后,不能记录密码的功能
- 用户名和密码前后有空格的处理
- 密码是否以星号显示
界面测试(UI Test):布局合理、重点突出、符合UI设计稿
- 布局是否合理,2个testbox 和一个按钮是否对齐
- testbox和按钮的长度,高度是否复合要求
性能测试(performance test):高并发、正常操作打开页面/跳转页面需要的时间
- 打开登录页面,需要几秒
- 输入正确的用户名和密码后,登录成功跳转到新页面,不超过5秒
- 借助于Jmeter进行压力测试
安全性测试(Security test):cookie防盗、用户信息加密、SQL注入、脚本注入、登录次数限制
- 登录成功后生成的Cookie,是否是httponly (否则容易被脚本盗取)
- 用户名和密码是否通过加密的方式,发送给Web服务器
- 用户名和密码的验证,应该是用服务器端验证, 而不能单单是在客户端用javascript验证
- 用户名和密码的输入框,应该屏蔽SQL 注入攻击
- 用户名和密码的输入框,应该禁止输入脚本 (防止XSS攻击)
- 错误登陆的次数限制(防止暴力破解)
可用性测试(Usability Test):回车键登录、全键盘操作
- 是否可以全用键盘操作,是否有快捷键
- 输入用户名,密码后按回车,是否可以登陆
- 主流的浏览器下能否显示正常已经功能正常(IE,6,7,8,9, Firefox, Chrome, Safari,等)
- 不同的平台是否能正常工作,比如Windows, Mac
- 移动设备上是否正常工作,比如Iphone, Andriod
- 不同的分辨率
2.测试购物车功能
功能测试:
·1. 整体:所有链接的跳转功能正常
2. 流程测试:
·(1)登录:若未登录,点击购物车,则提示用户输入用户名和密码,或者提示其他的非注册用户购物方式;
(2)显示:
商品价格、数量正确;
打折、优惠券、降价、库存告急信息;
下架商品灰色信息会归类后显示;
秒杀商品的价格变化(高并发下显示正确);
(2)增加:从商品信息页面添加的商品能显示在购物车中;
(3)刷新:购物车页面打开的同时,在其他页面添加了商品,购物车页面刷新后,新的商品能显示;
(4)编辑:购物车页面中,可以对添加的商品信息做信息的修改,并自动保存成功;·
· (5) 勾选:勾选商品后,已选商品的总价会显示,结算按钮变高亮可点击工作;
(6)结算:商品未勾选的状态下,结算按钮是灰色无法点击的;勾选商品,点击结算按钮后,进入确认订单信息页面;
3. 其他:购物车能添加的商品种类是有数量上限的;
界面测试:
·打开页面后,页面的布局是否合理,显示是否完整;
·鼠标浮动在购物车按钮,迷你购物车界面显示是否正常;
·不同卖家的商品在不同的table区域显示,区分明显;
·页面的tooltips能正常显示;
性能测试:
·打开购物车页面要多久;
跳转到结算需要多久;
高并发
可用性测试:
·快捷键功能支持
兼容测试:
·不同浏览器上的测试功能是否正常;
移动端兼容性测试
3.支付功能测试
支付功能测试的执行
1、公司交给专门负责支付接口等相关的人员进行支付测试
2、如果是支付宝支付可以用到支付沙漏,模拟支付测试。但是好像只能核对成功支付的情况。
3、给公司申请测试备用金,继续实际支付操作
4、把收款方改成自己的收款账号。这样就可以自己支付,自己收款,避免浪费自己的金钱做公司项目的支付测试。但是这也是有风险的。万一扣款成功,但是支付的金额 没有到账 可该怎么办?
支付功能测试考虑点
支付功能在很多软件应用中常常涉及到。支付功能的测试关注点是有没有出现资损 和事务的一致性。
一、在支付金额上
1、金额的最小值 :如0.01
2、无实际支付意义的金额:如0元订单
3、支付金额错误:格式错误 、数字错误(支付金额为负数)
3、超大金额 :设置的最高金额上限。(如微信红包单个最大值为200等)
4、余额小于实际需要支付的金额
5、银行卡或其他设置当日消费金额或者是单笔消费金额超限
二、支付接口上
关于支付会设计到很多第三方接口的相关的事件。比如:支付宝 、微信、网银系统 、手机银行、POS机的终端服务 甚至是 扫码枪 等硬件设备也是有关系的。
三、支付的操作问题上
1、指纹支付
2、免密支付
3、账号+密码支付
4、动态获取支付验证码支付
5、银行卡号+密码绑定支付
6、信用卡可能会设计到支付码等
如今的支付方式多样化、快捷支付和银行卡支付之间的差异性。信用卡和普通储蓄卡之间的差异处。等都是需要考虑的。
四、产品的容错性上(异常处理)
1、如何处理退款
2、支付时出现断网
3、支付失败之后 如何补单和退单
4、支付金额不足的情况下 ,充值后 是否可以继续支付
5、持续点击 是否会出现多次扣款
6、如果发生多次扣款,如何退款到支付账号
五、产品后台处理上
成功订单的账务处理、失败订单的账务处理、退款订单的账务处理、差错账处理等等。
支付流程:
1:正常的发起一笔流量充值请求,检查点:
1)用户发过去的信息有携带key值
2)商户系统本地数据会留存一份用户的订单信息,并且会根据每笔订单信息生成一笔支付信息(同时留存到本地)
3)第三方支付成功,第三方有存支付订单信息
4)充值成功,用户的流量余额有对应增加
异常用例
1、修改用户发过去的数据:
1)产品ID 与价值不对等---->检查点:篡改数据和key,检查商户系统报错:key值不对或者是用户数据有误。
2)取消充值流量
3)重复发起流量充值请求
2、商户系统-第三方之间:
1)密钥搞错-第三方报错,不接收密钥
2)提交商户系统里面不存在的订单/支付订单->第三方这里也是不能通过请求
3)篡改用户支付金额-->第三方也要检查
3、第三方--用户之间:
1)支付密码错误/余额不足
2)取消支付
3)重复支付[对账--->处理退款]
退款流程
正常的用例:
1.用户发起退款--->该用户的订单以及支付订单号都要存在。---检查点:商户系统/第三方检查数据没有问题,可以退款成功--->交易状态改成退款
异常用例:
1:无故发起退款:提交不存在的订单号或者支付订单号 --->订单号不存在/支付订单号不存在
2:信息不匹配发起退款:提交订单号与支付订单号不匹配的数据--->订单号/支付订单号有误
3:退款大于实际金额:提交的退款金额大于实际支付订单的金额-->商户系统要报错
4:商户系统这里发过去的请求:退款金额大于实际支付金额-->第三方要报错
三、直接问怎么测试,而不是设计测试用例
问:给你一个网站,你如何测试?
(1)首先,查找需求说明、网站设计等相关文档,分析测试需求。
(2)制定测试计划,确定测试范围和测试策略,一般包括以下几个部分:功能性测试;界面测试;性能测试;数据库测试;安全性测试;兼容性测试。
(3)设计测试用例:
功能性测试可以包括,但不限于以下几个方面:
- 链接测试。链接是否正确跳转,是否存在空页面和无效页面,是否有不正确的出错信息返回。
- 提交功能的测试。
- 多媒体元素是否可以正确加载和显示。
- 多语言支持是否能够正确显示选择的语言等。
界面测试可以包括但不限于一下几个方面:
- 页面风格统一,美观
- 页面布局合理,重点内容突出
- 控件是否正常使用
- 对于必须但未安装的控件,是否提供自动下载并安装的功能
- 文字检查
性能测试一般从以下两个方面考虑:
压力测试;负载测试;强度测试
数据库测试要具体决定是否需要开展。数据库一般需要考虑连结性,对数据的存取操作,数据内容验证等方面。
安全性测试:
- 基本的登录功能的检查
- 是否存在溢出错误,导致系统崩溃或者权限泄露
- 相关开发语言的常见安全性问题检查,例如SQL注入等
- 如果需要高级的安全性测试,确定获得专业安全公司的帮助,外包测试,或者获取支持
兼容性测试,根据需求说明的内容,确定支持的平台组合:
- 浏览器的兼容性;
- 操作系统的兼容性;
- 软件平台的兼容性;
- 数据库的兼容性
(4)开展测试,并记录缺陷。合理的安排调整测试进度,提前获取测试所需的资源,建立管理体系(例如,需求变更、风险、配置、测试文档、缺陷报告、人力资源等内容)。
(5)定期评审,对测试进行评估和总结,调整测试的内容。
四、微信拼手气红包测试
五、微信支付功能测试
六、微信朋友圈点赞功能
https://www.cnblogs.com/shenyexiaoqingxin/p/11352263.html
功能测试
是否可以点赞
取消点赞
多次点赞会出现什么情况
多人点赞时的顺序是否按照时间顺序进行排列
点赞是否显示头像和名称
点赞之后能否进行评论
点赞之后退出该页面,再次进入朋友圈点赞消息是否还存在
多用户点赞,再次打开朋友圈是是否可以按照顺序看到是谁谁谁赞了我
接口测试
点赞之后相同好友是否收到提示信息
相同好友处的提示信息是否按照时间顺序
相同好友处的点赞是否显示头像和名称
兼容测试
电脑端和手机端是否都可以进行点赞和取消点赞功能
不同的移动端是否都可以行点赞和取消点赞功能(包括苹果,安卓)
可用性测试
弱网的时候进行点赞是什么情况
网络断开时是否可以点赞
用户点击点赞几秒后可以看到点赞成功,取消同理
多用户同时给我点赞时,我是否可以全部接收到提示消息
安全性测试
点赞是否会泄漏微信用户相关信息
七、输入法相关测试
https://blog.csdn.net/lilililililydia/article/details/100940931