最佳常见的手动测试面试题和答案合集

2021年11月28日21:00:38 发表评论 785 次浏览
最佳常见的手动测试面试题和答案合集

你准备好获得梦想中的手动测试员工作了吗?或者,只是打算转行成为一名手动测试员?在本文中,我们将研究一些常见的软件测试面试问题,你可能会在测试面试中遇到手动测试员的角色。

除了这些基于概念的问题之外,还需要一个(或多个)编码测试。 

顶级手动测试面试题和答案合集

因此,请保持你对手动测试面试问题的编程练习。如果你想进一步磨练你的测试技能,这里有一些最好的手动测试面试问题和答案

问题:你如何定义手动测试?

答:软件测试是一个验证过程,可确保系统按照业务需求运行。它在准确性、完整性、可用性、效率等各个方面对系统进行评估和鉴定。

问题:解释“用例测试”?

答: “用例”用于从头到尾识别和执行应用程序的功能需求,用于执行此操作的技术称为“用例测试”。

问题:定义静态测试?

答:白盒测试技术之一,在清单的帮助下,指导开发人员验证他们的代码以发现其中的错误。开发人员无需最终确定程序或应用程序即可开始静态测试。静态测试比动态测试更具成本效益,因为它比动态测试在更短的时间内隐藏了更多的区域。

问题:解释各种类型的手动测试?

答:手动测试面试题有哪些?在手动测试中,软件是在没有任何自动化工具或脚本的情况下进行测试的。各种类型的手动测试是:

  • 冒烟测试:冒烟测试测试软件中是否存在关键问题,并确保软件符合其主要目标。它忽略了微小的和外观的错误,只测试核心功能。示例 – 测试新功能
  • 跨浏览器测试:网站可能会显示一些效果并且显示方式不同。因此,测试每个功能,尤其是不同浏览器上的 UI 以确保功能正常工作至关重要。例如,检查所有浏览器上的 JavaScript 功能。
  • 验收测试:验收测试,更广为人知的名称是用户验收测试 (UAT),旨在测试应用程序能够在多大程度上满足用户的需求。它是在所有其他测试类型都已经完成之后完成的,并且产品已经准备好投入使用。一般由实际用户或客户端执行。例如,用户可以毫不费力地完成购买手机的端到端流程。 
  • Beta 测试: Beta 测试是在项目的试点阶段进行的,即在网站完全公开之前的软启动。这样做是为了根据真实用户的经验获得反馈。例如,一项服务是独立开发的,但使用其他系统才能正确执行。只有在应用程序上线后才能测试这种集成。
  • 探索性测试:你可以说它就像随机测试,一个人可以测试他们想要的任何东西。他们可以单击任何按钮,在网站页面上来回浏览,并端到端地浏览网站。通常,这种类型的测试由设计师、产品经理甚至开发人员完成,以识别任何关键的可用性问题:例如,信用卡登录页面的浏览器后退按钮的影响。
  • 否定测试:通过否定测试,测试人员可以通过故意输入错误的输入来识别应用程序如何处理错误和异常——例如,在登录页面时将密码字段留空。
  • 可用性测试:这是最重要的测试类型之一,因为它涉及处理用户对使用你的产品的感受。它测试你的网站是否易于浏览,他们是否可以快速搜索他们想要的内容,他们是否可以快速开展业务等等。它涉及用户满意度。

问题:什么是 API 测试?

手动测试面试题分析 API 测试是直接以及在集成测试期间对应用程序编程接口的测试,以确保 API 提供所需的功能、性能、安全性和可靠性。编写测试是为了检查 API 是否对特定请求做出正确响应。API测试涉及单元测试、负载测试、功能测试、安全测试、渗透测试、Web UI测试等。

问题:解释系统测试和集成测试之间的区别?

回答: 

系统测试集成测试
整个系统被检查为一个(端到端)。检查不同互连系统之间的接口。
它包括功能和非功能测试(可用性、性能等)。它只检查集成组件的功能。
集成测试后完成。在单元测试阶段之后完成。
各种类型是——性能测试、可用性测试、功能测试、安装测试、安全测试等。执行集成测试的一些方法或方法是自顶向下、自底向上、混合和大爆炸。
仅使用黑盒测试技术白盒和黑盒技术都被使用 

