当前位置:首页 期刊杂志

浅谈移动App测试流程

时间:2024-05-20

陈梦珂 戴平

摘 要 近年来,App发展已进入竞争日趋激烈阶段,由最初级的简易型应用程序发展到现在复杂多样化。目前App开发大多采用迭代开发模式,版本更新速度快,测试周期短,测试工作难。文章从测试流程方面进行阐述移动App测试过程及主要测试活动。

关键字 移动App 测试流程 探索测试

中图分类号 TP3 文献标识码 A 文章编号 1674-6708(2018)209-0145-02

随着科技的进一步发展,智能手机已经成为个人通信、网络、生产力和企业盈利的新标准和必备产品。如果一款新研发的产品不经过测试就急于上市,不仅是发生信息安全问题,就连相对而言较轻的闪退、卡死卡顿、黑屏白屏等兼容性问题,给产品带来的影响也是极大的。因此测试的工作在App运营过程中必须得到进一步的重视。文通过文献分析法及多年App测试工作经验,对实际工作中移动App的测试流程工作进行梳理和总结如下。

1 App测试流程

手机上的App分为基于HTML5的App(类似于b/S架构)和本地App(类似于C/S架构)所以测试上我们也可以充分吸收Web的b/s和c/s测试经验。但是不同于PC上的应用测试,手机上的测试有其独特性。常见的移动App测试流程如图1。

1.1 测试计划制订

测试计划阶段处于测试的先期准备工作阶段,在该阶段中主要对测试工作做出整体计划安排,在此之前需要进行需求分析,对产品需求规格进行需求测试,将要测试的产品分解成可独立测试的单元,为每个测试单元确定采用的测试技术。然后明确测试目的,设定测试范围、安排测试进度、制定测试策略,准备测试资源、预测项目风险等。在制定项目计划时,应参照项目交付的进度,客观分析个模块的工作量,以保证计划质量。该阶段的产物是《测试计划》文档一般由测试经理完成,文档经过项目组成员评审后定稿,作为测试工作开展的指导纲领,也是评估测试工作成果的主要依据。

1.2 测试设计阶段

测试设计阶段主要工作是把用户需求转化成测试需求,并通过黑盒测试方法如等价类边界值、因果图判定表、场景法、错误推断法等,设计详细测试策略,确定测试类型,App常见测试类型包括:功能测试、安装卸载测试、兼容测试、性能测试等,每一种测试类型都需要制定详细测试策略及准备测试工具和测试资源,最后编写测试框架或者测试用例。

由于App开发周期短,版本迭代快,一般采用测试思维导图或feature lis形式罗列测试点,详细地描述每个单元的测试方法。测试设计阶段是测试工作的灵魂,需要对该阶段产物测试用例进行详细评审,评审维度包括:用例描述是否清晰,内容是否完整,是否包含用例各个要素(输入输出),是否覆盖需求中所有场景,逻辑分支及限定条件等,是否考虑到测试用例的执行效率及可执行率等;測试用例在项目组评审通过后才能进行测试实施工作。测试用例是测试执行的依据。测试用例一般由测试组长编写,并分配给测试组员进行测试执行工作。

1.3 测试执行阶段

在App的整个生命周期中,不同的阶段对Bug有效性的定义完全不同,找到App有效Bug的手段有很多种,基于产品设计文档进行功能用例编写,然后进行逐一验证,是最系统有效的方式。它可以精准地发现App在核心业务上存在的缺陷。测试执行阶段,主要活动有,准备并确认测试环境,构建和冒烟测试、实施测试,缺陷跟踪,每日汇报测试结果。

和传统的软件测试类似,我们可以把App的测试实施行分为:冒烟测试,专项测试,Bug探索测试,回归测试。

1.3.1 冒烟测试

冒烟测试是版本构建完成后的第一步,冒烟测试也称基本功能测试,主要验证App基本流程是否完整,基本功能是否实现(如基本注册登录退出功能),是否存在严重程度为致命的Bug。冒烟测试成功才能继续开展测试工作,如果冒烟测试失败,需要开发人员紧急修复重新构建版本。

1.3.2 专项测试

