一文搞掂移动应用测试:术语,阶段,成本等(下)

2021-09-17   出处:testfort.com  作/译者:Anastasia А. / Apple  

本文较长,译文分为成两篇,此文为下半部分。


5 移动应用测试术语:所有分类

      根据测试主旨或特定阶段,软件测试分为不同的类型、级别和方法。为了避免迷失在这个与QA相关的术语迷宫中,我们提出了这个简单的分类,涵盖了当前软件测试行业中最常见的类别、方法和技术。

5.1 软件测试分类

  • 白盒测试,一种基于开发人员的角度用代码结构和系统架构的知识进行测试的方法;

  • 黑盒测试,允许QA分析人员或专题小组不知道程序是如何构建的,甚至不知道编程技能,而是从最终用户的角度测试应用程序;

  • 灰盒测试,一种混合方法,需要部分了解系统的内部结构。

5.2 软件测试阶段

  • 单元测试侧重于应用程序的各个组件,确保每个组件都按照行业标准和最佳实践进行编码;

  • 集成测试是检查系统中不同单元如何相互集成,以及它们之间是否存在冲突;

  • 系统测试是一种更高级别的质量保证,它把产品视为一个稳定、单一的系统,能够天衣无缝地工作;

  • 验收测试是软件测试生命周期的最后阶段。其目的是检查该系统是否符合项目开始时设定的验收标准。

5.3 软件测试类型

  • 功能测试检查应用程序的实际功能。功能测试的重点是产品的特性及其与项目需求文件的对应关系。移动应用功能测试大多采用黑盒测试。

  • 非功能测试定义了应用程序的工作原理及其代码库是否高质量、可扩展和可重复使用。在检查数字产品的非功能方面时,QA 团队需要访问其源代码,这意味着使用白盒测试。

  • 维护测试,或移动应用程序的回归测试,有时与上述类型不同,因为它并不完全属于这些类别。它旨在定义系统更新可能对长期维护应用程序的性能和资源造成的潜在不利影响。

5.4 软件测试方法

  • 应用性能测试是一种包罗万象的测试方法,它定义了应用程序的工作原理。需要考察的方面包括响应时间、速度、稳定性、可靠性和资源利用率。移动应用性能测试旨在尽可能完善应用的运行,并检测应用源代码中可能影响上述方面(所谓的瓶颈)的潜在弱点。

  • 冒烟测试(也称为版本验证测试)是一种检查部署版本稳定性的方法。它通过多个测试用例的快速执行,证明书写的代码是清晰的,不会与原有代码库发生冲突。

  • UI/UX 测试(也称为可用性测试)决定了应用程序的用户友好性、直观度和整体外观。对于最终确定的 UI/UX 设计,移动应用可用性测试主要侧重于程序向导、用户感知、系统控制以及应用核心功能启动过程中的舒适性。

  • 兼容性测试分析应用程序是否与它所存在的生态系统兼容。移动应用兼容性测试包括硬件、操作系统、系统版本、网络和浏览器。

  • 安全测试,显然它的全部内容都是检查应用程序如何抵御网络攻击。执行移动应用程序安全测试时通过模拟未经授权的系统渗透并跟踪应用程序对它们的响应来进行。

  • 负载测试(也称为应力测试)是应用在不同负载级别下工作能力的评估。通过移动应用负载测试,我们可以了解移动应用对非常低或极高的工作负载的反应。

  • 安装测试在发布前的应用开发的最后阶段进行,对移动软件尤为重要。它验证了程序安装在目标不同的设备上的正确性和速度。

  • 本地化测试确定一个应用程序是否对应于它计划分发的特定地区的语言和文化。这不仅关系到正确的翻译和主流的思想many think,而且关系到内容甚至广告。

  • 移动应用测试或移动用户测试在验收软件测试阶段进行,意味着产品开发团队将应用程序(或其MVP版本)提供给代表应用程序目标受众的真实用户(beta用户)。

  • 移动应用的辅助功能测试检查程序的所有功能是否可以很容易地被残疾人或使用软件应用程序有困难的人访问和使用。

