1. IOS和android手机测试要注意哪些方面
关于IOS和Android进行手机测试区别,首先对于手机的操作系统知识尽量有一个了解,测试方法一般也是单元测试,接口测试,软件测试,单元测试。基于app代码,unit,testng都是可以进行单元测试,测试封装的类或者函数接口测试与其他接口测试一致,简单的app,测试一般采用手工测试,如果app模块稳定,可以采用部分自动化测试安装,考虑到用户的一个隐私,尽可能用少的权限,安装后的容量,安装的目录,安装后产生的文件,安装是否按照后台的模式来运行现在我们测试时,开发会先在本地机上做好测试包,自己安装,开发修改好后,再进行一次测试。
功能测试时需要注意的点:
1、登录功能:
1用户名登录和输入密码错误时,界面有提示信息。
2用户退出登录后,下次启动APP时,应该进入登录界面程序。
3自动登录的APP,数据交换时,是否能成功登录且对数据库操作准确无误。
4密码进行更改后,登录时是否做到了有效数据的校验。
5未登录时一些页面的操作,后台是否做了适当操作控制。
6账号切换登录,检验登录的信息是否做到有效的及时更新。
7多端口进行操作时,确保数据库操作无误,且每个端口都可以及时看到数据的更新。
8对于一些软件,支持一个账号绑定登录到一台机器时需要检查账号登录多个手机时,是否将原用户的信息剔除,且能够给出提示信息。
9APP切换到后台时,再次切换到前台的测试,如登录时,有电话打进来。
2、离线功能:
1离线是应用程序在本地的客户端会缓存一部分数据以功程序下次正常调用。
2对于离线程序,需要在登录进来后,这时没有网络的情况下可以浏览本地数据。
3在无网络时,刷新获取新数据时,不能获取数据且能及时给出提示。
4前台和后台切换是否都可以正常查看。
5离线后又连上网,这时对数据有更新时,需要从服务器端获取新数据来更新客户端数据,且要更新本地缓存信息。
6界面的数据不提供离线查看,需要给出相应提示且界面更新后无任何数据。
3、Sqlite数据库:
1android和IOS客户端都是采用sqlite数据库,SQLite是一个嵌入式库并且实现了零配置、无服务端和事务功能的SQL数据库引擎。它在广泛领域内被使用,而且单线程读写性能与MySQL比肩,并且保证ACID性。
2当APP需要在客户端保存数据时,它们会创建相应的数据库表,最常见的就是对账号的保存,这时的测试观点主要以下:
3跟一般数据库相同,需要见擦数据的增,删,改,查。
4客户端即用即建,当表不存在时,测试是否会自动创建表。
5数据表被删除后,新建的表中的数据能否自动从服务器端中获取回来并保存。
6对数据进行了修改,删除,客户端和服务器端能否有相应的更新提示。
7获取数据客户端是直接从客户端获取还是和服务器端的数据进行比较。
8对于客户端从服务器端更新的数据,客户端是否有保存于本地文件中。
bug注意点:
1因为ios系统有不断的更新,所以会出现关于兼容性的问题,如果同一个用户在android和ios上登录后,记录应该都是一样的。手机软件android系统上测试要特别注意,android手机款式多,内存广,分辨率多样式,所以测试难度也比较大。我们的软件有一个问题一直走不去,就是在手机上如果应用开发过多,占内存空间大,就会出现闪退现象。新的版本上线前,一定要测试旧的版本,不能因为新版本上线了,而旧版本导致不能用,用旧版本的的用户还是大有人在。有一次测试过新版本注册的用户去玩旧版本,结果就有出错,当然这样测试的人一般会很少。
2如果一页面里有很多条记录里,要注意上下多滑动,在测试过程中,好几次在上下滑动中又由于数据出现错误,导致闪退,尤其是android方面到了某个页面,突然断网了,然后你在不知情的情况下,点击某个按钮想继续往下走,此时出现闪退的情况,而要给出断网提示信息。文本框校验时采用等价类划分法,边界值法,错误推测法与场景法,至少这些方法的概念,自己在网上可以搜索得到。
3很多手机app在打开后,一般用户都不需要先注册登录,到了合适的地方,弹出合适的提示时候引导用户去登录。当然有些界面,而且有时没有判断和未登录去点一些按钮,有可能会闪退。未登录与登录显示的界面是完全不一样的。
4用户登录状态时间久了,会话识别就会过期,会出现“虽然是登录状态,系统会提示用户没有登录成功的信息。”
5外部软件更新而导致自家软件闪退。有一次在用支付快捷支付时,提示支付快捷支付需要更新,接着更新完成后软件就出现异常情况和闪退。
上线前一定要测一下软件更新,如果在没有通过环境测试更新结果下上线,用户更新就出大问题会大大影响用户量。希望通过以上信息能给让你了解更多关于IOS和androida手机APP测试方面的信息。
2. 手机APP如何进行测试,安卓版和ios版,主要是功能!
几种比较流行的安卓和IOS编程工具应该一般有自带模拟器,但是肯定存在一个问题是效率低下,建议使用真机测试,流畅,速度快
3. 如何用 appium 实现 iOS 以及 Android 的 Monkey 测试
Android测试工具包括:AndroidTestKit,AndroidJUnit4,Appium,calabash-android,Monkey,MonkeyTalk,NativeDriver,Robolectric,RoboSpock,Robotium,UIAutomator,SelendroidAndroidTestKit组Google源测试工具用于Android包含EspressoAPI用于编写简洁靠AndroidUI测试AndroidJUnit4让JUnit4直接运行Android设备源命令行工具Appium源、跨自化测试工具用于测试原轻量移应用支持iOS,AndroidFirefoxOSAppium驱苹UIAutomation库AndroidUiAutomator框架使用SeleniumWebDriverJSON协议AppinmiOS支持基于DanCuellar'siOSAuto.Appium同绑定Selendroid用于Android测试
4. android与ios的app测试有什么区别
android与ios的app测试的区别如下:
1、、升级测试:可以被升级的必要条件:新旧版本具有相同的签名;新旧版本具有相同的包名;有一个标示符区分新旧版本(如版本号),对于Android若有内置的应用需检查升级之后内置文件是否匹配(如内置的输入法)。
2、 多分辨率测试,Android端20多种,ios较少。
3、手机操作系统,Android较多,ios较少且不能降级,只能单向升级;新的ios系统中的资源库不能完全兼容低版本中的ios系统中的应用,低版本ios系统中的应用调用了新的资源库,会直接导致闪退(Crash)。
4、操作习惯:Android,Back键是否被重写,测试点击Back键后的反馈是否正确;应用数据从内存移动到SD卡后能否正常运行等。
5、push测试:Android:点击home键,程序后台运行时,此时接收到push,点击后唤醒应用,此时是否可以正确跳转;ios,点击home键关闭程序和屏幕锁屏的情况(红点的显示)。
6、安装卸载测试:Android的下载和安装的平台和工具和渠道比较多,ios主要有app store,iTunes和testflight下载。
5. app测试,ios和安卓测试有什么不同
iOS和android是两种不同的手机系统。现在很多app都有iOS和android的版本,如果是APP测试的话,对系统来说没什么区别,就是在不同的系统中确保APP好用,不出现问题
6. 请问自动化测试android和iphone手机软件的工具是什么功能测试和性能测试分别是什么
功能测试是最重要的测试内容,主要测试每个开发模块所要实现的功能是否能正常使用!性能测试是说,APP正常使用的基础上,使用起来的直观感受是否令人满意,比如启动快慢、流量耗用多少之类。
安卓的自动化测试方面,网络做的还不错,兼容测试、性能测试、功能测试都涵盖了的。最近推出了MTC录制回放客户端,用着感觉不错哦~是基于Eclipse开发环境的,能够按照开发者的操作自动生成基于控件的测试代码,都不用再自己写测试用例了,推荐你试试吧!!
7. 做Android手机软件测试需要掌握哪些工具
请注意测试本身不是靠工具的而是靠设计,这是我的理念,所以我一向觉得,很多人认为做测试做的好就是靠掌握一门好的工具,这个观点是不正确的,所以我可以负责任的告诉你,做Android手机需要掌握的不是工具、而是理念、思维、以及框架,总的来说是本质,而工具只是辅助,那么现在我来介绍一些我了解的工具(仅仅是了解,很多没用过)
开源 Android 软件测试工具包括:Android Test Kit, AndroidJUnit4, Appium, calabash-android, Monkey, MonkeyTalk, NativeDriver, Robolectric, RoboSpock, Robotium, UIAutomator, Selendroid。
Android Test Kit
Android Test Kit 是一组 Google 开源测试工具,用于 Android 平台,包含 Espresso API 可用于编写简洁可靠的 Android UI 测试。
AndroidJUnit4
AndroidJUnit4 是一个让 JUnit 4 可以直接运行在 Android 设备上的开源命令行工具。
Appium
Appium 是一个开源、跨平台的自动化测试工具,用于测试原生和轻量移动应用,支持 iOS, Android 和 FirefoxOS 平台。Appium 驱动苹果的 UIAutomation 库和 Android 的 UiAutomator 框架,使用 Selenium 的 WebDriver JSON 协议。Appinm 的 iOS 支持是基于 Dan Cuellar's 的 iOS Auto. Appium 同时绑定了 Selendroid 用于老的 Android 平台测试。
Calabash-android
calabash-android 是一个基于 Cucumber 的 Android 的功能自动化测试框架。Calabash 允许你写和执行,是开源的自动化移动应用测试工具,支持 Android 和 iOS 原生应用。Calabash 的库允许原生和混合应用的交互测试,交互包括大量的终端用户活动。Calabash 可以媲美 Selenium WebDriver。但是, 需要注意的是 web 应用和桌面环境的交互跟触摸屏应用的交互是不同的。Calabash 专为触摸屏设备的原生应用提供 APIs。
Monkey
Monkey 是 Google 开发的 UI/应用测试工具,也是命令行工具,主要针对压力测试。你可以在任意的模拟器示例或者设备上运行。Monkey 发送一个用户事件的 pseudo-random 流给系统,作为你开发应用的压力测试。
MonkeyTalk
MonkeyTalk 是世界上最强大的移动应用测试工具。MonkeyTalk 自动为 iOS 和 Android 应用进行真实的,功能性交互测试。MonkeyTalk 提供简单的 "smoke tests",复杂数据驱动的测试套件。MonkeyTalk 支持原生,移动和混合应用,真实设备或者模拟器。MonkeyTalk 使得场景捕获非常容易,可以记录高级别,可读的测试脚本。同样的命令可以用在 iOS 和 Android 应用上。你可以记录一个平台的一个测试,并且可以在另外一个平台回放。MonkeyTalk 支持移动触摸和基于手势交互为主的移动体验。点击,拖拽,移动,甚至是手指绘制也可以被记录和回放。
NativeDriver
NativeDriver 是 WebDriver API 的实现,是原生应用 UI 驱动,而不是 web 应用。
Robolectric
Robolectric 是一款Android单元测试框架,使用 Android SDK jar,所以你可以使用测试驱动开发 Android 应用。测试只需几秒就可以在工作站的 JVM 运行。Robolectric 处理视图缩放,资源加载和大量 Android 设备原生的 C 代码实现。Robolectric 允许你做大部分真实设备上可以做的事情,可以在工作站中运行,也可以在常规的 JVM 持续集成环境运行,不需要通过模拟器。
RoboSpock
RoboSpock 是一个开源的 Android 测试框架。提供简单的编写 BDD 行为驱动开发规范的方法,使用Groovy 语音,支持 Google Guice 库。RoboSpock 合并了 Robolectric 和 Spock 的功能。
Robotium
Robotium 是一款国外的Android自动化测试框架,主要针对Android平台的应用进行黑盒自动化测试,它提供了模拟各种手势操作(点击、长 按、滑动等)、查找和断言机制的API,能够对各种控件进行操作。Robotium结合Android官方提供的测试框架达到对应用程序进行自动化的测 试。另外,Robotium 4.0版本已经支持对WebView的操作。Robotium 对Activity,Dialog,Toast,Menu 都是支持的。
UIAutomator
uiautomator 测试框架提高用户界面(UI)的测试效率,通过自动创建功能 UI 测试示例,可以在一个或者多个设备上运行你的应用。
Selendroid
Selendroid 是一个 Android 原生应用的 UI 自动化测试框架。测试使用 Selenium 2 客户端 API 编写。Selendroid 可以在模拟器和实际设备上使用,也可以集成网格节点作为缩放和并行测试。
8. 做APP测试需要IOS和Android都要精通吗
最好还是都要会,虽然现在很多公司的产品测试都是找专业的测试公司做,特别是自动化测试工程师和安全方面的,基础是相同的,就看您怎么想了。然后书的话就多了,《大话移动app测试》《Android测试与调试实战》《iOS测试指南》,也可以看看《TestBird 2016上半年APP测试白皮书》很有帮助
9. android 和 ios 人机交互设计指南中最重要的几点是什么
android 和 ios 人机交互设计指南中最重要的几点告诉你,希望你能理解:
这是针对于处于开发中的API或技术的初步文档。虽然该文档在技术精确度上经过了严格的审核,但并非最终版本,仅供苹果开发者计划的注册会员使用。苹果提供这份机要文档的目的,是帮助你按照文中描述的方式对技术的选择及界面的设计开发进行规划。这些信息有可能发生变化,届时,你的设计开发方式需要基于最终版本的操作系统及文档进行相应的调整和测试。该文档或许会随着未来API或相关技术在的发展而进行更新。
审美的完整性
对app而言,审美的完整性并不是用来衡量app漂亮与否,或者塑造它的风格。而是通过app的外观、交互行为和功能共同传递一致的,清晰明了的信息。
用户关注app能否兑现此前承诺的功能,但是app的外观和交互行为也潜在地影响着用户。比如,一款帮用户处理严肃任务的app,可通过使用标准控件或可预见的交互方式让装饰性元素更为精妙和无打扰,从而让用户把注意力集中在对任务的处理上。
App清楚明了地把使用目的传达给了用户,这可以让用户更加信任它。不过,如果开发者通过入侵性的,轻佻的或者武断的UI向用户传递了混乱的信息,则用户可能会质疑app的可靠性和可信赖度。
另一方面,对一款鼓励沉浸式任务的的app,比如游戏,用户期待一个迷人的外观,和有趣、刺激以及鼓舞人心的发现。用户并不期望在游戏中完成一系列严肃性的或者生产性的任务,但他们期望游戏的外观和交互方式可以与游戏目的很好地融合在一起。
App需保持一致性
这样方便用户积累的知识和技巧在app各部分UI之间,在app之间进行迁移。一致性并不是盲目模仿其他app,也不是停滞不前,而是更关注用户熟悉的标准和范例。
决定你的iOS app是否要遵守一致性的原则,考虑下边几个问题:
1.你的app是否符合iOS的标准?App 正确使用系统提供的控件、视图以及图标了吗?App以可靠方式整合设备的功能了吗?
2.App自身是否一致?文本有没有使用统一的术语和风格?相同图标代表的意义是否一致?用户在不同地方执行了相同的操作,用户能否预测到将会发生什么样的结果?贯穿App的自定义UI元素的外观和交互方式是否一致?
3.App现在的版本与此前的版本是否一致?条款和意义是否一致?App的基本概念和主要功能本质上有没有发生变化?
直接操作
直接在屏幕上操作对象,而不使用单独的控件来操作,这样用户会更专注于当前的任务,他们也更容易理解操作产生的结果。
使用Multi-Touch 界面,用户可通过双指张开或者闭合来放大或者缩小图片和内容区域。在游戏中,玩家可以直接移动屏幕上的对象或者与对象进行直接的交互。 在一款iOS app中,以下动作可为用户提供直接操作的体验:
1.旋转或者移动设备以影响屏幕上的效果
2.使用手势直接操控屏幕上的对象
3.可看到动作产生的直接结果或可视化结果
反馈
反馈是对用户动作的承认,向他们展示操作的结果,更新他们任务的进程。内置iOS app为每位用户的动作提供了可觉察的反馈。在用户执行点击操作的过程中,列表项目和控件会持续几秒钟高亮状态,通过控件所处状态短暂的改变来显示进程的变化。
精巧的动画可以给用户有意义的反馈,可帮助用户清楚地知晓动作产生的结果。比如,列表可以动态地展示新增一行的操作,从而帮助用户跟踪视觉上的变化。
声音也可以给用户有用的反馈,但不应该是仅有的反馈机制,因为用户不能时刻倾听他们的设备发出了什么样的声音来反馈执行的动作。
隐喻
如果app中虚拟的对象和动作象征着熟悉的用户体验,那么不管这些体验是深植于真实世界还是数字世界,用户都可以快速掌握app的使用方法。在隐喻不涉及对象或动作局限性的情况下,App使用隐喻来暗示用法或者体验再好不过。
由于用户真实地与屏幕进行交互,因此iOS app的隐喻空间非常广阔。iOS 中的隐喻包括:
1.移动分层的视图来展现其下面的内容
2.在游戏中拖动、滑动或者轻扫对象
3.点击开关,滑动滑块以及旋转选择器
4.在杂志或书上进行翻页
用户控制
用户应该发起和控制动作,而不是app。一款app可以启发用户的动作行为方法,或者提醒用户危险后果,但是app撇开用户做决策是错误的。app能给用户他们想要的能力,也能帮他们规避不想要的结果,最好的app应该能在这两者之间正确地平衡。
当交互行为和控件是熟悉的,可预见的时候,用户对app会更有控制感。当交互动作简单直接的时候,用户对app的动作也更容易理解和记忆。用户期望在操作产生结果前有足够多的机会来取消它们,并且他们期望有机会确认自己的目的,从而执行一个具有潜在破坏性的动作。最后,用户期望能优雅地停止正在进行的操作。
10. 安卓与IOS系统上手机QQ软件的测试是如何进行的
几种比较流行的安卓和IOS编程工具应该一般有自带模拟器,但是肯定存在一个问题是效率低下,建议使用真机测试,流畅,速度快