手机软件测试流程分析
2017-12-29作者张丽辉上海龙旗科技股份有限公司
作者/张丽辉,上海龙旗科技股份有限公司
1.研究背景
随着科技社会的发展,手机与我们的生活息息相关,已经到了密不可分的地步了,手机扮演着多元的角色,手机行业的发展已经改变了我们生活的方方面面。在软件测试的工程中,软件测试一般是用来优化软件的重要可靠手段。实际实践证明了未经过测试的或未充分测试的软件是不能直接作为发布产品的,如果发布,可能会大概率存在安全隐患,甚至导致无法挽回的灾难。在形式化的方法和程序的正确性证明技术还未实用的状态下,软件测试在未来的相当一段时间里是保证软件的可靠性和有效避免其出问题的最重要的方法。从当前国内的手机软件的形式来看,因为禁言不足的原因,国内的手机软件测试还是处于比较基础的阶段,对手机软件测试的理解也不够透彻,投入的精力不够,因而很难去制定出一套详细的手机软件测试的标准来完成手机软件测试工作。
2.软件测试流程
2.1 需求分析阶段
在进行需求分析的时候,软件测试人员既要明确知道客户的需求的同时,还要收集软件测试的相关信息,评估开发的风险和明确相应测试对策,做好测试项目的变更管理,并要求组织软件测试的工程师参加软件的需求调研和需求评审活动。对于手机产品的测试分析,不仅是完成客户们的要求,而是从终端用户对于手机的需求和市场上的手机原型,对其的需求来进行修改完善。
2.2 分析设计阶段
在软件设计分析这个阶段中,最主要的工作就是把软件需求作为依据,把测试的范围和重点划出来,并针对其完成测试制定计划。
测定计划需要注意的事项:①规定手机软件测试的可测量及完成测试的目标。②接收标准。③计划用来测试的资源和工具,测试的过程中软、硬件以及人力资源的分配和测试平台。④软件测试时负责人和开发人员沟通好,在软件稳定下来时候再开始进行测试等一系列操作。⑤根据软件的要求和软件周期的安排,计划要完成测试阶段的哪一些测试(功能、并发、压力测试),并指定每种测试必须达到的标准。⑥定下测试任务暂定的水准和再启动的要求。⑦测试任务和进度。
2.3 实现阶段
该阶段是手机软件测试中比较重要的,需要保证手机的质量。在这个阶段里,手机软件所需的文档和软件结构的分析基本完成了。测试工程师需要把所有的分析文档、详细设计文档及该有的测试用例库作为测试来源。就拿安卓的例子来说,安卓系统可以实现多任务的,可以一起测试这些项目,但这个测试不仅能减少时间,同时还可以测试手机的兼容程度。在市场上存在着很多个安卓的版本,最消耗时间的项目莫过于把不同的手机与不同版本的安卓系统的兼容性进行测试。如果测试员发现了错误要及时纠正和修改,以达到减少损失的目的。
3.手机软件测试策略
在测试一款产品的时候,写的测试中要与需求上有一定的关联,这就需要考虑到涉及到了交互测试。这样测试用例不会与某一款产品产生比较紧密的关联,这样就可以在不同的平台上创造出更多不一样的手机,进而削减了劳动力、缩短了开发的周期,最后降低了商业成本,从而实现提高产品的商业价值和有效劳动力[2]。然而有很多问题都是由于硬件不同而引起的,所以不同的硬件就要有不一样的侧重点。
3.1 单元测试和集成测试
就是软件的编码和单元模块测试阶段,首先就是单元测试,软件是由许许多多个单元组成的。这个测试的目的就是把各个存在错误和不足的单元给找出来,第一步就是静态人工检测,这个是通过代码的审查,将编写中存在的错误给找出来。这个完成之后,对其就行动态追踪,通过对代码的运行,把单元也运行起来,这样就可以有效地避免执行程序过程中出现错误[1];然后就进行集成测试,对着所需要的要求,把单元都组装起来,形成一个子系统并对其进行测试。
3.2 系统测试
在测试用例都测试完成后,要有相关人员进行审查来确定是否可以进行下一个步骤环节了。另外还有兼容性测试,除了这个,在对系统的测试中,还需要进行其功能测试、手机性能测试、系统的强度测试、负载测试等等,在测试中要及时修正所发现的错误。
系统测试的主要内容:① 功能性的测试。② 手机常规性能测试。在正常的软硬件条件下不对其施加任何压力,来验证手机是否可以正常工作。③ 手机系统的强度测试。④ 交互测试。手机软件相对于来说是一个比较复杂的系统如果只靠对基本功能的测试是可能达不到要求的,终端用户在某些偶然的条件下可能会打开很多个应用app,这就是产生了交互测试。
系统测试是手机软件测试中最为关键的一个环节,在此阶段中进行时间最长发现的问题最多,其中的流程关键而繁琐。在此过程中,软件测试的负责人必须分析测试工作的结果,确定测试工作的顺序和严谨性。
3.3 完成测试
在整个手机软件测试的过程中,软件测试的负责人根据软件测试定制的暂停的基础原则,来判定测试动作是否已经达到了暂停的标准。与此同时,负责人要完成手机软件测试的报告。主要报告这次此时所用的软硬件的版本,测试做了哪些工作、花了多长的时间、测试中发现了什么样的问题、还剩下多少问题没有解决等等,然后依据一定的评分标准,为测试的结果进行评估并进行上报。
3.4 确定测试
通过测试专业团队的检测,确定产品是否可以用来进行正式的发布,如果评估不合格可能还要重新返还进行重做再进行评估直到评估通过为止。最后由公司质保部门或者软件定制组织进行确认是不是完成规定里需要的所有功能并确定能否发布。
在整个的测试过程中,确定测试是最后一个步骤而且十分重要,它决定着一个产品的命运,是否能正式发布。在手机软件生产过程中往往会遇到客户会对软件需求的改变,所以在正式的发布之前都要由客户确认了所有的需求,才能避免发布会后蒙受重大的损失。
3.5 追踪错误报告测试
测试软件的最主要的目的就是发现软件所出现的问题,所以编写错误报告是一个至关重要的工作项目。通过这个报告的正确指引,可以使开发人员少走一些弯路、少花一些不必要的时间、节省更多的精力,准确而快速地定位到问题出现在哪儿,进而对出现的问题采取一些必要措施去解决这个问题。在进行撰写错误报告的时候,要保证错误报告的客观性以及全面性[3]。在报告中发现错误很重要,甚至可以查出问题的根本所在。所以不能轻视错误报告的重要性。
3.6 自动化测试策略
现在的手机中功能越来越多样化,使得回归测试的工作量变得越来越大,并且测试中经常碰到的工作的重复性挺大的,如果是测试员手动执行的话比较费力,容易让测试员感觉到枯燥乏味进而产生疲倦感甚至疲倦心理,很容易造成遗漏。有一套自动测试的设备的话可以大大提高测试效率。
4.测试的监控
为了能保证测试计划能够高效且顺利的完成,测试监控则是一个重要的手段和保证。负责人应加强对测试的监控力度,确保测试工作不出现任何差错,如果及时发现错误要尽快修正。负责人应该在每个阶段的开始的时候,根据计划的管理来进行控制监控测试的工作[4]。
5.总结
对手机来说,测试可以说是非常重要的步骤。测试是否合格直接影响到它的发布。对于手机软件测试的过程中存在许许多多的不规范操作流程,在开发的过程中需求经常有所变化,同时测试人员的经验也不够丰富和不够了解软件的情况,从而使得工作繁琐且测试效率不高并且浪费了大量时间和精力,测试过程中执行控制力较差,造成测试的工作质量低下,进而增加了软件的生产成本。通过规范测试流程,能够提高软件测试的效率和质量,从而提高软件的质量和降低软件生产和维护的成本。加强对测试员的要求水准,多培训其有关手机软件测试的课程,鼓励测试员自己去摸索和开拓创新。将软件中存在的错误和缺陷尽早找出来并进行优化和修复,保证软件在后续运行的过程中不会出现和质量相关的问题,避免出现巨大的损失。对于我国手机软件测试的发展,本文还是给出了一些关于手机测试可供借鉴的方案。实践是检验真理的唯一标准,真正的还是需要在工作中自己去摸索和发现,然后结合一定的测试经验,从而将测试的水准提高很多。
* [1] 杜梅,刘丙利.浅析提高软件测试效率的方法[J].科技信息,2011(15)
* [2]李庆义.软件测试领域知识管理技术的应用[J].软件导刊 .2012(02):18—19
* [3]李香平,杨兆选.基于虚拟线的交通新算法[J].电子测量与仪器学报,2005,19(4):3033.
* [4]崔立尉.手机软件测试的实践探讨[J].电子制作2013(24):59