如何选择软件测试公司:工程公司vs. 质量保证机构

如何选择软件测试公司

介绍

软件工作,直到它不工作. 或者它起作用了,但不是你想要的那样. 或者它有效,但很痛苦 支持和维护服务. 或者它只是不够用户友好. 可能会出现很多问题, 毁掉你的好主意, 打乱你整洁的架构, 把你的利润存起来. 有几种方法可以降低低质量产品的风险,并在预算范围内有效地做到这一点. 最常见的解决方案是外包一些业务流程.

例如,你可以 外包软件测试 活动. 软件测试服务有所不同:可以将整个测试过程外包给独立的质量保证机构或软件开发公司. 这两种方法是不同的,有其优点和缺点. 让宝博体育买球在本文中了解一下它们.          

10多年来,我一直参与软件创建过程. 已经交付了几十个完美的软件产品, 我可以解释为什么软件测试很重要:你在软件测试上的投资是客户满意度的关键. 

卡普斯·琼斯是我在这个领域的榜样. 美国软件工程方法论专家, 琼斯说:“高质量的软件并不昂贵. 高质量的软件比低质量的软件构建和维护更快、更便宜, 从最初的开发一直到总拥有成本.”

什么是软件质量保证? 软件测试和质量保证之间有区别吗?

为了让您了解软件质量保证所涉及的内容,请考虑以下类比. 假设你去你最喜欢的餐厅点了一份牛排. 为了让你的晚餐尽可能美味,牛排应该:
1. 适当的年龄
2. 按你喜欢的方式煮 
3. 在可接受的时间内送到您的桌子上
4. 以吸引人的方式呈现的.

同样,当您订购一款软件时,该产品必须: 

  • 没有bug
  • 所有的特性都按照文档实现了吗
  • 在产品发布所需的时间框架内交付
  • 呈现在一个准确的,有吸引力的,用户友好的方式

你只满足于第一个参数吗? 当然不是. 在没有告诉服务员你的要求之前,你是不会点一份美味的牛排的,对吧? 那肯定会让你对这顿饭感到失望. 确保最终产品符合您的期望是质量保证(QA)的目标。. 对于普通人来说,质量保证是模棱两可的. 这听起来很奇妙,但它到底是什么? 人们一听到QA就会想到测试或测试员. 但是软件测试和质量保证之间有很大的区别. 让宝博体育买球首先了解为什么质量保证如此重要. QA is not just plain monkey 测试; it covers more than the routine process of clicking on pop-up menus and checking line widths in installation windows.

QA是一个系统的过程,包括对产品需求的全面分析, 规划, 并组织测试程序, 测试管理, 选择合适的测试工具, 开发测试用例和质量需求, 为开发人员提供“如何”的建议, 从双方(开发人员和客户)获得持续的反馈, 等等....... The goal of QA is far more complex than simply eliminating mistakes; the objective is for the product to reach the level we call 符合目的

什么时候开始项目测试?

你越早开始测试产品,你就能越早完成测试,这似乎是合乎逻辑的? 不完全. 测试的实际情况要复杂一些. 尽早开始可以带来更高的质量和更低的bug成本, 我建议尽快集成软件开发过程的软件QA阶段. 在一个完美的世界, QA开始于项目从计划和架构阶段一直到最终发布阶段. [注:有些开发人员根本没有QA策略,只依赖于开发人员自己编写的单元和系统测试. 我强烈反对这种方法,因为它会浪费大量的时间和金钱.) 

必须正确地将QA测试过程集成到开发过程中. 以下是清单: 

1. 确保遵循QA最佳实践
2. 所有必要的测试级别和类型都是事先计划好的
3. 建立产品放行测试流程 
4. 与客户讨论报告流程,确保所有工程师跟上上述所有进度. 

组织沟通程序并让项目领导进行迭代检查,以确保开发团队和QA测试团队之间没有紧张关系,这也是至关重要的. 任何出现的问题都应该以礼貌的方式沟通,这样就不会阻碍工作的效率.

