当前位置:网站首页>面试官:设计“抖音”直播功能测试用例吧
面试官:设计“抖音”直播功能测试用例吧
2022-08-02 05:07:00 【程序员小雷】
Q:微博发动态,设计一下测试点」
虽说是发动态,但是测试时不能只是关注发动态这一操作的功能,发完动态之后,我们要确保动态要对外可见(对关注的人可见),单单测试发动态这个操作,实际上意义是不大的,毕竟只测发动态,不能实现测试闭环。
所以测试用例一定要把整个使用流程的case都要涉及到,避免漏测。
「Q:对一台自动售货机进行测试用例设计」
对于针对于 投币支付 这个测试点,还可以用 因果图法 去求解,我会之后会出一片文章说明的
「Q:设计微信发红包测试用例」
「Q:设计抖音直播功能测试用例」
除了下图列举的一些测试点之外,还需要考虑 后台 的测试,譬如:审核后台、监控平台、数据中台 等等
「Q:微信红包是先计算每个人能获得的钱还是当这个人点了再计算。」
当这个人点了抢红包再进行实时计算,目的:预先算好每个人获得的钱,会占用大量存储空间,而采用红包算法进行纯内存计算,不需要预算空间存储,节约成本。
「Q:编写一个登录界面的测试用例?」
「功能测试」
- 输入正确的用户名和密码,点击提交按钮,验证是否能正确登录。
- 输入错误的用户名或者密码,验证登录会失败,并且提示相应的错误信息。
- 登录成功后能否能否跳转到正确的页面
- 用户名和密码,如果太短或者太长,应该怎么处理
- 用户名和密码,中有特殊字符(比如空格),和其他非英文的情况
- 记住用户名的功能登陆失败后,不能记录密码的功能用户名和密码前后
- 有空格的处理密码是否非明文显示显示,使用星号圆点等符号代替。
- 牵扯到验证码的,还要考虑文字是否扭曲过度导致辨认难度大,考虑颜色(色盲使用者),刷新或换一个按钮是否好用
- 登录页面中的注册、忘记密码,登出用另-帐 号登陆等链接是否正确
- 输入密码的时候,大写键盘开启的时候要有提示信息。
- 什么都不输入,点击提交按钮,检查提示信息。
「界面测试」
- 布局是否合理,testbox 和按钮是否整齐。
- testbox和按钮的长度,高度是否符合要求。
- 界面的设计风格是否与UI的设计风格统一-。
- 界面中的文字简洁易懂,没有错别字。
「性能测试」
- 打开登录页面,需要的时间是否在需求要求的时间内。
- 输入正确的用户名和密码后,检查登录成功跳转到新页面的时间是否在需求要求的时间内。
- 模拟大量用户同时登陆,检查一定压力下能否正常登陆跳转。
「安全性测试」
- 登录成功后生成的Cookie,是否是httponly(否则容易被脚本盗取)。
- 用户名和密码是否通过加密的方式,发送给Web服务器。
- 用户名和密码的验证,应该是用服务器端验证,而不能单单是在客户端用javascript验证。
- 用户名和密码的输入框,应该屏蔽SQL注入攻击。
- 用户名和密码的的输入框,应该禁止输入脚本(防止 XSS攻击)。
- 防止暴力破解,检测是否有错误登陆的次数限制。是否支持多用户在同一机器上登录。
- 同一用户能否在多台机器上登录。
「可用性测试」
- 是否可以全用键盘操作,是否有快捷键。
- 输入用户名,密码后按回车,是否可以登陆。
- 输入框能否可以以Tab键切换。
兼容性测试」
- 不同浏览器下能否显示正常且功能正常
- 同种浏览器不同版本下能否显示正常且功能正常。
- 不同的平台是否能正常工作,比如Windows、Mac
- 移动设备上是否正常工作,比如iPhone、Andriod。
- 不同的分辨率下显示是否正常。
本地化测试」
- 不同语言环境下,页面的显示是否正确。
「Q:如何对一个接口编写测试用例」
大多数接口测试,都习惯把接口当作 黑盒 进行测试,「如下图的测试用例也是按 黑盒 的测试方式去设计」。
但是,接口测试也可以多关注接口本身的编码。
没错,可利用 白盒测试 的手段,进行必要的单元测试和Code Review,覆盖业务代码逻辑,关注上下游服务之间的调用,这样能够更好的保证接口质量。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:938856006资料在裙里,需要可以自取
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
既然都看到这里啦,请你帮个忙:
1、点赞,让更多小伙伴看到;
2、关注我,持续更新测试干货。
边栏推荐
- MySQL 5.7 detailed download, installation and configuration tutorial
- interrupt()、interrupted()和isInterrupted()你真的懂了吗
- prisma使用mongodb副本集群报错引发的一些列问题
- 力扣 2127. 参加会议的最多员工数 拓扑剪枝与2360补充
- navicat新建数据库
- c语言:查漏补缺(三)
- go语言中的goroutine(协程)
- How Navicat Connects to MySQL
- Android studio connects to MySQL and completes simple login and registration functions
- Navicat如何连接MySQL
猜你喜欢
JUC(一)- JUC学习概览 - 对JUC有一个整体的认识
21 Day Learning Challenge Schedule
MySQL如何对SQL做prepare预处理(解决IN查询SQL预处理仅能查询出一条记录的问题)
51单片机外设篇:红外通信
Three methods of importing sql files in MySQL
[Digital IC hand-tear code] Verilog fixed priority arbiter | topic | principle | design | simulation
12 reasons for MySQL slow query
The company does not pay attention to software testing, and the new Ali P8 has written a test case writing specification for us
AMQP协议详解
面试测试工程师一般会问什么?测试主管告诉你
随机推荐
165.比较版本号
非关系型数据库MongoDB的特点及安装
H5接入支付流程-微信支付&支付宝支付
Mysql常用命令大全
The company does not pay attention to software testing, and the new Ali P8 has written a test case writing specification for us
Timing task library in the language use Cron, rounding
el-input 只能输入整数(包括正数、负数、0)或者只能输入整数(包括正数、负数、0)和小数
JUC(一)- JUC学习概览 - 对JUC有一个整体的认识
本周大新闻|苹果MR已进行Pre-EVT测试,Quest 2涨价100美元
对node工程进行压力测试与性能分析
Navicat如何连接MySQL
mysql 存储过程详解
mysql实现按照自定义(指定顺序)排序
ELK日志分析系统
MySQL 5.7 upgrade to 8.0 detailed process
Android studio connects to MySQL and completes simple login and registration functions
Google Chrome(谷歌浏览器)安装使用
leetcode 665. Non-decreasing Array 非递减数列(中等)
MYSQL unique constraint
Android Studio 实现登录注册-源代码 (连接MySql数据库)