翻译 | 手动测试,还是自动化测试?

翻译 | 手动测试,还是自动化测试?的图1

本文翻译自:How to choose between manual or automated testing for your software

原文作者:Qt Group 市场经理 Sebastian Polzin

校审:Shawn Luo

软件测试是根据设计来衡量程序的过程,以确定其是否如预期的那样运行。它的执行是为了确保开发的应用程序或系统满足需求,并使产品的进一步开发成为可能。

在软件开发领域,自动化测试已经变得不可或缺。虽然可能需要初始投资,但随着时间的推移,它能够弥补前期成本。手动测试瑕瑜互见,比如更容易出错,但可以深入了解视觉对象。最终,这一切都归结于项目的需要以及您手中的资源。

什么是手动测试?

手动测试是一种应用程序测试,QA或软件工程师在不使用任何自动化工具的情况下手动执行测试用例。在这个过程中,测试人员利用他们自己的经验、知识和技术能力对开发中的应用程序或软件执行测试。这样做是为了发现软件或应用程序中的bug和任何问题,并确保其在上线后正常工作。

与能够自行运行的自动化测试相反,手动测试需要QA工程师在所有阶段密切参与,从测试用例准备到实际测试执行。

使用Test Center进行手动软件测试

Test Center是Qt Quality Assurance Tools组合中的一个工具,它提供了一个简化的系统来管理手动测试结果,并给出了这些自动化测试结果的概述。此外,还有一个测试管理部分,可以在其中设置和管理手动测试的流程和记录。

它有一个分屏设计,左边是用于创建和管理测试层次结构,包括创建测试套件、测试用例、特性和场景。同时,右边的窗格是对测试用例或场景描述和先决条件进行更改的区域。它也被用来设计和管理测试的每个部分。

什么是自动化测试?

自动化测试是使用软件工具和脚本对测试工作进行自动化。测试人员必须编写测试脚本,指示计算机执行一系列操作,例如检查bug或在目标平台(如移动应用程序或网站)上执行任务。通过在更短的时间内比手动测试运行更多的测试用例,它能够帮助提高测试覆盖率。

这需要有脚本编写经验的用户。常见的自动化测试工具有Selenium、QTP、UFT和Squish等。Squish支持多种非专有编程语言,包括Python、JavaScript、Ruby、Perl和Tcl,因此,了解这些语言是有优势的。

使用Squish进行自动化软件测试

使用Squish,您可以在跨平台的桌面、移动端、嵌入式设备和在线应用程序上自动化GUI测试,并且可以在不同的开发平台上使用。它简化了通常费力且容易出错的过程---测试当今新开发以及不断发展的应用程序的用户界面。

翻译 | 手动测试,还是自动化测试?的图2

Squish支持功能回归测试和自动化GUI功能测试。它还可以帮助您在不同的环境中自动化测试应用程序,以可控和可重复的方式模拟用户的操作。

它包括:

    • 全面支持所有领先的GUI交互界面

    • 完全兼容各种平台(PC、智能手机、Web和嵌入式平台)

    • 测试脚本录制

    • 健全可靠的对象识别和验证技术

    • 独立于视觉外观或截图

    • 高效的集成开发环境(IDE)

    • 用于测试脚本编写的大量广泛应用的脚本语言

    • 完全支持行为驱动开发(BDD)

    • 使用命令行工具进行全面控制

    • 支持将测试管理与CI系统集成

选择手动或自动化测试---利与弊

在两者之间进行选择时有许多因素需要考虑。首先,软件开发者面临的最大挑战是截止日期。如果错过了完工日期,公司可能会失去客户。还有预算的问题,因为自动化测试需要设置和维护。

这两种解决方案各有优点和缺点,因此您需要根据自己的需要来检查它们。下面我们来仔细看看:

手动测试

优点:

    • 启动成本低于自动化测试

    • 为人类的感知提供了空间,这有助于洞察用户体验

    • 可以提供有价值的人类视觉反馈(如颜色,字体,大小,对比度和使用的按钮大小)

    • 当测试用例只需要运行一两次时更高效

    • 可以快速应用细微的修改,无需编码

    • 最适合探索性、可用性和临时测试

缺点:

    • 对于QA工程师或测试人员来说可能非常费时费力

    • 存在人为错误的可能性

    • 不能复用 – 重复会导致QA工程师或测试人员的工作相当累人和枯燥

    • 伸缩性差,因为更大更复杂的应用程序需要更多的手动测试人员

自动化测试