问题:什么是测试闭包?

答:这是一份文件,详细说明了整个SDLC期间进行的测试、发现和纠正的错误和错误的分析、缺陷的密度等。它是表明测试程序正式完成的备忘录。 

问题:解释农药悖论?如何克服它?

回答:杀虫剂悖论是一种现象,你测试的软件越多,它对你的测试的免疫力就越大。测试人员应始终针对同一应用程序的不同部分寻找新的策略、方法和测试用例来克服这一点,以便他们可以找到错误。

问题:解释烟雾测试和健全性测试之间的区别?

回答: 

烟雾测试健全性测试
验证基本功能并检查构建是否正常工作并且没有错误。 验证新添加的功能或错误修复是否已更正且工作正常。
在初始构建时完成,即它是构建完成后执行的第一次检查。冒烟测试成功后在稳定版本上完成。
为每个构建执行。在稳定版本上执行以检查旧功能在新更改完成后是否正常工作。
手动测试面试题有哪些?

问题:你将如何确定何时停止测试?

答:手动测试面试题和答案合集 - 最直接的答案是,当软件中没有发现所有缺陷时,我们可以停止测试。然而,完美的软件没有错误是不可能的。我们可以根据截止日期、预算和执行的测试范围来确定测试的退出标准。通常,测试人员可以在测试的第一周和第二周找到大部分主要和关键错误。第三周和第四周后,即使是轻微的和外观的缺陷也会得到处理,应用程序进入回归测试阶段。回归完成后,我们可以保证 99% 的测试场景已经覆盖,并且软件已准备好推出。

问题:解释什么是配置管理?

答:配置管理是一组管理实践、相互关联的流程和工具,可帮助管理所有工作项并保持它们的更新和准确,以便所有相关用户都可以随时使用它们。它还帮助我们维护所有工作项与项目要求一致,并确保任何更改都在授权后得到适当的记录、评估和实施。

问题:解释测试驱动程序和测试存根之间的区别

答:驱动程序和存根都是测试工具的类型,用于为测试模块(组件)提供模拟环境。它们不是主软件的一部分,仅用于测试目的。  

问题:解释数据流测试?

答:数据流测试涉及测试应用程序工作流中的各个路径,以测试不同阶段的事件顺序以及变量和数据对象的状态。通过数据流测试,我们可以识别在程序控制流的每个阶段使用的变量。这有助于我们消除声明但从未使用过的变量,反之亦然,在使用它们之前释放变量,或者在使用之前多次更改其值的变量。 

问题:重新测试和回归测试有什么区别?

回答: 

重新测试回归测试
这样做是为了检查以前失败的测试用例是否已修复并且工作正常。进行回归测试以识别由于应用程序功能的更改或引入新功能而可能发生的新问题。
主要目的是确保在先前版本中发现的错误在最新版本中得到修复。基本目的是确保新的更改不会影响现有的工作功能。
重新测试会影响申请的交付日期,并且是重中之重;它是在回归测试之前完成的。在所有其他测试程序完成后进行回归测试。
重新测试必须手动完成。测试用例可以自动化,并且可以运行脚本来一次又一次地测试相同的功能。
只执行失败的测试用例。执行从应用程序开始到结束的所有测试用例。

问题:静态测试和动态测试的区别?

回答: 

基础静态测试动态测试
何时执行测试是在没有执行程序的情况下完成的测试是通过执行程序完成的
它有什么作用此测试执行验证过程动态测试进行验证过程
它是关于什么的关于预防缺陷的静态测试动态测试是关于修复和发现缺陷
测试输出静态测试对文档和代码进行评估动态测试会在软件系统中产生错误。
它涉及什么静态测试涉及要遵循的过程和检查表动态测试涉及执行的测试用例
什么时候进行测试编译这个测试可以在编译之前进行编译后进行动态测试
它涵盖什么?静态测试涵盖语句和结构覆盖测试动态测试覆盖代码的可执行文件
发现缺陷的成本发现缺陷和修复的成本更低发现和修复缺陷的成本很高
投资回报由于此过程涉及早期阶段,因此投资回报率很高投资回报低,因为此过程涉及开发阶段之后

问题:请说明 STLC 和 SDLC 之间的区别。

答: STLC处理软件的验证和确认,而SDLC处理软件的开发/编码。

