手机软件测试_做Android手机软件测试需要掌握哪些工具?

手机软件测试的基本流程?手机软件测试的基本流程:
【手机软件测试_做Android手机软件测试需要掌握哪些工具?】1、需求分析阶段:阅读需求 , 理解需求 , 分析需求点,参与需求评审会议 。
2、测试计划阶段:主要任务就是编写测试计划,参考软件需求规格说明书,项目总体计划,内容包括测试范围,进度安排,人力物力分配 , 整体测试策略的制定 。
3、编写测试用例:适当的了解设计,搭建测试用例框架 , 根据需求和设计编写测试用例 。
4、测试执行阶段:搭建环境准备数据,执行预测试然后进入正式测试(系统测试、回归测试、交叉测试、自由测试),bug管理直到测试结束 。
5、输出测试报告:输出测试报告,确认是否可以上线 。

手机软件测试_做Android手机软件测试需要掌握哪些工具?

文章插图
扩展资料
软件测试方法
1、动态测试
计算机动态测试的主要目的为检测软件运行中出现的问题,较静态测试方式相比,其被称为动态的原因即为其测试方式主要依赖程序的运用,主要为检测软件中动态行为是否缺失、软件运行效果是否良好 。
2、黑盒测试
黑盒测试,顾名思义即为将软件测试环境模拟为不可见的“黑盒” 。通过数据输入观察数据输出,检查软件内部功能是否正常 。测试展开时,数据输入软件中 , 等待数据输出 。数据输出时若与预计数据一致,则证明该软件通过测试 。
3、白盒测试
白盒测试相对于黑盒测试而言具有一定透明性,原理为根据软件内部应用、源代码等对产品内部工作过程进行调试 。
测试过程中常将其与软件内部结构协同展开分析,最大优点即为其能够有效解决软件内部应用程序出现的问题,测试过程中常将其与黑盒测试方式结合 , 当测试软件功能较多时 , 白盒测试法亦可对此类情况展开有效调试 。软件测试和手机测试的区别区别如下:
1.性质不同
软件测试是描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程 。手机测试是一个很大的题目,涉及到硬件测试和软件测试,还有结构的测试,比如抗压,抗摔,抗疲劳,抗低温高温等 。
手机软件测试_做Android手机软件测试需要掌握哪些工具?

文章插图
2 。范围不同
软件测试适用于IT行业、有信息化管理的各行业,手机测试涉及硬件测试和软件测试等 。
3.测试原则不同
软件测试对计算机软件进行测试前,首先需遵循软件测试原则 , 即不完全原则的遵守 。手机测试之前,觉得应该了解一下什么是嵌入式操作系统的原则 。
参考资料来源:百度百科--手机测试想找一份手机软件测试的工作,没经验,前几天去一...你好,关于手机通讯录的测试主要从以下几点可以考虑:
第一,通讯录的功能测试 。通讯录的基本功能包括增、删、改、查几个 。增加联系人到通讯录可以分新建号码、从已拨/已接/短信中等获取电话号码进行,可以从这几个方面考虑去测试是否能增加号码 。删除联系人,对以保留的联系人进行删除,看能否删除;修改联系人,对以保留的联系人进行修改,看能否修改;查看联系人,对以保留的联系人进行查看 。在这些功能测试当中,设计各种测试用例,用例可以是单个用例 , 也可以是一个用例套件;在设计测试用例时 , 也可以对有效性验证 。其实考虑的内容比较多 , 测试内容也比较多,凡是界面上有,可以点击的 , 都要测试 。
第二,通讯录的接口测试 。
通讯录和拨号程序以及发短信等程序都有接口关系,要对他们之间的接口进行测试 。
第三,通讯录的性能测试 。
性能可以包括存储、打开时间,存储容量等方面进行考虑 。

一时间就想着多么多,肯定还不够全,希望对你有点帮助 。
扩展
请问你是做手机软件测试的吗?能加QQ921882340传授点经验吗?