现在,让宝博体育买球强调一下为什么软件质量保证很重要的一些关键点. 

  • 假设你的支付系统中出现了一个罕见的软件漏洞,导致你无法获得购买服务或商品的报酬,而这笔钱会转到一个随机账户. 基本上,你只是做了一笔慈善捐赠. 唉,如果你给慈善机构捐款,你的生意就不会兴旺.
  • 节省的钱. 防止bug比修复bug更便宜. 在这里解决问题可能会在那里引发问题, 另一个地方, 在你意识到之前, 你真是一团糟. 在生产阶段发现bug(不管是什么bug)的成本要比在开发周期的早期发现并修复bug的成本高得多. 
  • 声誉保护. 一个蹩脚的产品版本可能会损害公司的声誉,并将所有后续版本列入“不购买”名单. 宝博体育买球中的一些人还记得那些灾难性的智能手机,这些智能手机是由一个知名品牌生产的,但这个品牌的名字就不得而知了. 随着时间的推移,他们的手机变得越来越好,但许多消费者再也不会购买他们的产品. 和人际关系一样,第一印象也很重要. 
  • 质量控制和全面管理. 项目的文档和规范可能包含所有需求, 指标, 测试计划, 但是谁来控制他们的应用程序呢? 你绝对需要一个专业人士.

从每个开发周期的一开始就将软件QA与开发集成在一起,确保开发人员与QA工程师合作,共同决定实现和测试方面的任何未来功能. 幸运的是, 这种类型的协作不需要QA和开发专业人员在同一栋建筑中工作. 宝博买球的QA工程师拥有丰富的远程工作经验. 宝博体育买球已经证明,与宝博体育买球的开发人员成功合作是可能的,无论这些开发人员位于何处. 宝博体育买球已经磨练了宝博体育买球的沟通过程,并拥有各种各样的工具,所以这个过程对每个参与的人来说都是无缝的.  

为什么外包你的软件质量保证?

外包软件测试有多种方法. 你可以雇佣一名内部测试员, 与自由职业质量保证工程师一起工作, 与软件测试机构签约, 或者你也可以向像宝博买球这样的全周期软件工程公司订购质量保证服务.

对于一些项目, 混合模式效果最好, 例如,当内部团队与外包软件测试团队密切合作时,外包软件测试团队本质上是一个扩展,可以让更多的人关注项目,并且/或者增加一个内部没有的专家. 如果你的产品目前是由公司内部或软件公司实现的, 您可能很好奇软件测试外包是否适合您. 让宝博体育买球来看看它的优点. 

帕洛阿尔托科罗拉多案例研究:支持 & 维护服务

为什么要外包QA?

公司选择外包软件或应用程序测试任务的原因有很多.

  • 不需要一个完整的QA团队. 也许产品太小,不值得雇佣QA团队. 你可以引进的新员工数量可能有限. 对很多公司来说, 软件项目很少或不常见,所以他们根本不需要内部QA团队. 通过将项目中与公司核心业务没有直接关系的部分外包出去,公司可以以较低的成本获得更高的效率.
  • 暂时或持续地需要比客户公司拥有的更多的技术资源(移动平台), 云存储, 或可用的测试工具).
  • 在人力资源有限的情况下,需要加快测试,特别是可交付成果的测试. 当时间很重要时,让团队在不同的时区工作尤其有帮助. 一个产品可以全天候测试. 
  • 需要更大的工程师人才库,具有丰富的经验,测试各种软件应用程序.
  • Many projects require 测试 without bias; fresh eyes catch more inaccuracies.
  • 如果从中欧和东欧获得检测服务,检测成本通常会降低, 或者印度和亚洲.
    外包软件测试节省了额外办公空间的额外开销, 保险, 办公用品, 招聘过程也需要时间和金钱. 
  • 考虑到上面提到的一切, 降低风险,并有机会让您的主队专注于其他任务,如规划, 执行最后的润色, 或营销.     

