APP测试常见闪退bug以及、测试需关注点
⼀、 app出现闪退的原因:
1.空指针:对象没有初始化就使⽤了;
2.空函数:有事件源但没有对应的事件对象;
3死循环:没有合理的循环控制流;
4.内存泄露:同⼀个对象不停地开辟,⽽且没有释放;
5.内存溢出:程序所消耗的内存⼤于硬件提供的内存;
6.⽹络:异步加载时提前调⽤了数据(现象是在弱⽹时,根源是空指针);
7.界⾯UI:像拍照没有附加于ControlView;
8.主线程:需要主线程执⾏的,放于⼦线程⾥执⾏了。⽐如:⽹络电话--⽹络电话是⽤C语⾔写的,在⾼级语⾳中要调⽤中,需要加线程转换。
bug注意点:
1. 因为ios系统有不断的更新,所以会出现关于兼容性的问题,如果同⼀个⽤户在android和ios上登录后,记录应该都是⼀样的。⼿机软
件android系统上测试要特别注意,android⼿机款式多,内存⼴,分辨率多样式,所以测试难度也⽐较⼤。
2. 我们的软件有⼀个问题⼀直⾛不去,就是在⼿机上如果应⽤开发过多,占内存空间⼤,就会出现闪退现象。
3. 新的版本上线前,⼀定要测试旧的版本,不能因为新版本上线了,⽽旧版本导致不能⽤,⽤旧版本的的⽤户还是⼤有⼈在。有⼀次测
试过新版本注册的⽤户去玩旧版本,结果就有出错,当然这样测试的⼈⼀般会很少。
4. 如果⼀页⾯⾥有很多条记录⾥,要注意上下多滑动,
5. 在测试过程中,好⼏次在上下滑动中⼜由于数据出现错误,导致闪退,尤其是android⽅⾯到了某个页⾯,突然断⽹了,然后你在不知情的
情况下,点击某个按钮想继续往下⾛,此时出现闪退的情况,⽽要给出断⽹提⽰信息。⽂本框校验时
金马奖刘德华采⽤等价类划分法,边界值法,错误推测法与场景法,⾄少这些⽅法的概念,⾃⼰在⽹上可以搜索得到。
6. 很多⼿机app在打开后,⼀般⽤户都不需要先注册登录,到了合适的地⽅,弹出合适的提⽰时候引导⽤户去登录。当然有些界⾯,⽽
且有时没有判断和未登录去点⼀些按钮,有可能会闪退。未登录与登录显⽰的界⾯是完全不⼀样的。
7. ⽤户登录状态时间久了,会话识别就会过期,会出现“虽然是登录状态,系统会提⽰⽤户没有登录成功的信息。”
8.
⼆、app测试点
⽬录:
安全测试
安装、卸载 测试
UI测试
功能测试
性能测试
交叉事件测试
兼容测试
邸怎么读回归测试
升级、更新测试
⽤户体验测试
硬件环境测试
接⼝测试
客户端数据库测试
2.1安全测试
2.1.1软件权限
1)扣费风险:包括、、连接⽹络等
2)隐私泄露风险:包括访问⼿机信息、访问联系⼈信息等
3)对App的输⼊有效性校验、认证、授权、敏感数据存储、数据加密等⽅⾯进⾏检测
4)限制/允许使⽤⼿机功能接⼊互联⽹
5)限制/允许使⽤⼿机发送接受信息功能
6)限制/允许应⽤程序来注册⾃动启动应⽤程序
7)限制或使⽤本地连接
8)限制/允许使⽤⼿机拍照或录⾳
9)限制/允许使⽤⼿机读取⽤户数据
10) 限制/允许使⽤⼿机写⼊⽤户数据
11) 检测App的⽤户授权级别、数据泄漏、⾮法授权访问等
2.1.2安装与卸载安全性
1)应⽤程序应能正确安装到设备驱动程序上
2)能够在安装设备驱动程序上到应⽤程序的相应图标
3)是否包含数字签名信息
4)JAD⽂件和JAR包中包含的所有托管属性及其值必需是正确的
5)JAD⽂件显⽰的资料内容与应⽤程序显⽰的资料内容应⼀致
6)安装路径应能指定
7)没有⽤户的允许, 应⽤程序不能预先设定⾃动启动
8)卸载是否安全, 其安装进去的⽂件是否全部卸载
9)卸载⽤户使⽤过程中产⽣的⽂件是否有提⽰
10)其修改的配置信息是否复原
11)卸载是否影响其他软件的功能
12)卸载应该移除所有的⽂件
2.1.3数据安全性
1)当将密码或其他的敏感数据输⼈到应⽤程序时,其不会被储存在设备中, 同时密码也不会被解码
2)输⼈的密码将不以明⽂形式进⾏显⽰
3)密码, 信⽤卡明细, 或其他的敏感数据将不被储存在它们预输⼈的位置上
4)不同的应⽤程序的个⼈⾝份证或密码长度必需⾄少在6-12个数字长度之间
5)当应⽤程序处理信⽤卡明细, 或其他的敏感数据时, 不以明⽂形式将数据写到其它单独的⽂件或者临时⽂件中。
6)防⽌应⽤程序异常终⽌⽽⼜没有删除它的临时⽂件, ⽂件可能遭受⼊侵者的袭击, 然后读取这些数据信息。
7)当将敏感数据输⼈到应⽤程序时, 其不会被储存在设备中
8)备份应该加密, 恢复数据应考虑恢复过程的异常、通讯中断等, 数据恢复后再使⽤前应该经过校验
9)应⽤程序应考虑系统或者虚拟机器产⽣的⽤户提⽰信息或安全警告
10)应⽤程序不能忽略系统或者虚拟机器产⽣的⽤户提⽰信息或安全警告, 更不能在安全警告显⽰前,,利⽤显⽰误导信息欺骗⽤户,应⽤程序不应该模拟进⾏安全警告误导⽤户
11)在数据删除之前,应⽤程序应当通知⽤户或者应⽤程序提供⼀个“取消”命令的操作
12)“取消”命令操作能够按照设计要求实现其功能
13)应⽤程序应当能够处理当不允许应⽤软件连接到个⼈信息管理的情况
14)当进⾏读或写⽤户信息操作时, 应⽤程序将会向⽤户发送⼀个操作错误的提⽰信息
15)在没有⽤户明确许可的前提下不损坏侧除个⼈信息管理应⽤程序中的任何内容Μ
16)应⽤程序读和写数据正确。
17)应⽤程序应当有异常保护。
18)如果数据库中重要的数据正要被重写, 应及时告知⽤户
19)能合理地处理出现的错误
全球通用语言20)意外情况下应提⽰⽤户
2.1.4通讯安全性
国旗旗杆标准1)在运⾏其软件过程中, 如果有来电、SMS、EMS、MMS、蓝⽛、红外等通讯或充电时,是否能暂停程序,优先处理通信, 并在处理完毕后能正常恢复软件, 继续其原来的功能
2)当创⽴连接时, 应⽤程序能够处理因为⽹络连接中断, 进⽽告诉⽤户连接中断的情况
3)应能处理通讯延时或中断
4)应⽤程序将保持⼯作到通讯超时, 进⽽发送给⽤户⼀个错误信息指⽰有连接错误
5)应能处理⽹络异常和及时将异常情况通报⽤户
6)应⽤程序关闭或⽹络连接不再使⽤时应及时关闭) 断开
7)HTTP、HTTPS覆盖测试
–App和后台服务⼀般都是通过HTTP来交互的,验证HTTP环境下是否正常;
–公共免费⽹络环境中(如:麦当劳、星巴克等)都要输⼊⽤户名和密码,通过SSL认证来访问⽹络,需要对使⽤HTTP Client的library异常作捕获处理。
2.1.5⼈机接⼝安全性
1)返回菜单总保持可⽤
2)命令有优先权顺序
3)声⾳的设置不影响应⽤程序的功能
4)应⽤程序必需利⽤⽬标设备适⽤的全屏尺⼨来显⽰上述内容
5)应⽤程序必需能够处理不可预知的⽤户操作,例如错误的操作和同时按下多个键
2.2安装、卸载测试
验证App是否能正确安装、运⾏、卸载 以及操作过程和操作前后对系统资源的使⽤情况
2.2.1安装
1)软件在不同操作系统(Palm OS、Symbian、Linux、Android、iOS、BlackBerryOS 6.0、WindowsPhone 7)下安装是否正常。
2)软件安装后的是否能够正常运⾏,安装后的⽂件夹及⽂件是否写到了指定的⽬录⾥。
3)软件安装各个选项的组合是否符合概要设计说明
4))软件安装向导的UI测试
5)软件安装过程是否可以取消,点击取消后,写⼊的⽂件是否如概要设计说明处理
6)软件安装过程中意外情况的处理是否符合需求(如死机,重启,断电)
7)安装空间不⾜时是否有相应提⽰
8)安装后没有⽣成多余的⽬录结构和⽂件
9)对于需要通过⽹络验证之类的安装,在断⽹情况下尝试⼀下
10)还需要对安装⼿册进⾏测试,依照安装⼿册是否能顺利安装
2.2.2卸载
1)直接删除安装⽂件夹卸载是否有提⽰信息。
2)测试系统直接卸载程序是否有提⽰信息。
3)测试卸载后⽂件是否全部删除所有的安装⽂件夹。
吴山贡鹅4)卸载过程中出现的意外情况的测试(如死机、断电、重启)。
5)卸载是否⽀持取消功能,单击取消后软件卸载的情况。
6)系统直接卸载UI测试,是否有卸载状态进度条提⽰。
葡萄酒庄园2.3 UI测试
测试⽤户界⾯(如菜单、对话框、窗⼝和其它可规控件)布局、风格是否满⾜客户要求、⽂字是否正确、页⾯是否美观、⽂字、图⽚组合是否完美、操作是否友好等。
UI测试的⽬标是确保⽤户界⾯会通过测试对象的功能来为⽤户提供相应的访问或浏觅功能。确保⽤户界⾯符合公司或⾏业的标准。包括⽤户友好性、⼈性化、易操作性测试。
2.3.1导航测试
1)按钮、对话框、列表和窗⼝等;或在不同的连接页⾯之间需要导航
2)是否易于导航,导航是否直观
3)是否需要搜索引擎
4)导航帮助是否准确直观
5)导航与页⾯结构、菜单、连接页⾯的风格是否⼀致
2.3.2图形测试
1)横向⽐较。各控件操作⽅式统⼀
2)⾃适应界⾯设计,内容根据窗⼝⼤⼩⾃适应
3)页⾯标签风格是否统⼀
4)页⾯是否美观
5)页⾯的图⽚应有其实际意义⽽要求整体有序美观
6)图⽚质量要⾼且图⽚尺⼨在设计符合要求的情况下应尽量⼩
7)界⾯整体使⽤的颜⾊不宜过多
2.3.3内容测试
1)输⼊框说明⽂字的内容与系统功能是否⼀致
2)⽂字长度是否加以限制
3)⽂字内容是否表意不明
4)是否有错别字
5)信息是否为中⽂显⽰
6)是否有敏感性词汇、关键词
7)是否有敏感性图⽚,如:涉及版权、专利、隐私等图⽚
2.4功能测试
根据软件说明或⽤户需求验证App的各个功能实现,采⽤如下⽅法实现并评估功能测试过程:
1)采⽤时间、地点、对象、⾏为和背景五元素或业务分析等⽅法分析、提炼App的⽤户使⽤场景,对⽐说明或需求,整理出内在、外在及⾮功能直接相关的需求,构建测试点,并明确测试标准,若⽤户需求中⽆明确标准遵循,则需要参考⾏业或相关国际标准或准则。
2)根据被测功能点的特性列丼出相应类型的测试⽤例对其进⾏覆盖,如;涉及输⼊的地⽅需要考虑等价、边界、负⾯、异常或⾮法、场景回滚、关联测试等测试类型对其进⾏覆盖。
3)在测试实现的各个阶段跟踪测试实现与需求输⼊的覆盖情况,及时修正业务或需求理解错误。
2.4.1运⾏
1)App安装完成后的试运⾏,可正常打开软件。
2)App打开测试,是否有加载状态进度提⽰。
3)App打开速度测试,速度是否可观。
4)App页⾯间的切换是否流畅,逻辑是否正确
5)注册
–同表单编辑页⾯
–⽤户名密码长度
–注册后的提⽰页⾯
–前台注册页⾯和后台的管理页⾯数据是否⼀致
–注册后,在后台管理中页⾯提⽰
6)登录
–使⽤合法的⽤户登录系统。
–系统是否允许多次⾮法的登陆,是否有次数限制。
–使⽤已经登陆的账号登陆系统是否正确处理。
–使⽤禁⽤的账号登陆系统是否正确处理。
–⽤户名、⼝令(密码)错误或漏填时能否登陆。
–删除或修改后的⽤户,原⽤户登陆。
–不输⼊⽤户⼝令和⽤户、重复点(确定或取消按钮)是否允许登陆。
–登陆后,页⾯中登陆信息。
–页⾯中有注销按钮。
–登陆超时的处理。
7)注销
–注销原模块,新的模块系统能否正确处理。
–终⽌注销能否返回原模块,原⽤户。
–注销原⽤户,新⽤户系统能否正确处理。
–使⽤错误的账号、⼝令、⽆权限的被禁⽤的账号进⾏注销
2.4.2应⽤的前后台切换
1. APP切换到后台,再回到app,检查是否停留在上⼀次操作界⾯。
2. APP切换到后台,再回到app,检查功能及应⽤状态是否正常,IOS4和IOS5的版本的处理机制有的不⼀样。
3. app切换到后台,再回到前台时,注意程序是否崩溃,功能状态是否正常,尤其是对于从后台切换回前台数据有⾃动更新的时候。
4. ⼿机锁屏解屏后进⼊app注意是否会崩溃,功能状态是否正常,尤其是对于从后台切换回前台数据有⾃动更新的时候。
5. 当App使⽤过程中有电话进来中断后再切换到app,功能状态是否正常
6. 当杀掉app进程后,再开启app,app能否正常启动。
7. 出现必须处理的提⽰框后,切换到后台,再切换回来,检查提⽰框是否还存在,有时候会出现应⽤⾃动跳过提⽰框的缺陷。
8. 对于有数据交换的页⾯,每个页⾯都必需要进⾏前后台切换、锁屏的测试,这种页⾯最容易出现崩溃。
2.4.3免登录
很多应⽤提供免登录功能,当应⽤开启时⾃动以上⼀次登录的⽤户⾝份来使⽤app.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论