手机软件测试单从测试的内容来看,包括上面的MMI和底下的PROTOCOL。由于MMI的灵活性,和各个厂家的个性化,以及手机本身的用户不同。MMI的侧重点也不同,在基本通话、短消息、数据功能完成的基础上可以五花八门,所以测试的重点不同。

  测试方法各不相同。 但是协议不同了,协议是统一的,虽然你实现方法可以不同,但是完成的功能必须相同,和MMI不同,虽然都是聊天,但是有些用短消息聊天,有些用PUSH聊天,而协议软件有一个遵守的规范——ETSI指定的协议规范,有统一的命令规范和统一的标准。消息(术语,不是软件编程里的消息,是通信术语)是固定的嘛。 针对协议的测试,因为有标准可循,有规范可仪,所以软件测试很多工具,公司也多,自动化测试要自动化,否则,按照人的测试能力,谁也无法保证其可靠性,也没有这么大的人力去仔细做测试。 

  一般对于白盒测试是比较严格的,而且也是耗费人力的,所以常采用自动化测试工具。这样节省人力、缩短测试时间。

  至于谁家的工具比较好,涉及各取所需吧,也涉及到成本问题。

  你如果想购买某产品,会给你一个DEMO版本,给你一个月的评价时期,这个评估版本让你熟悉其产品的优劣也让你熟悉其操作。测试工具一般都有二次开发功能,也是可以自己编写脚本,针对不同的软件平台做一些改动,这样可以根据自己的需要编写测试CASE测试用例。当然即使是全部用自动化测试,你心里还是没底,你还是要仔细去看代码,分析流程,读懂其含义,一个很小的问题,出错保护没有做好,一般这个问题多,出错保护机制没有做好,会造成崩溃这样严重的问题。 这是针对协议代码的白盒测试 。

  如果你是对购买来的协议进行测试,一般有仪器,模拟一个网络基站,进行测试,不过这样的仪器非常昂贵,而且测试人员要对ETSI协议比较熟悉。 我没有直接参加针对协议的白盒测试,不过对评估版的测试软件曾经PRACTISE,可测试覆盖率,我很奇怪的是,一般打点(跟踪)也是需要消耗CPU时间的这样程序效率降低了,而我要测试程序的效率等项目要考虑CPU,而且程序的工作运转必须和CPU息息相关,而现在CPU 在保证程序RUN同时,还要进行打点,是否测试出的指数和实际不符合呢?是否没有达到真实的水平呢?而它这个产品(水牛)介绍说,一般不占用CPU时间,我想了很长时间没有想通后想咨询,告之这是他们的专利,无可奉告。