现在让宝博体育买球看看如何为您的业务选择软件测试合作伙伴. 软件测试外包最有效的方法是在实现之前开始,并找出您的软件开发供应商是否也可以成为您的软件测试合作伙伴,并交付完整的QA活动周期. 这是最好的情况,因为您的QA供应商已经对您的产品有深入的了解.  如果您想与供应商建立长期的关系,这将在许多层面上发挥您的优势. 如果你有一个本地团队, 另一种选择是使用内部人力和技术资源,并与工程供应商共享.   

另外, 你可以寻找专门处理QA和测试的顶级软件测试公司. 独立的软件测试公司将测试视为服务模型(TaaS)。. 从2009年开始, 当这个词第一次出现的时候, TaaS已经引起了学术界和工业界的关注. 这种模式减少了昂贵的测试实验室的开支, 内部质量保证团队, 会议, 与开发团队就文档进行激烈的讨论, 等.

通常TaaS提高了测试速度,这是另一个好处. TaaS可以为您现有的QA团队提供额外的资源, 也就是说你只付你需要的钱. 许多公司提供一系列服务供选择,例如:质量问题分析, 模拟真实世界用户的环境, 脆弱性预后, 云资源, 举几个例子. 

现在宝博体育买球来看看另一种选择, 当谈到确保产品测试的最高可能标准时,哪一个才是真正的“完美世界”场景,那就是与一家同样提供TaaS的强大软件开发公司合作. 更好的是,一个强大的软件公司,有着令人印象深刻的记录,在GitHub上排名前十. 

与顶级软件开发公司合作,提供从构思阶段到维护阶段的全周期支持,为您提供广泛的人才和专业知识. 宝博体育买球与客户建立的合作伙伴关系使他们知道宝博体育买球在一起,这是安全的. 宝博体育买球拥有您需要的技术专业人员,并且是您正在寻求外包的服务的专家-从熟练的QA工程师, 长期的技术支持, 专门的管理人员, 高质量的软件测试文档.    

下一个, 让宝博体育买球深入研究上面的选项, 解释如何选择软件测试公司, 寻找选择其中一个而不是另一个的理由. 

在独立质量保证公司订购测试服务:利与弊

独立的QA外包机构在开发团队之外提供测试服务. 这一开始可能听起来很奇怪. 软件测试和开发就像花生酱和果冻一样密不可分? 是的, 然而, 公司选择独立的软件测试公司进行TaaS是有充分理由的:

  • 他们有一个小项目,雇佣一个完整的开发+ QA团队是没有意义的.
  • 他们对执行测试的正确方法没有清晰的认识.
  • 开发阶段还在进行中,他们需要尽快建立QA.
  • 生产环境中存在明显的质量问题, 在验收测试期间有大量的bug, 给产品打分1到2星的终端用户, 但绝不是4和5, 等. 
  • 测试周期短, 不规则的, 和/或不要求深入了解产品,因为没有许可问题(云), 工具, 硬件, 软件, 或专业人士).
  • 测试的成本是可以预测的. 
  • 标准化bug报告, 测试管理工具和集中测试环境可节省高达20%,并保证可重复性和稳定的质量. 
  • 他们希望能够远程访问存储在一个位置的累积数据.

除了明显的优势之外,也有严重的禁忌. 它们是:

  • 惊喜! 您不能冒丢失敏感数据的风险. 对测试过程没有真正的影响或控制. 可以肯定的是, 大多数问题在测试开始之前就已经讨论过了, 但是,用自己的眼睛观察软件或应用程序的测试过程是有帮助的;
  • 标准化的QA协议或测试可能不适合你的产品,独立的软件测试人员可能没有足够的知识来通过深入挖掘来最大化质量;
  • 针对特定领域的定制产品, 独立的软件测试公司可能无法对产品给出最好的建议, i.e.:潜在的成本节约, 详细说明文档的深度, 法律诉讼, 终端用户适用性, 等;
  • 重型TaaS可能需要在测试团队和云支持团队(通常是外部的)之间进行密集的沟通。, 这通常需要额外的数据共享级别;
  • 由于文化差异,质量可能因国家而异. 有些国家没有相同的标准和职业道德, 哪些因素会使实现令人满意的沟通变得困难, 尤其是当他们对工作的期望相对较低的时候.
  • 在发布产品并获得客户反馈后, 你可能会继续为额外的检查付费.