问题:什么是测试覆盖率?

答:测试覆盖率是一种质量指标,表示产品完成的测试百分比。它与非功能和功能测试活动相关。该指标用于添加缺失的测试用例。

问题:系统测试可以在任何阶段进行吗?

答:不可以,我们不能在任何阶段进行系统测试,必须在所有模块正常工作且到位后才开始,但应在 UAT(用户验收测试)之前进行。

问题:有哪些不同类型的软件测试?

答:手动测试人员使用以下几种软件测试:

  1. 单元测试
  2. 集成测试
  3. 回归测试
  4. 摇晃测试
  5. 烟雾测试
  6. 功能测试
  7. 性能测试
    1. 负载测试
    2. 压力测试
    3. 耐力测试
  8. 白盒和黑盒测试
  9. Alpha 和 Beta 测试
  10. 系统测试

问题:什么是敏捷测试,它的重要性是什么?

答:敏捷测试从客户的角度评估软件。它的重要性在于它不需要开发团队完成编码即可开始 QA。相反,测试和编码是齐头并进的。但是,它可能需要持续的客户互动。

问题:测试时出现bug怎么办?

手动测试面试题分析:在测试过程中遇到bug时,我们可以按照以下步骤操作:

  • 运行更多测试以确认对问题有清晰的描述。
  • 通过运行更多的测试,确保不同的输入不存在相同的问题。
  • 一旦我们确定了错误的全部范围,我们就可以添加详细信息并报告它。

问题:遇到BUG怎么办?

答:发现bug后,第一件事就是锁定bug报告中的bug。然后需要将此错误分配并传达给可以修复它的开发人员。开发人员修复错误后,必须重新测试修复,并且必须确定回归测试的要求,以确保修复不会在其他地方产生问题。

问题:探索性测试是什么意思?

答:探索性测试是在没有测试计划和测试脚本的情况下测试应用程序。在探索测试测试时,根据测试人员的知识探索应用程序,因为测试人员之前并不了解该应用程序。测试人员像最终用户一样探索应用程序并尝试使用它。在使用应用程序时,他的主要动机是查找应用程序中的错误。

问:什么是白盒测试,还说一下它的类型?

答:手动测试面试题有哪些?白盒测试技术涉及基于对系统或组件的内部结构(即代码覆盖率、分支覆盖率、路径覆盖率、条件覆盖率等)的分析来选择测试用例。它也被称为结构测试或基于代码的测试。不同类型的白盒测试是

  1. 报表覆盖
  2. 决策覆盖

问题:白盒测试验证了什么?

回答:以下白盒测试验证以下内容:

  1. 代码中的安全漏洞
  2. 代码中损坏或不完整的路径
  3. 根据文档规范的结构流程
  4. 预期产出
  5. 检查应用程序完整功能的代码中的所有条件循环
  6. 逐行编码和覆盖测试

问题:解释黑盒测试以及有哪些不同的黑盒测试技术?

答:黑盒测试是在不知道程序或代码的内部结构的情况下测试软件的测试方法。这种测试通常是检查应用程序的功能。

黑盒测试技术是

  1. 等价分区
  2. 边值分析
  3. 因果图

问题:什么是验证和确认?

答:验证过程包括在开发阶段评估软件。它帮助测试人员确定给定应用的产品是否满足特定要求。

验证过程包括在开发过程之后评估软件并检查它是否满足客户要求。

问题:区分系统测试和UAT(用户验收测试)

答: UAT:用户验收测试 (UAT) 是通过一系列特定测试来运行产品的过程,从而确定产品是否会满足其用户的需求。

系统测试:也称为端到端测试,是在系统整体进行测试时发现缺陷,在这种类型的测试中,应用程序从头到尾都受到影响。

问题:定义突变测试?

答:通过故意引入各种错误并使用原始测试用例重新测试以确定是否检测到错误来确定一组测试用例是否有用的技术。

问题:提到调试的类别?

答:调试的类别是:

  1. 蛮力调试
  2. 回溯
  3. 原因消除
  4. 程序切片
  5. 故障树分析

问:什么是测试类型,常用的测试类型有哪些?

答:手动测试面试题和答案合集 - 测试类型是遵循标准程序以获得预期测试结果。

