要诀

另外自己总结了一些要诀,仅供参考:

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测试经验分享之登录注册的更多相关文章

  1. 手机APP功能测试经验分享2016.06.06

    1.登录时,Android和IOS同样的操作,提示信息不一致: 2.注册等页面切换成横屏容易不兼容.把内存卡去掉,再发送图片.音频.视频容易出错. 3.Android和IOS同样的功能,同样的原型图, ...

  2. APP测试经验总结

    app测试哪几项:     每一款APP上线之前都需要经过严格的测试,测试周期可按项目开发周期来确定测试时间,一般测试时间为两三周(15个工作日),不过这个根据项目实际情况,可能推迟或提前的.    ...

  3. 我在Xcode 6上Swift框架的测试经验分享

    我耗费了两个多月时间来琢磨Swift作为一门函数是编程语言都能做些什么,而今已经转移 到使用Swift来开发库文件了. 我花了一天的时间,最后发觉之前做的Swift特性探究是相当愉快的经历,我发现仍旧 ...

  4. 使用Webpack+Gulp开发运行于Dcloud平台HTML5+引擎的混合APP项目经验分享

    什么是5+Runtime? 首先简单介绍一下5+Runtime: HTML5 Plus Runtime(5+Rumtime)是由Dcloud开发的一套"增强版的手机浏览器引擎",与 ...

  5. camera主观测试经验分享.ppt33页

    http://max.book118.com/html/2016/0802/50061502.shtm http://www.docin.com/p-1408441708.html

  6. 包建强的培训课程(4):App测试深入学习和研究

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  7. 用vue开发一个app(4,一个久等了的文章)H5直播平台登录注册(1)

    我上一篇关于vue的文章和这一篇时间隔了有点久了.最近终于写完了. 因为我一直想写个有点实绩的东西,而不是随便写一个教程一样东西.结合最近在项目中学到的经验和我的一点创意. 首先介绍下这是个什么! H ...

  8. 一次压力测试Loadrunner经验分享

    一次压力测试Loadrunner经验分享 http://blog.csdn.net/lxlmj/article/category/553431 loadrunner测试socketstcpserver ...

  9. 【招聘App】—— React/Nodejs/MongoDB全栈项目:登录注册

    前言:最近在学习Redux+react+Router+Nodejs全栈开发高级课程,这里对实践过程作个记录,方便自己和大家翻阅.最终成果github地址:https://github.com/66We ...

随机推荐

  1. SharePoint解决方案及开发系列(2)-ECM

    很多次跟客户做咨询及沟通的时候,客户都问SharePoint能做什么?是不是就是做文档管理?为什么要花那么多的钱没SharePoint?高大上? 我上家公司面试的时候,我的那个BOSS面试官有一个问题 ...

  2. Cocos2d-x Lua Node与Node层级架构

    Cocos2d-x Lua采用层级(树形)结构管理场景.层.精灵.菜单.文本.地图和粒子系统等节点(Node)对象.一个场景包含了多个层,一个层又包含多个精灵.菜单.文本.地图和粒子系统等对象.层级结 ...

  3. EasyNVR对接EasyCloud视频云平台进行云端录像

    EasyCloud视频云平台是一套能够接入各种类型流,进行统一的设备管理.直播.录像.回放的视频平台,同时,EasyCloud视频云平台集成了云端运维功能,在云端就可以直接维护和控制各个现场的软件运行 ...

  4. Intellij IDEA工具的常用快捷键

    掌握如下常用快捷键可以使自己的开发效率提供十倍. ctrl + B : 转到类或者方法的定义 ctrl + Alt + B:弹出接口/虚类的实现类/子类 ctrl + Alt + 左箭头/右箭头 : ...

  5. 根据字段表 自动创建 表SQL

    create PROC CreateTableSql ) AS ) ,) ,) ) ,) ,) ,@IsIdentity bit ,@IsNull bit ,@IsPrimaryKey bit ),) ...

  6. [转载]mvc:view-controller

    1.重定向 ? 1 <mvc:view-controller path="/" view-name="redirect:/admin/index"/> ...

  7. 交叉熵(Cross-Entropy) [转载]

    交叉熵(Cross-Entropy) 交叉熵是一个在ML领域经常会被提到的名词.在这篇文章里将对这个概念进行详细的分析. 1.什么是信息量? 假设X是一个离散型随机变量,其取值集合为X,概率分布函数为 ...

  8. docker快速构建oracle数据库

    1.查看可用镜像docker search oracle2.拉去想要的镜像docker pull wnameless/oracle-xe-11g3.基于wnameless/oracle-xe-11g创 ...

  9. 根据URL请求 返回XML字符串

    public static string GetHttpResponse(string url) { string content = ""; // Create a new Ht ...

  10. 剑指offer 面试29题

    面试29题: 题目:顺时针打印矩阵(同LeetCode 螺旋矩阵打印) 题:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 1 2 3 4 5 6 7 8 9 ...