很明显, 在选择适合您需求的软件测试外包机构时,您必须非常小心. 需要考虑的是你是否有:
1. 清晰地了解您需要哪些软件测试服务(功能测试/安全测试/结构测试/可访问性测试/回归测试/可用性测试/集成测试/渗透测试/性能测试/负载测试/移动测试/测试自动化)
2. 根据你是在寻找长期合作还是短期合作来定义期望, beta测试或正在进行的QA, 需要做哪些测试 , 云资源, 潜在的数据安全问题, 等.
3. 一套符合你需要的标准(公司规模), 位置, 预算, 文化背景, 沟通方式, 测试文化, 他们提出的测试策略, 他们的测试专长是什么, 行业经验- e.g. Erp测试,电子商务测试服务)

宝博体育买球来看看其中的一些要点. 

  • 取决于产品的大小, 您可以将测试任务全部或部分外包给代理机构. 长期、繁重、缓慢或独特的项目可能需要其他选择. 
  • 决定您是否真的需要具有强大云容量的TaaS,或者一个小的软件测试人员小组是否就足够了. 也, 一旦你的产品开始生产,代理机构是否能灵活地分配更多的人员, 或者他们对表演团队的规模有严格的要求?  
  • 您的数据有多敏感,您是否愿意允许另一级别的数据共享(在第三方支持团队的情况下)? 你清楚合同中将如何处理安全问题吗?   
  • 在这个过程的早期,你是否需要一个完整的QA协议, 或者只是最后阶段的测试, 或者漏洞测试? 使用白盒软件和应用程序测试是否足够? 
  • 查看其他客户的反馈和评论,看看他们的体验有多好. 
  • 不同的时区会是个问题吗? 该机构的文化特性会影响你所期望的质量吗? 这个机构的管理等级是怎样的?     
  • 沟通有多容易,尤其是在封锁的情况下(感谢病毒). 在将所有的日常工作转移到“在家工作”模式后,该机构能否正常工作? 流程是如何组织的?

你可以在最好的软件测试外包机构上找到一堆图表和候选名单. 将它们进行比较,看看哪些公司年复一年地脱颖而出. 他们将是这份工作的最佳人选. 

向全周期工程公司外包软件测试服务:定义、优势 & 缺点

你听说过“shift-left”测试吗? 我打赌你有过. 这个流行的范例建议宝博体育买球将测试“从头开始”, 在项目最开始的时候, 在整个开发周期内实施QA流程. 以下是早期和持续测试的一些主要好处:

  1. QA工程师可以与开发人员携手合作,在开发过程中提出改进建议,以避免在开发人员完成工作后出现意外.
  2. 当跨职能团队一起工作时,他们可以及早发现差异和失败.
  3. 测试人员和开发人员很快成为一个团队,这提高了生产力.

在将代码发布给测试人员之前,开发人员还会执行一些形式的测试.e. 测试 basic 功能ity, reviewing the code, doing static code analysis; doing unit tests, 等. 

另一种方法叫做 右移位 测试, 其中很大一部分测试是在生产环境中完成的, 这并不意味着你不需要一路测试). 在现实生活中,宝博体育买球通常以稳定的速度向客户提供可交付成果. 这就是a的概念 连续测试 有时被称为 不断向前发展, or 无限的开发、测试和交付. 迭代是直接的,由产品的现成块组成. 这是一个比等到最后再做最终测试更有效的过程. 在发布一个作品并收到反馈后, QA帮助改进代码, 这将扩展下一个迭代并使测试方法更加精确.

