App测试经验分享之登录注册
要诀
另外自己总结了一些要诀,仅供参考:
1)快:快速操作,营造冲突的场景,例如加载过程中返回键交互,快速点击登录按钮,快速切换菜单项,快速多次上下拉刷新
2)变:手机横竖屏、手机切换语言、手机调整字体、手机禁止权限、手机开启飞行模式、手机网络切换、手机删除后台、手机Home键、手机power键等
3)多:多帐号登录,多手机多系统操作(兼容性),多次频繁操作,后台长时间等待,多数据操作等
4)边:空格、特殊字符、字母大小写、大量字符、什么都不输入、表情符号、null等
5)逆:逆向思维,根据结果来创建场景,业务流程中断,业务流程逆向等
上面是自己总结的一字要诀,大家看看就好。
测试用例设计方法
本人喜欢武侠,练武之高人一般都有较强的内功,而我们测试人员的内功或者武功招式是什么?我想应该就是测试用例的八大设计手段,大家也可以理解为武功招式,如果能灵活应用,想必驰骋众测圈也只是时间问题。
好了,废话不多说了,让我们简单先回顾下测试用例的设计方法:
1) 等价类划分:把程序所有可能的输入域划分成若干部分,然后从中选取少数具有代表性的数据作为测试用例
2) 边界值分析:对输入或输出的边界值进行测试的一种黑盒测试方法
3) 错误推测法:基于经验和直觉推测程序中所有可能存在的各种错误
4) 因果图方法:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况
5) 正交试验法:根据正交性从全面试验中挑选出部分具有代表性的点进行试验,这些代表性的点具备了均匀分散,齐整可比的特点
6) 判定表驱动:若功能说明中存在输入条件的组合情况,则结合因果图法,采用判定表驱动方法来设计测试用例
7) 场景设计法:同一事件的不同触发顺序和处理结果形成了事件流,根据不同的事件流来设计用例
8) 功能图方法:使用功能图形象地表示程序的功能说明,并机械地生成功能图的测试用例
综上所述,前面3种方法应该是平常测试运用最多的用例设计方法,下面主要采用错误推测法来展示“登录注册”模块常见的问题点。
登录注册易崩溃测试点
大家都知道移动端大部分App都会有登录注册功能,这个模块的测试工作也显得格外重要,自己总结了一些容易发现闪退和崩溃问题的测试点,具体如下:
1、页面基本元素的操作,验证是否可以正常操作,常见的问题比如“登录页面元素点击后无法正常响应(协议、按钮)和手机按键(返回键等),页面元素点击后响应不正常”
2、特殊字符的校验,验证系统是否会出现异常,具体特殊字符比如“空格,中英文,表情符号,特殊字符,null等特殊字符串等”,常见的问题比如“输入框输入特殊字符系统闪退或提示系统错误”,“输入框输入表情符号解析成问号”等
3、大量字符的测试应用,常见的问题比如“输入框输入大量字符闪退”,“大量字符导致的遮挡”,“大量字符处理过程中切换前后台闪退”等
4、边界值校验,主要体现在“输入框长度的校验”,“验证码获取次数上限”,“验证码过期的时效性”,“邮件中激活的时效性”等
5、页面跳转验证,包括App左上角返回键,手机系统返回键跳转以及各页面的交互跳转
6、密码的大小写是否敏感验证,注册账号大小写敏感验证
7、登录注册过程中跟系统按键的交互,主要包括返回键交互,Home键交互,Power键交互,飞行模式按键交互,网络开关切换交互等
8、信息不完整时的操作,例如“填写不完整信息登录注册”,“不输入任何内容登录注册”,“必填项不完整登录注册”等
9、常见的逆向思维,例如“已注册账号注册”,“未注册账号忘记密码”,“未注册账号登录”,“注册过程中返回后继续注册”等
10、验证码的验证,“必填性校验”,“错误验证码”,“过期验证码”,“无网络获取验证码”,“输入正确的验证码后修改手机号注册”,“重新获取验证码,获取验证码按钮多次点击”等
11、模块间数据统一性验证,登录注册和忘记密码界面各输入框的格式规范统一等
12、网络交互,常见的操作“输入完整内容断网登录或注册”,“登录注册加载过程中断网”,“连接无外网WiFi的操作”,“断网恢复网络后的操作”,“3G/4G等数据流量下的操作”,“弱网环境下的系统表现”,“网络设置代理服务器后的操作”等
13、手机号的特殊性验证,除了常见的手机号,还有一些虚拟的手机号验证,比如170号段,147号段等,另外还有携号转网的手机号是否可以正常注册等
14、输入法的交互,输入框输入内容调出键盘时,“快速切换键盘上的按键容易出现闪退”, “切换到手写输入法输入内容闪退”,“调出键盘后点击返回键键盘未隐藏”,“频繁调出键盘隐藏键盘,闪现其他界面”,“注册时输入正确的邮箱点击键盘上的完成无法进行注册”等
15、快速操作后出现的问题,比如“登录界面快速点击登录按钮多次闪退”,“注册成功自动登录后快速修改个人资料保存闪退”,“多次点击获取验证码按钮闪退”等
16、App跟手机系统设置之间的交互,比如“修改字体后登录注册”,“修改手机语言后登录注册”,“登录注册界面切换横竖屏操作”等
17、密码的安全性验证,常见易错点“密码明文显示”,“密码缺少明暗文切换按钮”,“通过抓包工具截取接口日志可以看到密码等敏感信息”,“获取验证码后可以通过抓包截获验证码”,“登录过程中抓包可以看到数据库表名和SQL语句”,“服务器主机ip和端口未通过nginx映射,用户能获取真实ip”,“客户端请求服务端,没有传递的安全令牌token,容易被恶意攻击”等
18、登录注册模块,容易出现的错别字,比如“登录界面输入错误的账号密码登录提示信息含有错别字(账号/帐号,登录/登陆,记录/纪录)”
19、输入框隐藏的操作,比如“长按输入框内容”,“删除输入框内容”,部分人可能容易忽略长按这种操作,只熟悉点击操作,常见问题“长按输入框内容弹出框未本地化”,“长按输入框内容弹出菜单项不可点击”等
20、杀掉App进程重新登录,常见问题如下“杀掉App进程后重新进入App相关数据消失”等
21、登录账号的多样性,比如“新版本旧账号的注册问题”,“首次注册账号登录后数据的情况”,“多个账号退出登录轮流切换数据处理情况”,“同一个账号存在多个角色登录的情况”等
22、第三方登录的验证,主要关注“第三方账号授权时的信息正确性”,“未安装第三方App登录时的系统反应”等
23、手机兼容性验证,一般App向下兼容的最低版本问题比较多,使用低版本手机测试容易发现一些兼容性闪退问题
24、注册账号邮件格式的验证,“邮件中含有特殊字符的正确邮箱无法注册”,“邮箱的大写敏感问题”,“已注册的邮箱再次注册”,“邮箱的长度格式验证”等
以上测试点是平时在众测中测试时出现问题且概率比较大的点,大家可以针对性的进行测试,而没有必要死搬测试用例的场景来测试,这样省时且效率高,大家再回顾下我们设计用例的方法,会发现平常容易出现Bug的测试点其实都可以通过用例设计的方法设计出来。
App测试经验分享之登录注册的更多相关文章
- 手机APP功能测试经验分享2016.06.06
1.登录时,Android和IOS同样的操作,提示信息不一致: 2.注册等页面切换成横屏容易不兼容.把内存卡去掉,再发送图片.音频.视频容易出错. 3.Android和IOS同样的功能,同样的原型图, ...
- APP测试经验总结
app测试哪几项: 每一款APP上线之前都需要经过严格的测试,测试周期可按项目开发周期来确定测试时间,一般测试时间为两三周(15个工作日),不过这个根据项目实际情况,可能推迟或提前的. ...
- 我在Xcode 6上Swift框架的测试经验分享
我耗费了两个多月时间来琢磨Swift作为一门函数是编程语言都能做些什么,而今已经转移 到使用Swift来开发库文件了. 我花了一天的时间,最后发觉之前做的Swift特性探究是相当愉快的经历,我发现仍旧 ...
- 使用Webpack+Gulp开发运行于Dcloud平台HTML5+引擎的混合APP项目经验分享
什么是5+Runtime? 首先简单介绍一下5+Runtime: HTML5 Plus Runtime(5+Rumtime)是由Dcloud开发的一套"增强版的手机浏览器引擎",与 ...
- camera主观测试经验分享.ppt33页
http://max.book118.com/html/2016/0802/50061502.shtm http://www.docin.com/p-1408441708.html
- 包建强的培训课程(4):App测试深入学习和研究
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- 用vue开发一个app(4,一个久等了的文章)H5直播平台登录注册(1)
我上一篇关于vue的文章和这一篇时间隔了有点久了.最近终于写完了. 因为我一直想写个有点实绩的东西,而不是随便写一个教程一样东西.结合最近在项目中学到的经验和我的一点创意. 首先介绍下这是个什么! H ...
- 一次压力测试Loadrunner经验分享
一次压力测试Loadrunner经验分享 http://blog.csdn.net/lxlmj/article/category/553431 loadrunner测试socketstcpserver ...
- 【招聘App】—— React/Nodejs/MongoDB全栈项目:登录注册
前言:最近在学习Redux+react+Router+Nodejs全栈开发高级课程,这里对实践过程作个记录,方便自己和大家翻阅.最终成果github地址:https://github.com/66We ...
随机推荐
- outlook撤回已发送邮件
官方教程参考: https://support.office.com/zh-cn/article/%E5%8F%91%E9%80%81%E9%82%AE%E4%BB%B6%E5%90%8E%E6%92 ...
- java.lang.Error: Unresolved compilation problems: Syntax error on token "return", delete this token Type mismatch: cannot convert from Init to String
java.lang.Error: Unresolved compilation problems: Syntax error on token "return", delete ...
- 【python】-- Django 分页 、cookie、Session、CSRF
Django 分页 .cookie.Session.CSRF 一.分页 分页功能在每个网站都是必要的,下面主要介绍两种分页方式: 1.Django内置分页 from django.shortcuts ...
- MySQL中一致性非锁定读
一致性非锁定读(consistent nonlocking read)是指InnoDB存储引擎通过多版本控制(multi versionning)的方式来读取当前执行时间数据库中行的数据,如果读取的行 ...
- Latex技巧:在图表序号中加入章节号(实现诸如“图1.1.2”这样的图表序号)
平时看书经常看到"图1.2"这样的编号,含义是第1章的第2幅插图:或者"图1.1.2",含义是第1章第1节的第2幅插图.而在LaTeX中如果直接插图的话只会显示 ...
- from PyQt4.QtGui import * 提示 ImportError: DLL load failed: %1 is not a valid Win32 application.
个人用64位电脑安装了64位的PyQt后 from PyQt4.QtGui import * 提示 ImportError: DLL load failed: %1 is not a valid Wi ...
- 剑指offer 面试7题
面试7题: 题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{ ...
- 简单理解List、set、Map接口之间的联系和区别
联系:Collection与Map属于同等关系,但Map依赖与Collection.Coolection接口的子类包含List(ArrayList.LinkedList等).Set(HashSet.T ...
- SQL SREVER, ORACLE数据库连接字符串
采用windows身份验证模式 Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;
- iOS AVPlayer 学习
1 .使用环境: 在实际开发过程中 有需要展示流媒体的模块 ,需求非常简单 :播放 和 暂停 ,其实这个时候有很多选择 ,可以选择 MPMoviePlayerController(MediaPlaye ...