❶ App的测试,和传统软件测试有哪些区别应该增加哪些方面的测试用例
随手机对人们生活中的影响越来越大,App测试工作逐渐被众人所知。从一开始的众包到现在的自动化探索,手机测试上的技术发展也是日新月异。
App测试相比以往传统的软甲测试相关要复杂的多且困难的多。
基于工作经验,我将如何做好app的测试归结为如下内容。
(1) 非功能测试
app测试的一个重要方面是app的非功能需求。移动app在推出市场或进行进一步开发前,测试人员有一定的职责做该类需求的跟踪工作。
早期开发阶段要进行的第一个测试应该是实用性测试。通常是由alpha用户或同事进行的。走进一家咖啡馆或餐厅,问问里面的人他们的app使用情况。让他们看看现阶段开发的第一个版本并收集反馈,看看用户是否能很好地使用新功能,以便得出第一印象。
(2) 功能测试
每项开发的新功能都需要进行测试。app测试中功能测试是一个重要方面。测试人员应该要进行手动测试和后期的自动化测试维护。刚开始测试时,测试员必须把app当做"黑盒"一样进行手动测试,看看提供的功能是否正确并如设计的一样正常运作。除了经典软件测试,像点击按钮、提交订单看看会发生什么,测试员还必须执行更多功能的app测试。
除了整个手动测试过程,测试自动化对移动app也很重要。每个代码变化或新功能都可能影响现存功能及它们的状态。通常手动回归测试时间不够,所以测试员不得不找一个工具去进行自动化回归测试。现在市面上有很多自动化测试工具,有商业的也有开源的,面向各个不同平台,如Android,iPhone,WindowsPhone7,BlackBerry以及移动Webapp。根据开发策略和结构,品质管理测试专家需找出最适合他们环境的自动化工具。
(3) 客户端性能测试
一个App做的好不好,不仅仅只反应在功能上。被测的app在中低端机上的性能表现也很重要。比如:一个很好玩的游戏或应用,只能在高端机上流畅运行,在中低端机上卡的不行,也不会取得好的口碑。
关于App的性能测试,我们比较关注的参数有:CPU,内存,耗电量,流量,FPS。同时也需关注一下App的安装耗时和启动耗时。
目前大家可能比较困惑的一个问题,多高的CPU,内存,耗电量,流量,FPS才算是符合发布的值呢?这里可以告诉大家,可以参考精品游戏的一些数值,将自己研发的app与业内精品的app数据做对比。
(4) 适配兼容测试
App在经过功能测试后,也需对其进行适配兼容测试需要检查的项主要有以下几点:
(a) 在不同平牌的机型上的安装、拉起、点击和卸载是否正常;
(b) 在不同的操作系统上的安装、拉起、点击和卸载是否正常;
我们在实际测试中,常常会遇到下列问题:
(a) 在某个平牌某个系统上,app安装不上;
(b) 在某个平牌某个系统上,app无法拉起;
(c) 在某个平牌某个系统上,app拉起后无响应或拉起后黑屏、花屏;
(d) 在某个平牌某个系统上,app无法顺利卸载;
(WeTest腾讯质量开放平台)这个产品可以实现多款热门机型的适配兼容测试。
(5) 弱网络测试
App在使用的过程中,难免会遇到弱网络环境,例如在公车上、在地铁里。在这种情况下,常常会出现网络抖动、上行或下行超时,导致应用中出现丢包。
作为一个测试人员,我们要对app在上线前做一定场景的弱网络环境模型,并查看app在弱网络环境下是否存在某些未知的问题。下面是我们常用的弱网络环境场景:
(a) 3G弱网络信号场景模拟;
(b) 市区低速移动场景模拟;
(c) 郊区高速移动场景模拟;
(d) 请求回应超时_上行超时场景模拟;
(e) 请求回应超时_下行超时场景模拟;
(f) 网络抖动场景模拟;
(6) 耗电量测试
App在手机上的表现,除了功能外,app是否耗电,也是测试过程中重点要关注的一项。手机设备在满电的时候,这个App能玩多久;App每小时的耗电是多少;App在某个场景挂机10分钟耗电量是多少;这些都是我们平时在耗电量测试中比较关注的点。
(7) 协议测试
模拟客户端直接发送协议包给服务器,看看服务器是否有一定的校验,认不认客户端发过来的数据。协议测试,主要是为了处理用户发送恶意协议到服务器,骗过服务器的校验。
(8) 安全测试
App在上线前,都需要做详细的安全测试。安全测试主要为了检测应用是否容易被外界破解;是否存在被恶意代码注入的风险;上线后外挂的风险高不高等。
(9) 服务器性能测试
服务器性能测试,主要包含单机容量测试和24小时稳定性测试。单机容量测试,可以检测到单机服务器在90%的响应时间和成功率都达标的前提下,能够承载多少用户量。使用特定游戏模型压测24小时,服务无重启,内存无泄漏,并且各事务成功率达标。
这个可以在WeTest入口预约。
(10) 服务器容灾测试
服务器容灾测试,主要指某个服务进程奔溃掉后,是否具有自行恢复能力。比如游戏逻辑进程消失后,是否会自动拉起;memcached崩溃时,是否会重新启动,是否会对所有玩家有影响。这些都是app测试过程中需要考虑的因素。
(11) 中断测试
针对智能终端应用的服务等级划分方式及实时特性所提出的测试方法,如:App在前台和后台运行状态时与来电、文件下载、音乐收听等关键运用的交互情况测试等。测试电话,短信,彩信,微博或其他通知进来时app的反应。
(12) 上线后期的舆情跟踪
新的app上线后,用户对此应用的评价,存在哪些测试期间未察觉的Bug,论坛上对于该应用热门的帖子有哪些,应用商店中该应用的口碑如何等,都是app在上线后,测试人员需要关注的点。若需要测试期间未发现的Bug,需要新测试服进行确认并根据该问题的修复。
❷ 如何测试app的稳定性
通过人工专业测试分析+自动化检测工具的方式针对第三方插件爱内测技术人员会对专插件进行扫属描处理,测试工程师全面测试安装插件后的效果,根据实际的测试数据对第三方插件进行整体评价。 安全性:对插件的安全性进行评估,查看是否含有病毒,上传用户数据,窃取用户隐私等。其次对其漏洞进行扫描分析,查看是否存在安全漏洞可被黑客调用。 可用性:对插件的可用性进行评估,集成插件后的实际效果和插件描述进行对比,分析其是否达到了宣传的可用性。 稳定性:对集成插件后的APP进行测试,查看其稳定性,是否会出现集成后崩溃、闪退、兼容性降低、效率变低等问题。
❸ App的测试,和传统软件测试有哪些区别
A:相同点不管是传统行业的web测试,还是新兴的手机测试,都离不开测试的基础知识:1)同样的设计测试用例方法:边界值分析法、等价类划分、错误推测法、场景法等(若想看这些基础课视频,直接点击原文看腾讯课堂的视频,都有,且免费!);2)同样的测试方法:黑盒测试,验证业务功能是否正确符合用户或者设计预期;3)都要检查UI:界面的布局、风格和按钮等是否简洁美观、是否统一等;4)页面性能检测:测试页面载入和翻页的速度、登录时长、内存是否溢出等;5)应用的稳定性:测试应用系统的稳定性等,不会闪退卡死等。B:不同点相对于web测试,APP测试,除了要考虑基本的功能测试、性能等,还要考虑手机本身固有的属性特征。所以APP测试过程中还需要注意如下几个方面特性:1)手机作为通信工具,来电、去电、接收短信等操作都会对app应用程序产生影响,所以app测试第一个要考虑的属性特征是:中断测试。中断测试有人为中断、新任务中断以及意外中断等几种情况,主要从以下几个方面进行验证:a.来电中断:呼叫挂断、被呼叫挂断、通话挂断、通话被挂断b.短信中断:接收短信、查看短信c.其他中断:蓝牙、闹钟、插拔数据线、手机锁定、手机断电、手机问题(系统死机、重启)2)手机用户对app产品的安装卸载操作:a.从上一个版本/上两个版本直接升级到最新版本。b.全新安装新版本c.新版本覆盖旧版本安装d.卸载旧版本,安装新版本e.卸载新版本,安装新版本3)web自动化测试使用的工具较常用的是QTP,而android手机自动化测试工具比较常用的是monkey、monkeyrunner、appium。
❹ 怎么样测试手机软件容易出 奇异的BUG 或是稳定性
运行在手机里的软件由于平台和手机设备资源的限制,所以一般容易出bug的操作是功能交互或者是资源不足的情况下。在手机测试中最容易出error的测试方法是边界值测试,交互测试,错误值测试,中断测试(用另一个程序中断当前运行的程序)和返回测试(在运行程序的过程中有多级目录那种,不断地返回)。这些方法是相对容易出error的测试方法,当然所测的手机情况不同,还需要你自己多总结总结。
❺ 3.APP常规测试时常见崩溃原因,测试用例设计,和Crash测试复现分析。
我们测试过APP时都可能应该发现,App崩溃是一类非常常见的问题,很多时候还是致命性的,这就要求我们测试人员要尽最大可能去找出软件当中的缺陷,减少app崩溃出现的概率。1.APP常见崩溃的原因设备碎片化:由于设备极具多样性,App在不同的设备上可能有表现不同。带宽限制:带宽不佳的网络对App所需的快速响应时间可能不够。网络的变化:不同网络间的切换可能会影响App的稳定性。内存管理:可用内存过低,或非授权的内存位置的使用可能会导致App失败。用户过多:连接数量过多可能会导致App崩溃。代码错误:没有经过测试的新功能,可能会导致App在生产环境中失败。第三方服务:广告或弹出屏幕可能会导致App崩溃。2.App崩溃的测试用例设计:验证在有不同的屏幕分辨率,操作系统和运营商的多个设备上的App行为。用新发布的操作系统版本验证App的行为。验证在如隧道,电梯等网络质量突然改变的环境中的App行为。通过手动网络从蜂窝更改到Wi-Fi ,或反过来,验证App行为。验证在没有网络的环境中的App行为。验证来电/短信和设备特定的警报(如警报和通知)时的App行为。通过改变设备的方向,以不同的视图模式,验证App行为。验证设备内存不足时的App行为。通过用测试工具施加载荷验证App行为。3.我们遇到类似 的Crash时,请尽可能的使用app抓日志分析,或者让开发协助解决。目前而言传智播客黑马程序员的性能阶段的课程的质量还是蛮高的,如果需要可以深入了解
❻ 手机上的app性能测试怎么测
你可以安装这个软件,然后打开看看流畅度,各方面的功能,设置以及稳定性等。
❼ 软件测试如何测试稳定性
增加运行平台资源占用、软件长时间运行等,设备稳定性可以试试热插拔一类的情况或者大量连接外设
❽ Monkey测试在对于应用程序的稳定性测试中,在针对单个apk和多个apk时有什么不一样
在app测试中,针对单个apk是,对不忽略异常的,在进行单个apk的验收测试时,则使用单一apk且不忽略异常的命令执行。对忽略异常的,在进行单个apk的解决问题的测试时,则使用单一apk且忽略异常的命令执行,这样可以在一次执行的过程中发现应用程序中的多个问题。而针对多个apk时,对不忽略异常,这里就直接举个列子例如:monkey –pkg-whitelist-file /data/whitelist.txt–throttle 1000 -s 100-v -v -v 15000 > /mnt/sdcard/monkey_test.txt &对忽略异常的如下例如:monkey –pkg-whitelist-file /data/whitelist.txt–throttle 1000 -s 100–ignore-crashes –ignore-timeouts–ignore-security-exceptions–ignore-native-carshes –monitor-native-crashes-v -v -v 15000 >/mnt/sdcard/monkey_test.txt &TestBird – 手游和App自动化测试平台
❾ 测试用例稳定性是指什么
稳定性测试的概念有2种,一, 稳定性测试,对应于异常性测试,即发生异常情况时,系统如何反应的测试。包含:1 交互性测试,被打扰的情况,如来电,短信,低电量等。这些其实在上章的功能测试中有提到。2 异常性测试,断网,断电,服务器异常等情况二,稳定性测试指的是性能测试,压力测试1 基准性能测试,通过压服务器端口及客户端在不同网络环境下响应速度2 大数据测试,在特定环境下,客户端一次性更新大量数据及人员列表另有其它文章,提到性能测试,为评估APP的时间和空间特性(真是高深啊,时间和空间,再来个4维,5维?),包括:1 极限测试:在各种边界压力情况下,如电池,存储,网速等,验证app是否能正确响应–内存满时安装app–运行app手机断电–运行app时断掉网络这几点倒是与第一条的内容重复2 响应能力测试:测试app中的各类操作是否满足用户响应时间要求–app安装 ,卸载的响应时间–app各类功能性操作的影响时间3 压力测试:反复、长期操作下,系统资源是否占用异常–app反复进行安装卸载,查看系统资源是否正常(弄个几次就行吧,正常人,谁反复安装卸载啊)–其它功能反复进行操作,查看系统资源是否正常(这倒是应该的)4 性能评估:评估典型用户应用场景下,系统资源的使用情况这里要定义,什么是典型用户应用场景5 benchmark测试(基线测试),应该不是基准性能测试:与竞争产品的benchmarking,产品演变对比测试等(没有多大意义)。简要步骤:adb devices—了解包名–adb shell monkey -p 包名 -v 运行次数(多个参数的组合形成不同的用例以求最大的覆盖)–当崩溃或无响应时分析monkey日志常规monkey命令(可直接在项目里使用):adb shell monkey -p com.jiochat.jiochatapp –throttle 100 –ignore-crashes –ignore-timeouts –ignore-security-exceptions –ignore-native-crashes –monitor-native-crashes -v -v -v 1000000>d:\b.log重现bug:monkey日志搜索关键词ANR exception,将之前的事件重新操作,尤其是seed值要一模一样,如monkey -p 包名 -v seed 0 500日志分析:查看是否有crash等关键字,找上下文,进行简单分析将你所能定位的错误信息发给开发。该工具用于进行压力测试。 开发人员结合monkey 打印的日志 和系统打印的日志,修改测试中出现的问题。Monkey 是SDK中附带的一个工具,所有的事件都是随机产生的,不带任何人的主观性。