在理想的情况下, 选定的QA专家和你的开发人员在早期阶段就开始合作,“直到死亡将他们分开”。. 不幸的是, 在很多情况下, 这可能会造成无限循环,最终耗尽内部测试团队的资源. 然而,有一个解决方案. 

让宝博体育买球来谈谈如果你从像宝博买球这样的全周期软件工程公司雇佣QA/测试团队会发生什么. 首先,什么是全周期软件工程公司? 它是一家能够从端到端开发产品的公司:从想法验证和发现阶段(与内部业务分析师一起)。, 通过软件架构(与用户体验设计师和解决方案架构师一起), 实现(与移动/网络工程师), 设计师, DevOps和数据科学专家), 一直到测试(内部QA团队), 支持和开发后维护(2级) & 3支持工程师).

与大型软件测试外包公司合作与与测试机构合作在许多方面是不同的. 让宝博体育买球先看看它的缺点. 令人惊讶的是,它们与独立的质量保证公司相同.

  • 安全. 与独立的测试承包商相比,软件开发公司可以在更深的层次上访问您的产品. 这可以让他们更好地了解你的产品. 如果你和一个诚实的人一起工作, 成熟公司并签署详细的保密协议,  你的知识产权将得到充分保护.   
  • 控制. 如果你的产品开发的所有方面都依赖于一个对你的产品很了解的外部公司, 安全问题将不可避免地出现. 如果你作为代理CTO积极参与到这个过程中,这些问题很容易得到缓解. 另一种选择是雇佣一名内部CTO来监督开发 & 测试,如果你自己技术不够的话. 你可能想要把外包公司的团队和你的内部团队结合起来,以便更好地掌握这个过程.
  • 沟通. 这个问题需要QA公司和测试人员共同解决 软件产品开发公司. 不同的时区和/或文化特性会阻碍成功的合作. 检查候选公司的质量标准是否符合你的质量理念. 确保定期开会在技术上是可行的.

现在让宝博体育买球看看它的好处: 

  • 大公司有相当多的经验测试不同的软件方面(结构, 功能, 性能测试, 可访问性测试, 负载测试, 手机测试, 渗透测试, 集成测试, 安全性测试, 自动化测试),包括自动化和手动领域. 这些公司的测试人员每天都与开发人员进行沟通,并且更深入地了解开发和测试过程. 
  • 他们也有更多种类的测试设备, 技术, 测试工具:与大公司自己需要使用的工具相同. 他们还能够在更广泛的支持移动平台上工作,并完成测试和开发任务.
  • 开发、DevOps和设计部门都在可及范围内. 它们对于支持深度测试非常有帮助. 测试人员可以在扩展调试、UX/UI、构建等方面获得建议和帮助.
  • 如果客户决定扩大或加强他们的产品, 他们可以使用整个服务范围, 包括销售和市场部门.  
  • 拥有更多的QA工程师, 在测试产品的过程中不需要招募额外的团队成员(这可能需要2个月的时间).
  • 更好的控制. 专门的QA经理将密切合作,以满足您的具体需求, 专注于通过一个顺利的过程到达终点线,因为从长远来看,他们对你这个客户很感兴趣.  
  • 声誉与沟通. 与一家在软件开发方面享有盛誉的大型软件公司合作, 您可以期待TaaS的类似标准. 也因为他们习惯于在全球范围内工作, 随着时间的推移,他们的沟通策略和习惯被证明是有效的. 这意味着他们会习惯性地进行有效的沟通,所以让你了解你的项目进展以及每周的预期是很容易的. 公司会更好地为意外做好准备. 测试人员经过培训,随时准备处理任何出现的问题,无论您是否需要他们与您的开发团队一起现场工作, 远程工作, 甚至是在家里. 大型软件公司比小型或高度定制的公司更有可能制定紧急反应计划.

在一般情况下, 大型软件公司拥有更多的现成资源——人力和技术资源——来保持项目的势头并将其完成.

结论