常用的测试类型有:

  • 单元测试:测试应用程序的最小代码。
  • API 测试:测试为应用程序创建的 API。
  • 集成测试:组合各个软件模块并对其进行测试。
  • 系统测试:测试整个系统。
  • 安装/卸载测试:从客户端/客户角度进行测试
  • 敏捷测试:通过敏捷技术进行测试

问题:列出软件测试的主要挑战?

答:软件测试的一些挑战是:

  • 标准文件和资源的可用性
  • 了解应用程序
  • 缺乏熟练的测试人员
  • 了解要求:测试人员需要出色的理解和聆听能力,才能与客户就条件进行沟通。
  • 分析何时停止测试的能力
  • 在时间限制下工作的能力
  • 决策能力
  • 使用优化数量的测试用例并测试整个应用程序

问题:什么是功能测试用例和非功能测试用例?

答:功能测试定义为测试正在审查的软件或应用程序的“功能”。根据客户要求检查软件。称为需求规范或软件规范的文档用作测试应用程序的指南。

问题:什么是非功能测试?

答:当一个应用程序在任何情况下都能按照用户的期望高效、流畅地运行,那么它就是一个可靠的应用程序。根据质量测试这些参数至关重要;这个过程称为非功能测试。

问题:区分错误、错误和缺陷

答案:编码错误是一种错误。缺陷是手动测试人员发现的错误。开发团队承认的缺陷称为错误。当构建的代码未满足要求时,就会发生功能故障。

问题:区分质量保证、质量控制和手动测试。

答:一种系统的、有计划的监控过程质量的方法,是生产优质产品所遵循的方法,是指质量测试(QA)。QA 修改过程跟踪测试报告以满足项目的期望。

质量控制 (QC) 是关于产品的质量。除了发现缺陷外,QC 还建议改进。因此,QC 执行由 QA 设置的流程。测试团队负责质量控制。

软件测试过程确保开发人员开发的产品满足用户的要求。测试旨在发现错误并由开发团队修复它们,从而保持交付给客户的产品的质量。

问题:手动测试中的驱动程序和存根是什么?

答:驱动程序和存根是增量测试的一部分。增量测试包括两种方法,即自下而上和自上而下的方法。驱动程序用于自下而上的测试,存根用于自上而下的方法。存根是一个虚拟代码或程序,用于测试主模块。

问题:测试用例、测试场景和测试脚本有什么区别?

回答:

测试用例:包含要执行的步骤的文档。测试用例文档已经计划好并包含边缘用例。

测试场景:任何可以测试的功能都是一个测试场景。它也称为测试可能性或测试条件。

测试脚本:它是一个简短的编码程序,用于测试软件系统的部分功能。简而言之,应该手动执行的一组书面步骤。

问题:解释潜在缺陷?它与蒙版缺陷有何不同?

答:潜在缺陷也称为隐藏缺陷,它是系统中存在的缺陷,可能导致故障或故障,但无法通过一般检查发现

掩蔽缺陷:存在但尚未导致失败的缺陷,因为另一个缺陷阻止了该部分代码的执行

问题:测试可交付成果是什么?解释

答:测试可交付成果是一组为支持测试而维护和开发的工具、文档和组件。

在软件开发生命周期的每个阶段都有不同的测试可交付成果

  • 测试前
  • 测试期间
  • 测试后

问题:什么是测试计划及其涵盖的信息?

答:描述测试活动的方法、范围、资源和时间表的文档是测试计划。

测试计划中必须包含以下详细信息:

  • 测试策略
  • 测试目标
  • 退出/暂停标准
  • 资源规划
  • 测试可交付成果

问题:列出导致项目失败的常见风险

答:列出了导致项目失败的常见风险:

  • 没有足够的人力资源
  • 测试环境可能设置不正确
  • 有限的预算
  • 时间限制

问题:测试报告包含哪些内容,测试报告有什么好处?

手动测试面试题分析:测试报告包括以下内容:

  • 测试目标
  • 项目信息
  • 缺点
  • 测试总结

以下是测试报告的好处:

  • 告知产品和项目质量的当前状态
  • 允许客户和利益相关者采取纠正措施
  • 最终文件决定产品是否准备好发布

问:“phantom”作为手动测试工具的作用是什么?

