宠辱不惊,去留无意~~ (我就是不客气!)

发布新日志

  • 手机软件测试类型及分析

    2008-12-04 12:28:27

    手机软件测试类型及分析(原创)

    1Basic Function [基本功能测试] 就是验证手机基本功能是否实现,发短信、通话、照相等,包括他们的子功能如转发、连拍等。最基本的也是投入时间精力最大的测试类型,也是最重要的,如果基本功能都没有实现其他测试也就变成枉然了

    2UI [用户界面验证]: 验证手机的界面、菜单等是否是与客户需求和设计保持一致,主要依据 UI spec[用户界面说明],MMI[人机交互界面]Menu tree[菜单树]等,这些文档也是需要根据客户需求及时更新的 

    3Limit Value [极限值测试] 对应黑盒测试的边界值分析法,边界值分析法设计出的测试用例发现 bug 的能力也是最强的,一般依据极限值表设计测试用例,来指导测试。一般测试点如输入字符的个数,会议通话的个数,文档存储个数等 

    4Conflict Test[冲突测试]: 主要依据冲突表,冲突表中列出各个事件之间是否存在冲突,冲突测试用例也是依据冲突表设计,这类用例往往可以发现一些比较严重的 bug ,如游戏中来电,流览WAP时插拔充电器、USB线、camera 中低电等 

    5)Capability Test[性能测试]:主要测试项Call test ,长时间通话,发送大容量的彩信x条,开关机x次,摄像x时间,可以考虑用自动化测试,手机自动化测试与PC软件自动化测试类似,利用自动化测试工具录制、调试 写脚本、回放、分析结果,与PC软件不同的是手机自动化测试需要硬件的支持来固定手机和利用气压按键。 

    6Stress Test[压力测试]: 压力测试是在将手机容量存储状态到满后做的一系列操作,如短信、彩信满,Idle(待机界面(手机术语))界面各事件个数满如未接电话、闹铃等 

    7Network Compatibilit[网络兼容性测试]: 网络参数的设置,GPRS等业务是否可用,本外地的联通移动卡各类业务卡在本地的作测试,还需要做Filed Test[场测]即到最终用户实际使用的环境作现场测试,Filed test 有国际专用用例。 

    8SIM Card Compatibilit[SIM卡兼容性测试] 一般是对联通移动的各类业务卡,新出的大容量(64K)、国际漫游卡、呼叫限制卡、一卡双号卡等卡的验证,验证能否正确注册、对应的业务功能是否实现、基本功能的正确性 

    9PD test [Project Design Test]  验证在项目设计阶段的设计的功能是否得以实现、是否正确,设计用例依据项目设计文档 

    10CR Verification[客户需求验证] 验证客户的一些特定需求和变更后的需求 

    11User Manual [用户手册验证] 其重要性是不言而喻的,用户手册一定要和手机实际功能相符合,不然将会影响用户对产品的信任 

    12FAT( Full Type Approval)[全类型批准]:是GSM手机进入GSM网络必须通过的专业测试。 

     

    来源:http://www.51testing.com/?80108/action_viewspace_itemid_7210.html

     

  • 手机软件MMI的自动化测试设想

    2008-12-04 10:51:48

    手机软件MMI自动化测试需要手机终端和计算机进行通讯,所以通讯方式可以选择串口或者蓝牙,鉴于稳定性和易用性,设计简单程度,串口通讯是非常简单的很容易实现的。

        然后自动化测试工具选择脚本语言的问题,我们可以选择VBscrīpt,Perl,Python,比较一下,Python比较强大,Nokia的一些工具就是python做脚本的。 

        两者之间的通信机制:可以使用ATcommand进行通信,出了GSM标准支持的ATC,还要有手机专门自己的命令来支持远程终端操控手机。比如键盘控制,长按短按等。 

        手机需要暴露一些接口,比如截图,文字识别,返回图像,文字等。这样可以做自动化验证,做到无人值守。这些均需要手机来支持。比如设计手机要有这样的接口 BOOL GetPicture(int top, int bottom, int right, int left, BITMAP & bitmap); 这样通过ATC发过来命令然后手机解析一下,得到top,bottom等信息,然后得到bitmap返回。文字识别需要python来完成,char* GetStringFromPic(Point pt, const Bitmap* bitmap); 我就用C++来表示了。这样在脚本里面就可以进行比较文字了。 

        更进一步,支持录制脚本功能,比如按下某个键,串口信息,监听串口信息,这样脚本解析按下的键,然后判断在转译成脚本语言。Key(); 

        关于手机只需要支持识别ATC参数,然后传回要的结果,我想主要是通过图片来返回,因为这是模拟人工测试的原理,我按下某个键,就会出现什么结果,这样需要返回图片即可,然后脚本客户端需要对图片进行处理,要么进行比较图片内容,要么进行文字识别进行文字对比,这样可以实现测试自动化。 

        前文已经把大致的手机需要提供的接口说了一下,再次总结一下:

    1.需要手机支持GSM07.07中规定(Optional)的键盘控制的命令at+ckpd
    2.需要手机支持一些特殊的ATC,比如传回手机当前图片,以便作比较。
    3.自动化测试的目的:能够替代人工实现大量手工难以完成的工作,重复性较强的工作,比如一些压力测试,存五百条通讯录等,删除等,考验手机内存释放时是否有内存泄露等等。二是能够完成大量的回归测试,易于维护等特点。

    思路:

    选择脚本语言:由于python使用很灵活而且具有强大的文本处理能力,且易于学习等特点,可以选用python作为脚本语言和实现语言。

    方式:

    比如定义def CCKEY()来完成发送CCKEY,也可以通过一个map文件来实现CCKEY--at+ckpd=\"c\"这种方式,然后用户这边只是用譬如以下的命令:

    CenterKey()
    Key(\"#\", 2)
    LongPress(\"#\")
    PressKey(\"0\")
    LSK()
    RSK()
    NaviUp()
    NaviDown()

      再加上python的控制流程,异常处理等,可以编出强大的易于维护的脚本来。

      手机方面的接口可以是GetImage(),然后通过脚本进行处理,这个可能需要很大的工作量,因为要么重新研究图像识别对比,文字识别等技术,要么购买组件等,即验证这一关也很难实现。

      在初期可以考虑人工来验证一些结果,比如图片对比结果,可以使用一些技术,比如蒙板等,得到一些异状图片,用户自己审阅一下,加入明显的由异样,就Fail,这样就不能自动,可以说是半自动化了。
  • 手机测试种类

    2008-10-07 16:17:00

    1、手机软件系统测试的角度分为:功能模块测试,交叉事件测试,压力测试,容量性能测试,性能测试和用户手册测试等。

      2、功能模块测试:首先应分析功能模块的功能项,测试每个功能项是否能够实现对应的功能。一般根据测试案例(Test Case)或软件本身的流程就可以完成基本功能测试。(相对简单,故障也较容易解决)

      3、交叉事件测试:又叫事件或冲突测试,是指一个功能正在执行过程中,同时另外一个事件或操作对该过程进行干扰的测试。例如通话过程中接收到短信或来响闹。应该以执行干扰的冲突事件不会导致手机死机或花屏等严重的问题。

      交叉事件测试非常重要,能发现很多应用中潜在的性能问题。另外有中英文模式的切换的手机要注意中英文模式切换后的功能实现存在的问题,通常会被测试人没忽略。

      4、压力测试:又叫边界值容错测试或极限负载测试,即测试过程中,已经达到某一软件功能的最大容量,边界值或最大的承载极限,仍然对其进行相关操作。例如连续进行短信的接收和发送,超过收件箱和PIM卡所能存储的最大的条数,仍然进行短消息的接收或发送,以检测软件在超常态条件下的表现,来评估用户能否接受。

      压力测试用手工测试非常繁锁,可以考虑自动化测试,目前没有比较大量使用的工具,一般都是由开发人员配合开发出的工具,或者高级的测试人员编写出的脚本。

      5、容量测试:又叫满记忆体测试,包括手机的用户可用内存和SIM/PIM卡的所有空间被完全使用的测试。此时再对可编辑的模块进行和存储空间有关的任何操作测试,如果软件的极限容量状态下处理不好,有可能导致死机或严重的花屏等问题的出现。

      与压力测试有些类似,也可考虑自动化测试。

      6、兼容性测试:也就是不同品牌手机,不同网络,不同品牌和不同容量大小的SIM/PIM卡之间的互相兼容的测试,以短消息为例:中国电信的小灵通接收到从中国移动或中国联通GSM发来的短消息,接收,显示和回复功能是否正常等另外从我测试的这几个小模块中,按与时间相关和文字两方面容易出现故障的地方总结如下:

      1、与时间相关:首先是时间的输入域,是否有输入限制,如:文字、标点符号、小时大于24或12、分钟大于60、秒大于60、月大于12、日大于31(按月情况而定)等特别注意日期变更分界点如23:59或12:59的变化。以及12/24小时切换模式的测试。

      2、文字输入相关:当界面过多时,注意功能按钮的点击事件能否正常完成相应功能的实现。超过文字字数限制时的系统提示等。

Open Toolbar