一、手机软件测试背景 我国的手机测试技术整体上还是处于刚刚起步阶段,近几年经历了从无到有的过程。现在的水平基本上能满足手机测试的要求,但是同发达的先进生产厂商的差距是全方位的,无论是从实现技术上,流程的规范性与合理性,还是从对测试概念的理解上都有相当的距离。又加上手机产业的巨大发展潜力,所以,手机测试技术在我国手机开发行业中必将面临着激烈的竞争和强大的挑战。
测试伴随着整个手机软件开发的各个阶段中。测试的成功与否,测试的覆盖性好坏与测试质量的高低直接关系到手机软件的可用性,友好性,可靠性。直接影响到产品能否如期上市,关系到手机厂商的切身利益与长期的市场竞争力。可以说,测试环节事后及软件开发的重要环节,整个开发过程中的“中枢神经”。同事,测试用力的设计在测试过程中是一个非常重要的一个环节,是重中之重。
二、测试用例的常见分类
1、基本功能测试 基本功能是指手机软件向手机用户提供的小的、可以进行的所有简单操作的集合。对基本功能的测试是指测试工程师在被测试的手机上进行实际操作,来验证操作是否可行,操作的结果是否满足设计的要求,如果不满足,要报告错误,由开发者来改正错误。 具体操作例如:接听一个电话,拨打一个电话,发送一条普通短信,接收一条普通短信,发送一条彩信,接受一条彩信,播放一首静态音乐文件(MP3),播放一段视频,照一张相片,录制一段录像,接收电子邮件,用浏览器浏览网页,设置一个闹钟,使用计算器,通过蓝牙发送数据,通过蓝牙接收数据等等。
2、交互测试 所谓交互测试是指当手机不同的两个或者多个功能之间有交互的时候,对手机所应该处的状态或者行为进行测试,被测手机的状态或者行为应该与需求设计中的要求一直。如果有错误,同样应该由开发人员来进行改正。
具体操作例如:打电话是接收短信息,看短信内容是进来一个电话,听音乐时浏览新短信,挺音乐时进来一个电话,上网浏览时进来一个电话,接电话时闹钟报警,等等。
3、临界测试
所谓的临街测试是指当手机的某些可用资源达到或者吵过理论允许的极大值时,在手机上继续进行某种操作时候的测试。此时手机的行为应该是友好的,可被使用着接收的,应该与需求分析的要求相符合。
具体操作例如:内存满时拨打电话,内存满时启动浏览器,内存满时启动音乐播放器,内存满时启动Email,内存满时启动闹钟,内存满时启动视频播放器,数据库满时拨打电话,数据库满时启动浏览器,数据库满时启动音乐播放器,地址本满时继续添加记录,短信收件箱满时继续接收新短信,等等。
4、压力测试
压力测试一般是指在比较短的一段时间内,被测手机执行比较多的任务或者操作,来检测被测手机承受压力的能力。具体操作例如:短时间内发送大量的短信,同时并接受大量的短信,发送和接收的数量都在50条以上。短信的群发(包括超长短信),查看接收和返送的成功率,接通一个电话并且保持很长一段时间(大于10个小时),等等。
三、测试用例设计注意事项
对于测试用例的设计来说,操作步骤的描述总体上要求尽量笼统化,含糊糊啊。为了表述一个概念或者操作,不必具体说清楚怎么样具体地完成这个操作,只需一带而过地说要进行什么操作即可。比如说,只需要说明“启动计算器应用”,而不必说先到主菜单,再到某某选项下面找到“计算器”之类的话。再比如说,只需要说“接通一个电话,然后接收一条短信”,而不必说如何几通电话,如何从别的手机或者软件发送一条短信。同时为了防止测试工程师在执行测试用例的时候不清楚某些操作的具体操作方法,还需要在相应测试用例的联机帮助文档中对可能引起混淆的操作或者比较笼统的描述作出进一步的详细说明。
这样的好处是测试用例没用同时分具体的某一款产品绑定的太紧密。在实际的商业模式中,经常同一个手机平台会衍生出一系列的不同产品。这些产品的功能基本相同,只是具体的操作界面有所不同。新开发的测试用例应该是面向整个平台,而不是针对具体的某一款产品的。否则无形中会大大增加二外的劳动力。所以无论从商业成本的考虑还是从开发周期成本角度来说,开发针对平台的测试用例无疑是正确的选择。
其实,为了能够是开发出的测试用例能够快速的被新来的测试工程师所理解和掌握,为了能使这些测试用例有更多的可使用者,也应该尽可能地把对操作步骤的描述详细化和具体化,因为只有这样,才能使测试用例更加通俗易懂,节省更多的新手的熟悉和适应的周期。
所以,这需要找到一个“笼统”与“详细”之间的平衡点,只用适当地掌握了详细的分寸与火候,才能使测试用例具有更高的认可读和质量。
四、测试过程中的注意事项
1、高度的责任心是作为一个的测试工程师所必备的基本素质,一个好的测试工程师要对所测试的软件负责,对开发人员负责,同事也是对自己负责。
2、要有充足的耐心,因为有的问题需要多次反复的,甚至令人烦躁的重复操作才能重现出来,只有有足够的耐心才能把错误揪出来,不让一个错误漏网。
3、细心也是一个非常重要的一个基本要求,存心大一肯定会漏电很多很多的问题
4、保持对错误的敏感性,有的错误不是很明显,也是说同样的现象,有的测试工程师回“视而不见”,没有认为可能存在错误,而有点测试工程师会意识到可能会有问题存在。
5、兴趣是好的老师,如果对测试工作有足够的兴趣,能积极主动地发现很多别人不容易发现的问题,兴趣也是可以培养出来的,不断总结自己发现的问题,看到自己发现的问题被改正过来,一点一滴成感的积累可以培养对测试工作的兴趣。
6、自身的努力也是成为一个的程序员所必备的要求,尽量多学习测试的主页背景只是,多多了解软件及硬件的结构以及工作远离,虚心学习好的测试方法和技巧,不断积累自己处理问题的能力和经验,肯定会成为一名好的测试工程师。