人不是完美的,但你的软件可以. 软件错误会让你付出名誉、金钱、有时甚至是生命的代价. 我想给你们讲一个关于一个超人的故事,他什么都不做就拯救了世界.  

9月. 26, 1983, Lt. Col. 斯坦尼斯拉夫·彼得罗夫(Stanislav Petrov)是莫斯科郊外一个地堡的值班军官,负责监控苏联的早期预警卫星系统. 其中一颗卫星显示,美国向苏联发射了五枚弹道导弹. 当时两国关系非常紧张, 佩特罗夫很容易相信这个信号是准确的. 但他觉得有点不对劲. 首先,仅仅五枚导弹不足以发动真正的核攻击. 其次, 他一直感觉到苏联的早期预警系统是“原始的”,所以他报了一个假警报,没有采取进一步的行动. 经进一步调查, 人们发现,卫星捕捉到了云层顶部的太阳反射,并将其解释为导弹发射.

So, 在决定由全周期软件公司实现TaaS时,您可能需要考虑以下几点.

  • 在你开始寻找TaaS之前, 确保你的内部开发和QA团队能够清楚地了解为了获得最佳结果(包括测试工具)他们所认为的必要内容, 时间压力, 所需测试的类型, 或其他额外服务, 等. 
  • 考虑具有测试和开发经验的成熟软件测试提供商. 与一家风险小、流动性强的公司合作对你来说重要吗?
  • 查看您的范围和预算,并将它们与潜在的软件测试合作伙伴的能力进行比较. 你对网络/移动应用测试、安全测试、按需测试自动化感兴趣吗?  那么测试你的数据存储呢,  硬件, 网络服务, 或者计算软件测试?  
  • 分析供应商是否可以增加他们的人力和技术资源来满足你的需求. 你认为身边有各种各样的专家对你的产品有好处吗? 
  • 如有必要,供应商的员工是否准备好前往您所在的地点? 您计划与提供商的测试团队进行多少交互? 大公司倾向于与客户密切合作,以使流程透明.

韦弗利能帮什么忙

在回顾了所有的优点和缺点之后,我想分享宝博体育买球在TaaS方面的经验. 宝博买球是一家全周期软件开发公司. 宝博体育买球有开发部门、QA团队、设计团队和其他部门. 因为宝博体育买球经验的深度, 宝博体育买球有强大的桌面测试实验室, 网络, 移动, 硬件, 云, 以及网络应用, 提供手动和自动化测试服务. 客户的数据不会透露给第三方团队,因为宝博体育买球有足够的资源来完成测试和支持任务, 在本地或在云端. 从一开始, 威利专业人员接受过远程工作培训,但宝博体育买球的客户和彼此都能接触到. 宝博体育买球经常出差,以确保宝博体育买球与客户意见一致. 

团队之间的密切互动保证了宝博体育买球的QA工程师可以从其他团队和部门寻求帮助并得到额外的帮助. 这使宝博体育买球对特性的内部实现有了更深的理解, 哪一个有助于构建更详细的测试用例和更准确的bug报告. 如果测试人员缺乏临时自动化测试的经验,接近软件工程师有助于测试自动化. 在白盒测试的情况下,让开发人员充当测试人员也变得更加容易, 哪一种方法可以提高质量,降低招聘时间和完成测试所需的总时间. 在云服务或应用程序测试中,DevOps工程师也必须参与进来. 这已成为最近的一种趋势 DevOps的工程师 在持续测试和监控方面担任qa.     

除了, 宝博体育买球公司已经制定了应急响应计划,其中包含针对许多问题(包括但不限于目前封锁和原地隔离模式的情况)的实际行动清单。. 宝博体育买球的工程师是移动的,能够远程访问公司的资源. 这允许在任何意外情况下顺利过渡,并确保交付成果将继续按时完成.

***
宝博体育买球希望您选择一个能够满足并超越您期望的软件测试合作伙伴, 满足您的所有业务需求, 将像手套一样适合您的软件开发团队,以便您可以创建可靠的, 高质量的产品,你的用户会喜欢.