5.5 移动项目的手动测试与自动测试

      手动测试意味着所有的程序检查都由QA工程师手工执行。这是一种经典的软件测试方式,且永远无法完全被自动测试所取代。为什么?首先,只要我们开发给人使用的应用程序,就应该有人来检验他们的质量。这并不意味着我们低估了 QA 自动化的力量,我们只是相信每个测试方法都有完美的执行选项。

      自动测试意味着 QA 工程师编写测试脚本,在无人参与的情况下自行执行测试。这些脚本以预期结果为导向,预期结果与实际从程序中收到的结果进行比较。脚本完成其工作后,剩下唯一的一件事就是分析结果。这样,测试团队就可以节省出全面质量控制所需的时间和资源。

       由于移动应用手动和自动化测试的概念差异,很容易得出结论,并非所有的测试活动都能成功实现自动化。反之亦然,如果手动执行,其中也有一些将变得非常耗时和昂贵。那么,移动应用程序哪些流程应该专门实现自动化呢?以下是我们合理的答案:

  • 重复的功能测试;

  • 需同时进行的跨设备测试;

  • 不太可能失败但仍需要定期测试的低风险用例;

  • 很容易调试(如果需要)的用例,例如单元测试,而不是高级的系统级别测试;

  • 易于设定明确和准确预期结果的测试;

  • 手动测试时容易出现人为错误的任务,例如功能测试;

  • 回归测试。

      如您所见,移动应用自动化测试对产品团队有很大的潜力。但是,您应该记住,移动应用程序的非功能性方面需要人的智力和感知信息。诸如可用性、设计、本地化等最接近目标受众的内容应该由真实的人执行。

6 如何组建软件测试团队

需要考虑的数字:

  • 根据《2020-21年世界质量报告》,只有67%的数字公司达到质量目标。

  • 2020年,由于COVID-19大流行迫使紧急数字化转型,质量保证的压力加大。

  • 《2019年增长统计报告》发现,不断增长的移动应用开发提升了回归测试的受欢迎程度,使其成为北美增长最快的细分市场。

  • 40% 的组织计划至少一半的QA实践实现自动化。

      软件测试团队在规模、职位名称、项目使用技术以及应用的测试方法方面可能差异很大。尽管如此,质量保证团队的关键一直是,现在也仍然是 QA 工程师(也可称为软件测试员或软件测试工程师)。这个职称相当广泛,只是从这个词的组合,你不会得到很多关于一个人的资历,专业经验和技术积累的信息。因此,如果您遇到一个雇佣五个软件测试人员的测试部门,他们很可能每个测试人员都使用不同的操作、不同的技术和工具。

6.1 QA 团队角色和职责

下表包含对QA团队中移动软件测试中最常见的成员的简短描述:

6.2 内部移动测试团队与外包移动测试团队

       对于移动软件项目来说,在哪里找到质量保证团队这个问题尤其令人费解。此类项目通常不如大型系统,或者已有庞大代码库应用程序的长期开发工作量那么大。从长远来看,移动应用不需要太多的资源来进行持续维护和技术支持,在这种情况下,雇佣一个全职测试团队并不总是有效的。

       作为出路,许多移动应用负责人寻求移动测试外包。尽管软件产品负责人已经外包软件开发几十年了,但是远程的质量保证概念在几年前仍然被认为是很不寻常的。但截至目前,IT服务市场的现状允许各种规模的公司,从小型初创公司到大型企业,从全球任何地点获得专业的移动应用测试服务。

       从作为节约成本的战略开始,软件测试外包很快证明自己和内部团队一样有效。事实上,在所有数字流程(包括编程、网页设计、业务分析和营销)中,质量保证是最容易委托给第三方的流程。这是因为外部测试团队提供了比内部QA部门更透明、更公正的结果,而内部QA部门从第一天开始就参与了产品的开发,无意中有所偏向。

       移动应用 QA 外包对于刚刚通过发布第一个移动应用程序来试水的人来说是一个绝佳的选择。作为一个初学者,你可能会认为你的项目负担不起内部QA团队,因此,糟糕的测试会使你的应用程序陷入困境。现实情况并非如此,与外包公司进行项目驱动型的协作使产品负责人能够优先考虑项目资源,在保证代码质量的同时还能专注于营销和现场推广等各个方面。此外,硬件、设备、工作场地租金、人力资源管理等管理责任也属于外包公司的职责。