优点:

    • 工作速度更快,因为自动化工具可以持续运行,不眠不休

    • 有能力发现更多的缺陷

    • 适合重复的测试用例

    • 可以同时运行多个测试

    • 与手动相比,增加了覆盖范围的广度

    • 可以记录下来并复用于类似的测试用例

    • 最适合回归、性能、负载和高度重复的功能测试用例

    • 较大的项目可能需要更多的人力,但仍少于手动测试,因为只需编写新的测试脚本

缺点:

    • 无法进行进行探索性测试

    • 需要编码

    • 无法考虑人为因素,因此无法提供用户体验反馈

    • 细微的修改必须进行编码,这可能需要时间

    • 初始测试设置和所需的维护可能非常昂贵

自动化测试在大多数情况下都要比手动测试更占优势,但所有技术都有局限性。在创造任何能够提升消费者体验的内容时,人工测试所提供的人类判断和直觉将发挥作用。

自动化测试和手动测试哪个更适合您的组织,这在很大程度上取决于您需要运行的测试用例的数量、重复测试的频率以及团队的预算。

理想情况下,您的组织应将两者结合起来,各取所长。因为在许多情况下,手动测试仍有必要,而自动化测试可能效率更高。不管怎样,这两种软件测试方法都是重要的资产。




深圳市优飞迪科技有限公司成立于2010年,是一家专注于产品开发平台解决方案与物联网技术开发的国家级高新技术企业。

十多年来,优飞迪科技在数字孪生、工业软件尤其仿真技术、物联网技术开发等领域积累了丰富的经验,并在这些领域拥有数十项独立自主的知识产权。同时,优飞迪科技也与国际和国内的主要头部工业软件厂商建立了战略合作关系,能够为客户提供完整的产品开发平台解决方案。

优飞迪科技技术团队实力雄厚,主要成员均来自于国内外顶尖学府、并在相关领域有丰富的工作经验,能为客户提供“全心U+端到端服务”。

翻译 | 手动测试,还是自动化测试?的图3

Qt

翻译 | 手动测试,还是自动化测试?的评论0条

    暂无评论

    翻译 | 手动测试,还是自动化测试?的相关案例教程

    本文翻译自:Develop better software with the help of GUI test automation 原文作者:Qt公司总监 Harri Porten 校审:Tengxiao Yu 在应用程序启动时,用户首先看到的是图形用户界面,通常称为(GUI)。它是用户从视觉上与应用程序交互的一层介质,是应用程序中对用户可见的部分。例如,当客户启动金融应用程序来查看银行余额时,
    Qt质量管理工具: 您在软件质量管理中需要的一切 您可以利用Qt质量保证工具执行跨技术、跨设备的GUI测试,整个测试框架的代码覆盖率分析、静态代码分析,并检查软件架构的合规性。您可单独使用一种工具,或成对使用,或同时使用所有工具,以拦截软件侵蚀。 质量管理工具包的最新成员来自静态代码分析和软件架构验证方面的技术领导者。2022年8月,Qt官宣收购Axivion,为质量保证系列增添新成员。Axivi
    为什么要开展自动化测试? 图形用户界面无处不在。GUI应用的复杂性不断提高,仅通过手工测试不足以: -保持与不断缩短的敏捷开发时间表同步; -彻底测试和无缺陷的商业化产品。 所以自动化测试是必要的。 GUI自动化测试的优点 -大大减少运行测试的时间; -能够运行更多的测试; -更频繁地运行测试; -保证测试的一致性; -更早、更快的发现问题。 Squish特性概览 跨平台、多种开发技术 录制/回放
    本文翻译自:Automotive software testing: requirements and best practices 原文作者:Qt Group 市场经理 Sebastian Polzin 校审:Tengxiao Yu 本篇博文将浅析汽车软件行业的前景、汽车软件行业的近期发展、汽车软件测试相关的立法规定,以及推出GUI产品的公司如何利用汽车软件测试在日益动荡且充满挑战的市场中保持竞
    仿真自动化的流程和开发的内容 作为一个仿真工程师,我们都知道在做仿真计算时,前处理占据了大量的时间,特别是几何处理和网格划分这块。一旦几何处理和网格划分完毕也就意味者我们的仿真工作至少完成了60%以上。那么有没有可以倍速提升仿真效率的做法呢? 答案是肯定的,在某些场景下,我们可以通过采用仿真自动化的方式来提高效率。仿真自动化从原理上来说,分为设计、仿真分析流程(业务过程)自动化和设计、仿真软件自动
    硕士/技术经理
    影响力
    粉丝
    内容
    获赞
    收藏
      项目客服
      培训客服
      0 0