您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 手机测试基本方法简介
涉及到手机终端适配、网络环境兼容等多个方面。测试执行:23轮功能测试,7轮系统测试,8轮健全测试,3轮机型兼容测试,3轮性能测试,1轮MTBF测试,1轮PD/UI验证测试。但是这其中有很多不足之处,较明显的如下:1、前期功能测试和健全测试一天一轮,频度太快且测试费时,效果不好。2、初期的测试用例设计全面,但未精确定义编写粒度,描述过程过细,后期因需求变更导致维护成本较高。3、因项目流程和过程控制影响,无法明确划分测试阶段,且初期没有找到最佳敏捷测试方法,测试流程冗余僵化,导致大量重复性的工作,灵活性偏低。在测试进程中我们已发现测试策略的问题,并及时调整,在阶段二开始使用新策略——使用两阶段测试模型:1、阶段一自由测试:按照探索性测试(ExploratoryTesting)模式,布置有针对性有重点的自由测试,以“把软件使用坏掉”为目的,尽可能多发现bug。2、阶段二覆盖测试:执行各项测试用例,以“全面测试”为目的具体的时间安排如下:1、先期产品开发阶段,即Alpharelease之前,做功能测试、健全测试、缺陷验证+自由测试。2、项目中期,Alpha~Beta之间,执行全面的系统测试、兼容性测试、性能测试,并开展自动化脚本开发、环境搭建等工作。3、Betarelease之后,在产品发布前的2~3周,就开始确定稳定版本ReleaseCandidate,在此版本基础上做最后一轮全面测试、重点子模块的健全测试、缺陷主导的ET等,完成最终报告并交由项目组领导、QA审核发布。最近一直在做智能手机小应用的跟踪验证测试,故障单是由测试高手提供的,是一个非常完善的测试队,连我们的开发团队都感叹他们的敏锐,能发现潜在的Bug。在验证之余,我认真研究了他们出的故障单,做了一些总结:1、手机软件系统测试的角度分为:功能模块测试,交叉事件测试,压力测试,容量性能测试,性能测试和用户手册测试等。2、功能模块测试:首先应分析功能模块的功能项,测试每个功能项是否能够实现对应的功能。一般根据测试案例(TestCase)或软件本身的流程就可以完成基本功能测试。(相对简单,故障也较容易解决)3、交叉事件测试:又叫事件或冲突测试,是指一个功能正在执行过程中,同时另外一个事件或操作对该过程进行干扰的测试。例如通话过程中接收到短信或来响闹。应该以执行干扰的冲突事件不会导致手机死机或花屏等严重的问题。交叉事件测试非常重要,能发现很多应用中潜在的性能问题。另外有中英文模式的切换的手机要注意中英文模式切换后的功能实现存在的问题,通常会被测试人没忽略。4、压力测试:又叫边界值容错测试或极限负载测试,即测试过程中,已经达到某一软件功能的最大容量,边界值或最大的承载极限,仍然对其进行相关操作。例如连续进行短信的接收和发送,超过收件箱和PIM卡所能存储的最大的条数,仍然进行短消息的接收或发送,以检测软件在超常态条件下的表现,来评估用户能否接受。压力测试用手工测试非常繁锁,可以考虑自动化测试,目前没有比较大量使用的工具,一般都是由开发人员配合开发出的工具,或者高级的测试人员编写出的脚本。5、容量测试:又叫满记忆体测试,包括手机的用户可用内存和SIM/PIM卡的所有空间被完全使用的测试。此时再对可编辑的模块进行和存储空间有关的任何操作测试,如果软件的极限容量状态下处理不好,有可能导致死机或严重的花屏等问题的出现。与压力测试有些类似,也可考虑自动化测试。6、兼容性测试:也就是不同品牌手机,不同网络,不同品牌和不同容量大小的SIM/PIM卡之间的互相兼容的测试,以短消息为例:中国电信的小灵通接收到从中国移动或中国联通GSM发来的短消息,接收,显示和回复功能是否正常等另外从我测试的这几个小模块中,按与时间相关和文字两方面容易出现故障的地方总结如下:1、与时间相关:首先是时间的输入域,是否有输入限制,如:文字、标点符号、小时大于24或12、分钟大于60、秒大于60、月大于12、日大于31(按月情况而定)等特别注意日期变更分界点如23:59或12:59的变化。以及12/24小时切换模式的测试。2、文字输入相关:当界面过多时,注意功能按钮的点击事件能否正常完成相应功能的实现。超过文字字数限制时的系统提示等。对于当前背景下的手机测试来说,要做好手机软件测试,主要从以下几个角度进行测试:UI测试,功能模块测试,交叉事件测试,容量性测试,用户手册测试等。1、UI测试用户界面(以下简称UI)测试指测试用户界面的风格是否满足客户要求,文字是否正确,页面美工是否好看,文字,图片组合是否完美,背景是否美观,操作是否友好等等,UI测试用于核实用户与软件之间的交互。UI测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。另外,UI测试还可确保UI中的对象按照预期的方式运行,并符合公司或行业的标准。包括用户友好性,人性化,易操作性测试。2、功能测试功能测试指测试软件各个功能模块是否正确,逻辑是否正确。对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求。这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当。此类测试基于黑盒技术,该技术通过图形用户界面(GUI)与应用程序进行交互,并对交互的输出或结果进行分析,以此来核实应用程序及其内部进程。功能测试的主要参考为类似于功能说明书之类的文档。3、交叉事件测试交叉事件测试是指一个功能正在执行过程中,同时另外一个事件或操作对该过程进行干扰的测试。例如在运行手机软件程序的过程中接收到短信或来响闹。应该以执行干扰的冲突事件不会导致手机死机或花屏等严重的问题出现为Pass的标准。4、容量性测试容量性测试主要测试软件测试的性能,包括负载测试,强度测试,基准测试以及基准测试4.1负载测试负载测试是一种性能测试指数据在超负荷环境中运行,程序是否能够承担。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。4.2强度测试强度测试是一种性能测试,他在系统资源特别低的情况下软件系统运行情况。这类测试往往可以书写系统要求的软硬件水平要求。实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的。强度测试还可用于确定测试对象能够处理的最大工作量。5、用户手册测试手机软件的用户手册测试主要是看软件功能介绍是否准确、简洁地描述该软件功能,且不会让用户产生误解。手机软件测试类型及分析1)BasicFunction[基本功能测试]:就是验证手机基本功能是否实现,发短信、通话、照相等,包括他们的子功能如转发、连拍等。最基本的也是投入时间精力最大的测试类型,也是最重要的,如果基本功能都没有实现其他测试也就变成枉然了2)UI[用户界面验证]:验证手机的界面、菜单等是否是与客户需求和设计保持一致,主要依据UIspec[用户界面说明],MMI[人机交互界面],Menutree[菜单树]等,这些文档也是需要根据客户需求及时更新的3)LimitValue[极限值测试]:对应黑盒测试的边界值分析法,边界值分析法设计出的测试用例发现bug的能力也是最强的,一般依据极限值表设计测试用例,来指导测试。一般测试点如输入字符的个数,会议通话的个数,文档存储个数等4)ConfictTest[冲突测试]:主要依据冲突表,冲突表中列出各个事件之间是否存在冲突,冲突测试用例也是依据冲突表设计,这类用例往往可以发现一些比较严重的bug,如游戏中来电,流览WAP时插拔充电器、USB线、camera中低电等5)PerformanceTest[性能测试]:主要测试项Calltest,长时间通话,发送大容量的彩信x条,开关机x次,摄像x时间,可以考虑用自动化测试,手机自动化测试与PC软件自动化测试类似,利用自动化测试工具录制、调试写脚本、回放、分析结果,与PC软件不同的是手机自动化测试需要硬件的支持来固定手机和利用气压按键。6)StressTest[压力测试]:压力测试是在将手机容量存储状态到满后做的一系列操作,如短信、彩信满,Idle界面各事件个数满如未接电话、闹铃等7)NetworkCompatibilit[网络兼容性测试]:网络参数的设置,GPRS等业务是否可用,本外地的联通移动卡各类业务卡在本地的作测试,还需要做FiledTest[场测]即到最终用户实际使用的环境作现场测试,Filedtest有国际专用用例。8)SIMCardCompatibilit[SIM卡兼容性测试]:一般是对联通移动的各类业务卡,新出的大容量(64K)、国际漫游卡、呼叫限制卡、一卡双号卡等卡的验证,验证能否正确注册、对应的业务功能是否实现、基本功能的正确性9)PDtest[ProjectDesignTest]:验证在项目设计阶段的设计的功能是否得以实现、是否正确,设计用例依据项目设计文档10)CRVerification[客户需求验证]:验证客户的一些特定需求和变更后的需求11)UserManual[用户手册验证]:其重要性是不言而喻的,用户手册一定要和手机实际功能相符合,不然将会影响用户对产品的信任12)FAT(FullTypeApproval)[全类型批准]:是GSM手机进入GSM网络必须通过的专业测试。浅谈手机软件测试用例设计方法手机产品和用户交互非常紧密,手机的软件质量就显得尤其重要。要使最终用户对手机软件感到满意,必须要在手机软件发布之前进行充分的测试。而不完全、不彻底是软件测试的致命缺陷,但是我们又不可能进行穷举测试,任何程序只能进行少量而有限的测试。为了节省时间和资源,提高测试效率,我们必须要从数量极大的可用测试数据中精心挑选出具有代表性或者特殊性的测试数据进行测试。测试用例在此情况下产生。测试用例是为特定的目的而设计的一组测试输入、执行条件和预期的结果。简单地说,测试用例就是设计一个场景,使软件程序在这种场景下,必须能够正常运行并且产生程序所设计的执行结果。GrenfordJ.Myers在《TheArtofSoftwareTesting》一书中提出:一个好的测试用例是指很可能找到迄今为止尚未发现的错误的测试,由此可见测试用例设计工作在整个测试过程中的重要地位。测试用例设计的好坏直接影响到测试的效果。目前很多公司的测试用例都是依据需求或者规范规格,测试用例设计人员根据经验来写测试用例,这种情况就会导致测试用例覆盖面不全、测试用例规划不合理,甚至存在测试用例冗余的情况。测试用例覆盖面不全会导致出现漏测少测,将问题直接流向用户;测试用例规划不合理、测试用例冗余会造成人力浪费,导致测试效率低下。因此不能只凭借一些主观或直观的想法来设计测试用例,应该以一些比较成熟的测试用例设计方法为指导,再加上设计人员个人的经验积累来设计测试用例。目前业界比较成熟的测试用例设计方法主要有:等价类划分法,边界值分析法,错误推测法,因果图法,正交实验设计法等。等价类划分法等价类划分法是测试用例设计中一种重要而常用的设计方法,它将不能穷举的测试用例进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。等价类划分是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。边界值分析法边界值分析法就是对输入或输出的边界值进行测试设计的一种方法。通常边界值分析法是作为对等价类划分法的补充。长期的测试工作经验告诉我们,大量的错误发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。使用边界值分析方法设计测试用例,首先应确定边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值而不是中间值作为测试数据。错
本文标题:手机测试基本方法简介
链接地址:https://www.777doc.com/doc-2415053 .html