6.3 软件测试人员工资和 QA 预算

      根据Payscale的数据,美国软件测试工程师的平均年薪为56,927美元,薪酬区间是39,000-89,000美元。至于小时费率,美国软件测试人员通常保持在每小时工作12-55美元之间。然而,根据专业知识水平和就业地点,QA工资很容易达到六位数的价值。根据经验,美国测试专家的薪水分布如下:

  • 经验不足一年,最高 $49,000/年;

  • 经验为1至4年,$53,000/年;

  • 经验为5至9年,$69,000/年;

  • 行业10-19年后每年74,000美元;

  • 经验超过20年,$81-98,000/年。

       北美被认为是世界上最昂贵的软件开发和测试市场。让我们看看其他地方,对比一下它们的劳动力市场。

      西欧地区是软件测试人员的就业市场略小,然而,像德国和爱尔兰这样的国家以其熟练的QA工程师而闻名。德国的年薪从2万美元到6.8万美元不等,法国的年薪在2.5万至7.6万美元之间,荷兰的年薪在3.1万至9万美元之间,爱尔兰的年薪在2.8万至5.5万美元之间。

      东欧比上述两个地区对预算更为友好。例如,乌克兰软件测试人员的平均年收入为 18,000 美元。对于高级工程师来说,这个数字每年高达 31,000 美元。在波兰,QA 专业人员的服务费用从每年 20,000 美元到 31,000 美元不等,具体取决于经验年限和技术积累。总的来说,东欧已被证明是优质服务与合理费率的完美结合。

      亚洲地区以低劳动力成本而闻名,不幸的是,这种成本并不总是伴随着卓越的服务。尽管如此,当地的劳动力市场确实巨大:仅在印度就能找到520万软件开发人员,这意味着QA工程师的数量也可以按数百万计算。至于工资,印度软件测试人员的年薪从2,600美元到11,000美元不等。在巴基斯坦,QA分析师的平均年薪相当于5,000美元。中国、日本和新加坡仍然是亚洲发展最昂贵的QA服务提供商。在那里,您可以找到收入从 23,000 美元到 67,000 美元的软件测试人员。

6.4 软件测试和 QA 预算

      根据Statista的数据,2019年,公司将IT预算的23%用于质量保证和测试。这是符合目前的一般建议——将项目资源的25%用于软件测试和质量控制。当然,这个比例会因软件开发生命周期的阶段、项目范围、技术栈等而有很大的不同。但是使用这个25%的数字作为你的基准,在确定了地区后,你可以很容易地计算出质量保证所需的大概资金。

6.4.1 时间评估

      时间评估在很大程度上取决于你为质量保证雇佣的人数、每个人的资格级别、项目的技术复杂性及项目范围。不同的人评估相同任务的时间量也不一样,因此我们建议在评估阶段保持灵活性,并优先考虑全面测试而不是简易测试。以下是您和您的团队应在QA行动计划中纳入的流程,并评估每个流程对应的工时数量:

  • 分析项目需求文档和应用的每个特性;

  • 与产品负责人、交付经理和负责外部沟通的其他团队成员讨论项目收集的信息(请相信我们,您的 QA 团队将有很多有关项目需求的问题);

  • 研究应用程序对应的技术和业务领域,以了解实现应用功能的最佳方式以及如何使其符合行业标准;

  • 按每个特性来编写测试用例场景、单元测试脚本和每个特性的验收标准检查表;

  • 设计测试环境,包括软件和硬件;

  • 提前编写测试文档,再按照文档执行软件测试活动;

  • 记录测试结果并创建问题报告,转发给开发团队:

  • 与开发团队讨论修改问题的潜在方法;

  • 重新测试修改后的特性;

  • 软件测试生命周期中根据开发阶段更改测试方法。

6.4.2 预算评估

      鉴于高效的软件测试过程应在程序员开始工作后立即启动,因此很明显,作为项目模块,软件测试工作只要实际开发启动就一直存在。但是,这并不意味着 QA 工程师跟软件开发人员有一样的工作时长。平均来说,软件测试占整个项目持续时间的40%,只是零碎地进行。因此,如果项目工期估计为 3 个月(相当于 66 个工作日和 528 个工时),则软件测试需持续约 212 小时,相当于 3-5 周的工作时间。现在我们知道我们打算花多少时间在测试上,就很容易计算它的财务价值。比方说,与位于美国的软件测试工程师合作,212小时的工作将花费我们从7,208 50美元到10,600美元。来自乌克兰的质量保证工程师将收取大约2,000至2,500美元的相同工作量,这取决于专业知识水平。

