叶子,软件测试sky下度过十数载生涯。几多风雨波折,几多辛酸甘苦,不足为外人道也。 若干手机测试,web测试,金融测试经验,若干测试管理经验,现在依然带着若干迷茫然信念坚定的踽踽独行于金融软件测试的茫茫大海之中,希望在测试的道路上有更多的同路人。

发布新日志

  • 手机测试中如何进行兢合测试

    2008-05-15 09:38:22

    这篇文章是应某些手机测试的朋友要求而写。总结的也是一点自己以前手机测试的经验。希望对不知道的人有所帮助,也希望大家们可以完善补充。

    手机测试,我做了3年,主要涉及的模块就是entertainment.j2me的程序测试。它的测试主要包括,基本功能测试。包括了测试自带程序(pre-installed)和后期通过模拟网或者实网下载而来的程序的生命周期。结合测试,一般指在java group这边指两个条件并存的情况下一些测试,但是这两个条件一般不发生冲突。兢合测试,一般指两个冲突的事件相兢合的情况下的测试。重点在于看系统是否基于既定的优先级进行妥善的处理。此外还有网络测试,指网络上获得程序时的一些测试,包括了对jar,jad的一些属性的改变来测试,还有状态报告的测试等等。当然,在这之外,程序上还分若干种类,不同的种类都有不同的测试。

    举个例子来说,j2me程序运行的时候,一个电话和一条短信进来,如何处理?正常来说,第一步是要看冲突事件之间的优先级别,这个一般会在document里面有。比如电话和短信,电话的级别高于短信的级别。体现在这个冲突事件中就是电话在没有其他设置的情况下,是可以打断程序的,而短信是不可以的。而在冲突事件之后,每个时间都应该有很好的处理,比如被打断的程序可以在断点继续运行而不是关闭或者起不来了(这个跟设计有关系,不是每个手机的处理方式都一样),电话在冲突的情况下可以打进来,通话质量不受到影响。通话后,结束程序,可以找到相应的通话记录。短信可以正常接收等等。。

    一般来说,兢合点是很容易出现问题的。很多人在测试的时候却没有办法测试出来,为什么呢?就是因为兢合点没有把握好。

    比如,用例这样设计:Start a java app,during the java logo is displayed,incoming a call. check point: System can deal them normally or call can be received and after the call, java app can be continued to running.

    有些人会这样做,启动一个程序,然后拨打一个电话,运行5次或者十次,没有异常,ok.

    但是有些人就会发现问题。差异在哪里呢?冲突点。就是java logo出现的那一瞬间需要incoming a call.这个冲突点之前的人没有把握到。

    有人会说,java logo出现的时间可能只有1秒不到,我怎么测试阿?总是很难碰上这个点,所在之之前或者之后连续测试,没有问题就可以了。

    实际的测试中的确有人这么做的。但是其实测试人员也会很清楚,这样的测试,真的是对应了这个测试用例吗?这样得出的ok的结果真的就是ok了吗?不是的。这是不能等价交换的。这样的处理,就是没有对应这个测试用例,或者说这个测试就是一个失败的测试。

    怎么做呢?

    很简单,你先测试一下,从你选择启动到java logo出现 需要几秒,然后 java logo可以持续多久

    然后你测试一下,一个电话从拨完号码到它响应在手机上,需要几秒。取一个交集就可以了。

    比如,接到一个电话需要6s,java 程序启动包括logo的时间需要3s.那么你可以再拨号后3秒再去启动java app.基本上电话进来和logo出现就兢合到了一个点上。这样几次下来,如果没有问题,就基本可以心安理得的写上“ok”了。

    诸如此类。

     

Open Toolbar