手机软件测试和电脑软件测试有什么不同?手机测试是一个很大的题目,涉及到硬件测试和软件测试,还有结构的测试,比如抗压,抗摔,抗疲劳,抗低温高温等,结构上的设计不合理,会造成应力集中,使得本身外壳变形 , 对于翻盖手机,盖子失效 , 还有其他严重问题 。硬件测试一般都有严格的物理电气指标,也有专门的仪器,这里的仪器,不在多说,一般如果是专业的测试人员,不会对词陌生吧 。
手机测试,一般是指软件测试,这个一方面也说明了软件在手机上的重要行 。一方面也说明手机测试的难度 。因为期他得测试都有明确的指标,严格的操作规程 , 还有各种仪器 。下面说的手机测试一般都是手机软件测试,以后不在重复说明 。
在说明手机测试之前,我觉得应该了解一下什么是嵌入市操作系统,这是个时髦的名词,虽然我们已经被嵌入市操作系统的产品所包围,但是却不一定能说清楚,什么是嵌入式操作系统,而学校的课堂上,讲的也不多,所以很多人对此感到云山舞罩 。
简单的说,一个嵌入市操作系统就是为完成某中特定功能而专门开发的操作系统 。这个操作系统的功能很明确,不象大型操作系统,范围广泛 , 大千世界,尽在其中,而嵌如操作系统只为完成某一项或者几项功能 。
再说一下手机的特殊性,也就是要求对响应时间达到一定限制范围 。也就是所谓的实时操作系统,如果一个电话不能在90秒内接听,那么对方会挂掉 。而你的操作系统还没反映过来,那么这个操作系统无疑是失败的,这是对嵌如操作系统实时性的要求 。
作为一个测试人员,你必须了解这些 , 可能对一些软件开发人员,他不必很在意这些方面,因为他只要了解自己模块的入口说明和 出口说明就可以 。但是测试人员不行 。高级测试人员应该了解嵌入操作系统的特点,这个系统不象WINDOWS,有图形界面可以输入输出,也不象D OS用命令行模式,所有这些,都需要自己编写一个编辑器,编写一个交互界面,编写一个输入输出界面,在WINDOWS中,利用一些API和一些M FC,不用考虑硬件的问题,因为系统已经完成,而WINDOWS是讲究和硬件分离的 , 因为这样可以保护系统不受侵入 。而在嵌入市系统里面 。这一些都要求和硬件息戏相关 。手机测试中,软件出现的故障不一定是由于软件的错误,也可能是由于没有考虑到硬件和软件没有完美的结合 。
因此我们在了解操作系统同时 , 也要了解一下其他的手机硬件性能,比如CPU  , 比如存储器 。
CPU的处理运算能力是以MIPS来衡量的,当然越快越好,但是也是和成本相关的,我不知道现在MOTOROLA T39的CPU , 但是 , 因为是PDA,又是手写屏幕,所以菜单特别的慢 。关于存储器需要专门做出说明,因为这里 的存储器很特别 , 不象PC,手机没有硬盘!
嵌入时系统的编程语言一般有C,而且也是最多的 , 也有其他语言 。比如C++在最开始时候是用 汇编的,但是汇编难懂,而且也不容易移植,渐渐的被C代替,不过即使如此 , 在启动程序时候 , 要启动板子 , 也就是电路板时候 , 还是需要用一些汇编语言完成 。
作为一个嵌入市系统的程序,和在PC上运行着的程序没有任何不同,唯一不同可能是在PC上运行的程序 , 你可以看到结果——如果你用输出语句的话,而在这里,你是看布道结果的 。除非你加上L CD硬件,然后编写了LCD驱动程序 , 然后再编写显示 程序 。编写嵌入市程序 , 一切都要自己解决 。
我们的手机如果不是认为把电源切断的话,或者在电源消耗到一定程度的话,是会一直在使用的,所以,手机程序是一直在运转的,就是说一直在循环,这个,对于了解嵌入市程序 , 应该是个好材料——嵌入式程序就是一个无限循环的程序 , 除非关掉电源和电源因素 , 这里也有一个测试点:硬件中断是最高级的 , 它会终止你的程序,即使你现在的程序级别很高,比如通话,如果没电了,一切会o ver.
手机程序就是在一个无限循环的程序 , 什么时候跳出这个无限循环?你关机吧,如果感到不高兴,把电池卸下来,因为有可能进入死循环,而关机键失效了,——只好通过取下电池了 。
这里要专门说明一下存储器,因为很多手机毛病都和存储有关,而且很多问题都和存储相关,计算机的存储是关键,而手机更是关键,因为计算机有硬盘作为存储 , 而手机所有的都在存储器里
存储器分为几类,RAM 随机存储器,ROM随机只读存储器还有现在出现一些的闪存 , 以及电子可编程存储和非易失存储起 。一个一个到来。RAM 随机存储器,其中又有SRAM(静态RAM)DRAM(动态RAM) , 
SRAM,只要只要电源开着,就会保存,我们打电话 , 有些最后拨打的号码,暂时是存在SRAM中的,不会立刻写入通话记录 。只有正常关机,才会写入 , 如果取电池的话,是不会写入手机的通话记录的,如果在通话记录中出现了已经拨打电话,但是没有记录的情况,那么有可能和这个存储器有关 , 可能是你的软件上错误,也可能是硬件 。DRAM在手机上用的不多,因为保留数据时间很短 。从价格上看,SRAM是非常昂贵的,而DRAM相比很便宜 。
ROM也有几种,PROM可编程ROM 和EPROM可擦除可编程ROM 。两者区别是,PROM是一次性的,也就是软件灌入后,这个就完蛋了 , 这种是早期的产品,现在已经不可能使用了,而E PROM则是通用的存储器,这些存储器不符和手机软件产品,一般使用ROM少 。
其他FLASH 。这是近来手机采用最多的存储器,这种存储起结合了ROM和RAM的长处,但是不属RAM也不属于ROM 。手机大量采用的NVRAM 非易失存储器 。和SRAM属性差不多,EEPROM 电子可擦出可编程存储器。闪存,ROM的后代 。手机软件一般放在EEPROM中,EPROM是通过紫外光的照射,擦除原先的程序,而EEPROM是通过电子擦出,当然价格也是很高的,而且写入时间很长,写入很慢,所以前面提到的电话号码,一般先放在S RAM中,不是马上写入EEPROM,因为当时有很重要工作要做——通话,如果写入,漫长的等待是让用户忍无可忍的 。NVRAM 是一个很特别的存储器 , 它和SRAM相类似,但是价格却高很多,由于一些数据实在重要,断电后必须保持这些数据,所以只能存放在这里,一般和个人信息有关的数据会放在这里,比如和S IM卡相关数据 。容量大小也只有几百字节 。
闪寸存储器是所有手机的首选 , 综合了前面的所有优点,不会断电丢失数据(NVRAM)快速读取 , 电子可擦出可编程(EEPROM)所以现在手机大量采用 。
说了这么多存储器,可能比较糊涂了 , 这么多存储器,究竟采用哪中呢,在手机发展中 , 各种存储器都用过,至于现在,各种手机采用的存储器是不同的,这个和成本相关 , 各种存储器价格不一样 , 本着性价比最优组合,由设计者决定,有些是可选的,有些是必须的,是手机方案决定的,我们了解只是各种存储性能,特点,在测试中判断错误原因 。
-----------------------------------------------
手机协议站软件的白盒测试
手机软件测试单从测试的内容来看,包括上面的MMI和底下的PROTOCOL 。由于MMI的灵活性,和各个厂家的个性化,以及手机本身的用户不同 。MMI的侧重点也就不同,在基本通话、短消息、数据功能完成的基础上可以五花八门,所以测试的重点不同 。测试方法各不相同 。但是协议就不同了,协议是统一的,虽然你实现方法可以不同,但是完成的功能必须相同,和MMI不同,虽然都是聊天,但是有些用短消息
聊天,有些用PUSH聊天,而协议软件有一个遵守的规范——ETSI指定的协议规范,有统一的命令规范和统一的标准 。消息(术语,不是软件编程里的消息,是通信术语)是固定的嘛 。针对协议的测试,因为有标准可循,有规范可仪,所以软件测试就很多工具,公司也多 , 自动化测试要自动话,否则,按照人的测试能力,谁也无法保证其绝对可靠性,也没有这么大的人力去仔细做测试 。
一般对于白盒测试是比较严格的,而且也是耗费人力的,所以常采用自动化测试工具 。这样节省人力、缩短测试时间 。至于谁家的工具比较好,涉及各取所需吧,也涉及到成本问题 。你如果想购买某产品,会给你一个DEMO版本,给你一个月的评价时期,这个评估版本让你熟悉其产品的优劣也让你熟悉其操作 。测试工具一般都有二次开发功能,也就是可以自己编写脚本,针对不同的软件平台做一些改动,这样可以根据自己的需要编写测试CASE测试用列 。当然即使是全部用自动化测试 , 你心理还是没底 , 你还是要仔细去看代码 。分析流程,读懂其含义,一个很小的问题,出错保护没有作好,一般这个问题最多,出错保护机制没有作好,会造成崩溃这样严重的问题 。这是针对协议代码的白盒测试。如果你是对购买来的协议进行测试,一般有仪器,模拟一个网络基站,进行测试,不过这样的仪器非常昂贵,而且测试人员要对ETSI协议比较熟悉 。我没有直接参加针对协议的白盒测试,不过对评估般的测试软件曾经PRACTISE,可测试覆盖率,我很奇怪的是,一般打点(跟踪)也是需要消耗CPU时间的这样程序效率就降低了,而我要测试程序的效率等项目就要考虑CPU,而且程序的工作运转必须和CPU息息相关,而现在CPU 在保证程序RUN同时 , 还要进行打点,是否测试出的指数和实际不符和呢 , 是否没有达到真实的水平呢?而它这个产品(水牛)介绍说,一般不占用CPU时间,我想了很长时间没有想通后想咨询,告之这是他们的专利,无可奉告 。由于这种测试工具是针对平台,所以如果你平台不支持的,也就没有办法使用了 。还有集成测试等等,在软件的介绍中有详细说明 , 不再详细说明 。对协议进行白合测试,我想对你的要求就是:熟悉相关的协议,否则白扯;熟悉开发的语言,否则免谈 。
--------------------------------------------
1 计算机工业的分类
以往我们按照计算机的体系结构、运算速度、结构规模、适用领域,将其分为 大型计算机、中型机、小型机和微计算机,并以此来组织学科和产业分工,这 种分类沿袭了约40年 。近10年来随着计算机技术的迅速发展,实际情况产生了 根本性的变化,例如70年代末定义的微计算机演变出来的个人计算机(PC),如
今已经占据了全球计算机工业的90%市场,其处理速度也超过了当年大、中型计 算机的定义 。随着计算机技术和产品对其它行业的广泛渗透 , 以应用为中心的 分类方法变得更为切合实际 , 也就是按计算机的嵌入式应用和非嵌入式应用将 其分为嵌入式计算机和通用计算机 。通用计算机具有计算机的标准形态,通过装配不同的应用软件,以类同面目出 现并应用在社会的各个方面 , 其典型产品为PC;而嵌入式计算机则是以嵌入式系统的形式隐藏在各种装置、产品和系统中 。
2 嵌入式系统(Embedded Systems)
嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件硬件可裁剪、 适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统 。嵌入式计算机在应用数量上远远超过了各种通用计算机,一台通用计算机的外部 设备中就包含了5-10个嵌入式微处理器 , 键盘、鼠标、软驱、硬盘、显示卡、显 示器、Modem、网卡、声卡、打印机、扫描仪、数字相机、USB集线器等均是由嵌 入式处理器控制的 。在制造工业、过程控制、通讯、仪器、仪表、汽车、船舶、 航空、航天、军事装备、消费类产品等方面均是嵌入式计算机的应用领域 。
手机软件测试有哪些方法一、等价类分析法
等价类划分方法针对手机状态大致可以归几个大类:
1.按键类(等价法):有效输入和无效输入(有效输入指UM和菜单指示;无效输入指测试菜单功能此时没有定义的按键和用户动作);
2.外部中断类(等价法):常用、不常用及无效
2.1.常用:来电和来消息(短信、彩信、push消息);掀合盖;侧键;耳机&FM;情景模式;电量不足
2.2.不常用:充电;闹钟&记事本&关机时间&整点报时提示;Icon&动画显示;Icon&动画刷新;编辑界面&pop显示框输入为空或满;编辑界面&pop显示框状态输入法默认&字符编码默认;失效SIM卡;大容量等SIM卡兼容;排序;号码识别;
二、边界值分析
例子1:
短消息发送功能的等价类划分方法:.
三、错误猜测法
例子1:
利用手机闹钟重响的例子引入错误猜测法基本概念,讲解错误猜测法的意义
未接来电29通,内存中规划的分区一直分配被占用 。即使同一号码也同样占用资源 。假设此时第30通电话正好为来电号码不显示,即“来电号码未知”或境外来电号码隐藏时(国外保护个人隐私,自动开启来电号码隐藏功能),可能会出现BUG,实际情况证明 , 此时会出现Reset问题 。
四、判定表法
举例一,若手机用户欠费或停机 , 则不允许主被叫 。表示为判定表如下:
七、状态迁移法
举例手机mp3键盘播放模式测试用例设计
1.键盘用户模式基本操作功能
2.支持媒体格式与文件格式要求
3.多媒体播放中对外部事件的响应
4.终端处理能力(包括终端异常处理、文件操作)
5.PC与终端同步能力
什么是手机软件测试手机软件测试同软件测试一样,只不过他的平台式手机 , 也是嵌入式的一部分,工作就是测试软件可以在手机上正常使用,不会产生各种异常情况 , 测试方法也比较多
首先测试一般是把流程走通 , 这是最基本的 , 你的软件需要实现什么功能和实现了什么功能,严格按照需求,即使是可用的功能 , 需求没有的话 , 那也是Bug 。
软件的可用性和体验性
交互性:这一块的Bug应该是最多 , 举一个简单的例子,使用软件的过程中来短信和来电,如果你的软件是基于网络的,这一块肯定会有很多问题 。而且,手动的将网络断开再恢复,请求会不会重新发送,这一点也是需要考虑的 。
将软件中的控件和手机的按键结合起来测试 。
还有你要明确软件的平台,兼容性需要考虑,如果是一个平台的 , 但是分辨率不一样,会使得界面元素丢失等 , 如果是键盘和触屏,那又要分情况考虑了 。
找Bug就是要把软件玩死,就要充分考虑异常的操作,测试不是找开发的错误,而是想开发没想到的东西 , 场景是否面面俱到,错误处理是否健全 。
手机测试主要测试什么?
一.软件压力测试:用自动测试软件连续给手机拨打1000个电话,检查手机是否会发生故障.
二.抗摔性测试:抗摔性测试由专门的PRT可*性实验来进行.半米的微跌落测试要做300/面(手机有6个面).而2米的跌落测试每个面需各做一次.还有模拟人把手机扔到桌面的测试.
三.高温低温测试:让手机处于高低不同的温度来检测手机的适应性.
四.高湿度测试:用一个专门的箱子来操作滴水测试,模拟人出汗的情况(水里面掺有一定比例的盐)
五.百格测试:用H4的铅笔在手机的外壳画100个格子 , 看看外壳会不会掉油漆.
六.翻盖测试:对翻盖手机进行翻盖10万次,检查壳体的损耗情况.
七.扭矩测试:直板机,用夹具夹住两头,一头左拧,一头右拧.测试壳体和手机里面大型器件的强度.
八.静电测试:北方天气干燥,手摸金属的东西容易产生静电,击穿手机电路,有些设计不好的手机就是这么突然坏的.有专门的静电枪和铜板来测试.
九.按键测试:借助机器以给定的力量击打键盘10万次.十.沙尘测试:手机放入特定的箱子,细小的沙子被鼓吹起来.数小时后,察看手机里面是否有沙子进入,如果是 , 那么手机密闭性不好,结构设计有待重新调整 。
做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 可以在模拟器和实际设备上使用 , 也可以集成网格节点作为缩放和并行测试 。