6.5 怎么了解QA团队

      选择一个软件测试合作伙伴对于业务来说是一个至关重要的决定。它需要对IT服务市场进行深入的分析,同时对待雇佣团队的审查。但是,如何区分可靠的应用程序测试公司和只是试图通过测试的供应商之间的区别呢?要回答这个问题,我们建议注意以下因素:

  • 官方网站。网站是公司的脸面,尤其是一个从事软件产品工作的公司。花时间浏览它,阅读内容,并检查一切是否顺畅。应用程序测试服务必须遵守软件质量的最高标准,作为潜在客户端,您完全有权期望从这些网站上看到卓越的技术表现。

  • 公司的投资组合。专业的投资组合旨在反映公司在软件测试方面的背景。阅读时,不仅要关注交付项目的数量,还要关注它们的类型和业务领域。特定行业的经验保证了对产品需求和用户期望的更深入理解。

  • 客户推荐和评论。通常,移动应用测试公司会在其官方网站上发布客户推荐信,但不要满足于此。我们建议访问 Clutch 和 Techreviewer.co等网站,这些平台对数字服务供应商进行分析研究。在那里,您可以从合法客户那里找到值得信赖的反馈,并了解平台本身如何评价这些公司的表现。

  • 奖项和认证。在工作中投入了大量精力,追求卓越的移动测试公司,迟早会得到公众的认可。但这并不意味着那些尚未获奖的应该被忽略,只是能看到一些行业奖杯确实可以增加公司的声誉。

  • 员工反馈。如果你真的想了解公司内部的运作情况,没有比求职网站更好的信息来源了。这并不是选择移动应用程序测试公司的最常用方法,但仍然建议将其作为找到值得信赖的技术合作伙伴的最后一步。

6.6 找到了喜欢的移动测试公司,接下来呢?

      在这种情况下,您应该做的第一件事是联系软件测试供应商,获得联络表并填写它。您提供的信息将是该公司和您的专门团队沟通的起点。显然,工作程序因公司而异,但一般来说,您可以预期会采取以下步骤:

  • 安排通话。管理人员处理您在联络表格中写入的信息后,他们会回复您,安排电话或视频会议做一次完整的通话。

  • 预售通话。在此通话中,您将收到有关该公司及其雇佣的软件测试人才库的更全面的信息。如果供应商代表认真对待他们的工作,在这个阶段,你会得到更具体的谈论你的项目,甚至可能见到你未来的QA项目经理。当然,所有这一切都可以在签署保密协议后进行,该保密协议应由供应商提供,而不是强制由您提供。

  • 试点项目。对业绩和资质有信心的公司,在签订长期合同之前,为客户提供经营小型试点项目的选择。这可能是从您的大型项目中提取的较小的模块,或者比方说,在移动应用开发项目早期进行的原型测试。试点项目的工时费率可以低于实际交易,或者您甚至可以免费获得一定数量的 QA 工时。

  • 大型项目分析和规划。如果试点工作进展顺利,并且希望公司进行全职测试,在快速的法务筹备后,指定团队将开始深入了解项目需求,制定相应的测试策略,并规划项目进程。

  • 测试执行。根据先前制定的计划,团队将在适当的测试环境中测试您的项目,并将测试结果报告回来。在这一阶段,测试团队还将与项目开发团队进行密切沟通,共同寻找最佳的问题修改方法。

  • 项目成果。通过与质量保证团队的合作,您的数字产品将通过测试、改进,打磨出卓越的性能。此外,在 QA 过程中实施的所有变更历史记录应以可读的形式记录并转发给您。

  • 技术支持。软件项目,特别是移动应用程序,不能被认为永久地完成了。为了保持价值,产品需要不断改进和更新。这就是为什么享有声誉的软件供应商为客户提供终身支持和在应用程序更新时按需提供测试服务的原因。

7 最后的想法

      移动测试与任何其他类型的软件质量保证有着相同的目的和目标——检查应用程序是否按预期工作。然而,移动性本身、开发标准的快速调整以及我们在本文中讨论的许多其他问题使得移动QA与桌面软件测试有着根本的不同。尽管满足技术要求是必要的,但随着移动应用程序开发的进行,产品团队的工作并没有就此停止。人们在移动应用程序中看到(或看不到)的价值决定了这个应用程序是否会留在他们的设备上,同样,是否留在他们的生活中。

      鉴于移动软件市场是IT行业竞争最激烈的行业,目前全球已有890万个应用程序,移动应用程序的负责人无法跳过测试阶段。如果你不想让你的移动应用程序带着风险发布,那就慢慢找一个真正专业的QA团队吧,这个团队将最大限度地发挥你程序的潜力,并且让你发布的任何产品至少是无故障的。

{测试窝原创译文,译者:Apple}



声明:本文为本站编辑转载,文章版权归原作者所有。文章内容为作者个人观点,本站只提供转载参考(依行业惯例严格标明出处和作译者),目的在于传递更多专业信息,普惠测试相关从业者,开源分享,推动行业交流和进步。 如涉及作品内容、版权和其它问题,请原作者及时与本站联系(QQ:1017718740),我们将第一时间进行处理。本站拥有对此声明的最终解释权!欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,与我们的编辑和其他窝友交流。
142°|1426 人阅读|0 条评论

登录 后发表评论