专项测试建立在冒烟测试成功之后,依据测试计划和测试用例全面的进行功能及非功能测试。功能测试一般采用黑盒测试方法,运行App,检查实际运行结果和预期结果是否一致,可以采用手工测试和自动化测试,根据项目组的人力资源合理安排,目前主流的自动化测试工具也比较多,现如Robotium、MonkeyRunner、Appium等。根据开发策略和结构,找出最适合他们环境的自动化工具。

非功能测试包括传统的性能测试、兼容性测试、安全性测试、安装卸载测试,App特有测试有:交叉事件测试、前后台切换测试、PUSH测试、硬件环境测试等。

1.3.3 Bug探索测试

Bug探索式测试,目前最流行的是以众测模式,跳开“用例测试”对测试路径的规划和结果的预期,寻找更多随机甚至是小概率的可能性。相对于标准测试,Bug探索更需要的是“打破常规”,模拟真实用户角度,结合团队测试经验,最大限度探索用户使用习惯和路径,探索复杂操作流程;真实模拟异常应用场景及系统特有功能,确保主要功能使用流畅,避免影响用户体验的问题,发现研发人员不易发觉的Bug。采用等价类测试方法、边界值测试方法、错误推测法、取消测试方法、逆向测试方法、错序测试法等测试方法。一般探索测试开展是在专项测试之后,发布众测平台,或者直接在公司内测,收集更加全面的测试反馈,达到更好的易用性体验测试效果。

1.3.4 回归测试

由于Bug的集群效应,一般情况下,开发人员每修复一个Bug,就会产生3~4个新Bug,发现Bug越多的模块,其隐藏的Bug也越多。所以在每次版本更新的时候,都要进行一轮回归测试,保障所有的Bug都已经修复,并且没有产生新的Bug。在版本迭代周期中,回归测试至少执行2轮以上,一般采取自动化工具或者脚本进行回归。

1.3.5 上线测试

App在经过几轮回归测试之后,如果没有新的Bug产生,并且用户体验测试反馈较好,就可以考虑上线准备了,上线测试是指发布上线后,对整个项目再次进行一次完整的系统测试。需要检查产品框架,每个模块的功能是否有缺失或错误,用户核心场景是否有逻辑问题等,验收产品交互、验收视觉样式等。App上线之后需要测试人员继续跟踪,及时收集用户使用反馈,不断定位Bug,由开发人员进行优化升级。

1.4 测试评估阶段

测试评估阶段的目标是正确评估App产品的质量,确定App产品是否达到发布标准,并形成测试报告,参与发布工作。

测试评估阶段的测试报告包括:每日测试报告、版本测试报告,阶段测试报告及上线测试报告等。测试评估贯穿整个测试周期,在测试执行结束后需要及时提交测试结果,通过测试用例执行情况、测试点覆盖情况Bug优先级分布图,Bug数量趋势图、缺陷模块图等维度,对当前测试版本进行综合评价。测试报告需要说明清楚测试覆盖的情况,对产品质量要进行全面的评估,数据要量化,说明遗漏缺陷对系统质量的影响,表明对发布的认可或拒绝,并提出后续改进的建议等。

到此整个移动App测试工具基本结束,后续的版本升级和维护工作依然延续此测试流程。

2 结论

移动App市场在蓬勃发展的同时,用户对App的期望也越来越高,对产品的质量要求也越来越高,目前App应用市场良莠不齐,许多App都存在各种安全漏洞和内测泄露,这对App测试技术的要求也越来越高。App测试未来的发展应该以最省成本投入,最专业测试分析方法,最敏捷的测试流程,全方面模拟不同场景去探索、运行程序以保证程序质量。

参考文献

[1]中国互联网络信息中心.中国互联网络发展状况统计报告[EB/OL].[2017-1].http://www.cnnic.net.cn/ hlwfzyj/hlwxzbg/hl‐wtjbg/201701/P0201701233646 72657408.pdf.

[2]葉强.基于无缝移动引擎(SME)的手机自动测试接口技术的研究与实现[D].北京:北京交通大学,2007.

[3]卢建军,苏宁.浅谈收集软件测试流程与策略[J].制造业自动化,2010(12):21-23.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!