答: 手动测试面试题有哪些?Phantom 是 Windows GUI 自动化脚本语言使用的免费软件。它允许用户通过模拟鼠标点击和击键以及菜单、列表等的任意组合来自动控制功能和窗口。

问题:Bug 泄漏和Bug 发布有什么区别?

回答:

漏洞泄露:当漏洞被最终用户发现,而被测试团队在测试时检测到的漏洞,即为漏洞泄露。应用程序中存在的、测试人员未检测到但最终被用户发现的缺陷。

错误发布:当发布具有一组已知错误的特定软件版本时,称为错误发布。这些错误的优先级较低。当软件公司能够承担已发布软件中存在的错误,但无法承担在该特定版本中修复它的时间/成本时,就会完成错误发布。

问题:性能测试和Monkey测试有什么区别?

答:手动测试面试题和答案合集 - 性能测试检查系统的可扩展性、速度和稳定性特性。性能是通过实现满足项目性能目标的吞吐量、响应时间和资源利用水平来确定的。

Monkey 测试是软件测试中的一种技术,它允许用户通过提供随机输入来测试应用程序并检查其行为。

问题:解释测试矩阵和可追溯性矩阵之间的区别。

回答:

测试矩阵:测试矩阵捕获捕获软件测试所有阶段所需的实际质量、工作量、计划、资源和时间

可追溯性矩阵:可追溯性矩阵涉及测试用例和客户需求之间的映射。

问题:区分下面提到的技术是静态的还是动态的:

  • 等价分区。
  • 用例测试。
  • 数据流分析。
  • 探索性测试。
  • 决策测试。
  • 检查

回答:

静止的

  • 数据流分析。
  • 检查

动态的

  • 等价分区。
  • 用例测试。
  • 数据流分析。
  • 探索性测试。
  • 决策测试。
  • 检查

问题:什么是阳性和阴性测试?

答:正面测试是指测试人员输入有效输入并期望根据规范完成某些操作,而负面测试是指你输入无效输入并收到错误。

问题:什么时候必须停止测试?

答:停止测试取决于被测系统的风险。

你可以根据一些标准停止测试。

  1. 截止日期(测试、发布)
  2. 测试预算已用完
  3. 错误率低于一定水平
  4. 测试用例以一定的百分比通过
  5. 测试的 Alpha 或 Beta 期结束
  6. 代码、功能或要求的覆盖范围达到指定点

问题:定义等价分区测试?

回答:将应用程序输入测试数据划分到每个分区中,我们从中导出定义为等价分区技术的测试用例。使用这种技术可以减少测试时间。

问题:什么是决策表测试,为什么它很重要?

回答:在规范采用因果组合或规则形式的测试系统中,使用决策表测试。决策表在列中列出输入,输出在同一列中的输入下方。该表的其余部分探讨了输入组合以定义产生的输出。

决策表很重要的原因是:

  • 决策表有助于测试设计技术。
  • 它提供了一种陈述复杂业务规则的常规方式,这对开发人员和测试人员都有好处。
  • 它协助开发人员在开发过程中做得更好。使用所有组合进行测试可能不切实际。
  • 它是测试和需求管理的最佳选择。
  • 这是在处理复杂业务规则时准备需求的结构化练习。
  • 它用于复杂的模型逻辑。

问题:开发手动测试系统的主要目标是什么?

答:在实际使用软件之前,重要的是根据客户的要求评估其适用性。所以在那种情况下,手动测试面试系统就出现了。它的主要目的是在不使用任何类型的自动化工具的情况下手动执行测试用例。这是由于自动化测试的缺点“完全自动化是不可能的”。所以手动测试系统是必不可少的。

问题:手动测试系统与自动化测试相比有什么优点?

回答:手动测试比自动化测试更具竞争优势的几点区别如下:

  • 经济效益:与自动化测试系统相比,手动测试更具成本效益和小规模。
  • 人为因素的参与:在手动测试系统中,测试需要人工进行,因此它更可靠,我们得到准确的界面反馈。
  • 节省时间:这是一个节省时间的过程,因为如果要进行小的快速修复,则不需要在这种情况下更改整个代码。
  • 真实用户体验:借助手动测试,用户能够在网络和移动平台上准确复制真实用户体验。
  • 能力好:手动测试系统比处理复杂的用例场景更好。

