1)测试模块划分

  不论是以前通讯功能为主的2G手机,还是如今注重应用程序的3G手机,如果将整机看作测试对象,那么这个对象对于任何测试团队(个人)来说,都是过于庞大的,所以,合理的功能分类,针对各个分类功能的独立测试和组合测试,才是完成整机测试的捷径。

  而测试模块分类粒度取决于测试目标。如,若是需要完成整机质量评估,则通常划分粒度为独立的功能模块(电话本、短信...);若测试对象仅为单个功能模块,则可以将此功能模块的单个功能划分为一个测试模块,如电话本的增加联系人。

2)整理测试模块内部和外部分结构

  针对单个测试模块,分析其结构(可以从界面结构或实现原理结构两方面任选一个),好画出结构示意图,便于后期设计测试用例或指导测试执行。

  比如,测试模块为短信。

  按照功能划分,它的一级内部结构组件有:新建消息、收件箱、发件箱、小区消息、特殊应用

  再向下,特殊应用的组件有:消息分类、消息过滤....

  ……

  而在短信程序的外部,它联系的其他的应用有:待机界面应用程序接口、状态栏消息状态显示、待机界面提示信息到短信阅读功能接口、短信阅读功能到联系人接口.....

  将整个短信程序的内、外部结构梳理出来后,即可开始实际的用例设计了。

3)测试用例/检查点设计

  用例设计,根据其应用的范围,可以设计为标准测试用例,测试规程、测试检查点。这取决于设计用例的目的,即设计出的用例将用于什么样的测试,由什么样的测试员执行,需要记录什么样的测试结果。建议学习前期都设计标准的测试用例,不要觉得这样很麻烦,测试技能的提升是靠反复、单调的工作积累的。

  用例设计过程中,按照第2点的结构图设计出的用例,均是功能测试用例。如有非功能测试的需求,则还需手动增加其他类型的用例。可以参考问题2的测试类型。

  4)测试过程和结果记录

  通常,80%的缺陷都不是用例发现的。所以,并不是按照用例测试过的测试对象是完美的,安全的。用例测试只是对测试目标做一个基础标准的质量评估,并引导测试员在测试过程中,根据用例拓展出新的测试点,并发现新的缺陷。

  比如,有些用例带有测试数据,在测试过程中,执行完该条用例后,可随机增加新的测试数据进行重复测试。又比如,有些用例带有复杂的前置环境,同样可以在测试过程中,稍微修改前置环境的配置,组合出新的测试点。

  探索测试(自由测试)在很长一段时间内,都是测试执行的重点。

  结果记录包括两部分:用例执行结果记录和缺陷记录。

  5)测试结果分析和测试过程改进

  世界上不存在完美的测试过程,所以,不断改进测试过程是必不可缺的。而改进的方法来源于对测试结果的分析,若用例缺陷发现率,若此数值偏低,则需要分析之前设计的用例组是否存在瑕疵。若某个模块缺陷数较高,则考虑是否需要增加此模块的测试力度,比如设计粒度更小的用例组,详细检查该模块的各个组件的质量。