问题:手动测试系统比自动化测试有什么缺点?

答:虽然手动测试系统比自动化测试有优势,但与自动化测试相比,手动测试系统仍有一些不足之处。手动测试系统的一些缺点如下:

  • 错误几率增加:由于手动测试系统是由人工进行的,因此错误很可能会被忽视。
  • 长期昂贵:虽然在短时间内手动测试似乎具有成本效益,但从长远来看,它可以大大削减公司的预算。
  • 无法进行某些类型的测试:无法在手动测试系统下进行负载测试和性能测试。

问题:陈述自动化测试和手工测试之间可以突出区别的点?

答:手动测试系统和自动化测试系统相比,有相当显着的差异。一些主要的不同点如下:

手动测试系统自动化测试系统
人工测试无法在没有人为干预的情况下进行。自动化测试使用各种工具来执行测试用例。
手工测试需要熟练的劳动力,需要大量的时间和高成本。自动化测试不涉及太多的劳动力、时间和成本。
可以手动测试不同类型的应用程序,某些测试类型(如临时测试和Monkey测试)更适合手动执行。自动化测试只适用于稳定的系统,一般用于回归测试。
手动测试可能是常规且乏味的。重复执行相同测试用例的单调部分由自动化测试中的自动化软件进行。

问题:从端到端测试可以理解什么?

答:端到端测试系统是一种测试应用程序以确保它是否按预期工作的方式。它旨在对应用程序从开始到结束的流程进行测试。端到端测试系统仔细检查系统的完整流程。端到端测试确认数据完整性在不同系统组件和系统之间得到维护。

问题自上而下和自下而上的方法是什么理解?

答:按照自上而下的方法,测试程序是从上到下进行的。首先,高级模块经过测试程序,然后是低级模块,然后最后完成低级模块到高级的集成,以确保系统按要求工作.

根据自下而上的方法,测试程序是从下到上进行的。首先,低级模块经过测试程序,然后是高级模块,最后将高级模块集成到低级,以确保系统是按要求工作。

问题:从系统和集成测试中可以理解什么?

答:进行系统测试的主要目的是确保系统按照规定的要求工作。

而集成测试的主要目标是测试两个不同软件单元之间的接口。是一类软件测试,其中将各个单元收集在一起并作为一个整体进行测试。此级别测试的主要目的是找出集成单元之间交互中的故障。

问题:大爆炸法(Big Bang Approach)是什么意思?

回答: Big Bang Approach 是一种集成测试策略的方法,它需要并排检查所有系统组件。它的主要优点是测试人员可以检查整个系统及其组件的工作情况。

问题:Sanity Checking 是什么意思?

答:健全性测试在整个发布阶段进行,以确定应用程序的主要功能,而无需深入研究许多细节。它也被称为回归测试的细分。健全性检查在“发布级别”进行。这是一个软件测试级别,一旦收到软件版本以及代码或功能的细微更改,就会进行一个具体的证明,以证明错误已得到纠正,并且不会出现进一步的问题作为这些更改的原因。它的目的是确保提议的功能大致按要求工作。

问题:Alpha、Beta 和 Gamma 测试是什么意思?

手动测试面试题分析: 手动测试面试题有哪些?Alpha 测试由开发软件的开发人员和测试人员完成。有时可以观察到 alpha 测试是由采购方或外包团队在开发人员或测试人员的存在下进行的。

Beta 测试将在交付前由指定数量的最终用户进行。一般在最终用户所在地进行。

当软件准备好发布时,进行 Gamma 测试以检查指定的需求。它通常在最终用户的地方完成。它是通过省略所有内部测试活动而直接执行的。

手动测试面试题和答案合集概括

在接受采访时,你需要自信。如果你不知道所问任何问题的答案,简单的“否”比给出一些随机的非答案并添加不必要的细节要好。比起假装无所不知的候选人,坦率诚实的候选人更受欢迎!

此外,在被问及之前不要支付你的详细信息。面试官更想知道你是一个技术人员。所以,一切都好!请让我们知道你在面试中遇到的手动测试面试问题,但此处未涵盖,以便我们可以在此处添加这些问题,以造福测试社区。

这些问题在手动测试面试中最常被问到。与你的朋友或任何准备面试成为软件测试员的人分享。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: