1 测试自动化的两种方法-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

测试自动化的两种方法

汽车电子工程知识体系 来源:汽车电子硬件设计 作者:汽车电子硬件设计 2022-03-21 10:56 次阅读

许多编程组越来越依赖于自动化测试,特别是那些使用测试驱动开发的组。有许多框架可以编写测试,每次将代码输入版本控制系统时,连续集成软件都会自动运行测试。

虽然自动化不能重现人类所能做的一切(以及他们所认为的所有方式),但它对回归测试非常有用。但是,为了真正有用,它确实需要一个精心开发的测试套件的测试脚本。

虽然手动测试可能会在软件应用程序中发现许多缺陷,但这是一个费时费力的过程。此外,它可能无法有效地发现某些类型的缺陷。测试自动化是一个编写计算机程序来进行测试的过程,否则就需要手动完成这些测试。一旦测试实现了自动化,它们就可以快速运行了。对于维护寿命长的软件产品来说,这通常是最划算的方法,因为在应用程序的生命周期中,即使是很小的补丁也会导致在早期工作的特性中断。

测试自动化一般有两种方法:

·代码驱动的测试。对类、模块或库的公共(通常)接口使用各种输入参数进行测试,以验证返回的结果是否是正确的。

·图形用户界面测试。测试框架生成用户界面事件,如击键和鼠标单击,并观察导致用户界面的变化,以验证程序的可观察行为是正确的。

测试自动化工具可能很昂贵,而且通常与手动测试结合使用。从长远来看,它可以实现具有成本效益,特别是在回归测试中重复使用时。

自动生成测试用例的一种方法是通过使用系统的模型进行测试用例生成来进行基于模型的测试,但研究将继续进行各种替代方法。

自动化是什么,何时自动化,甚至是否真的需要自动化,这些都是测试(或开发)团队必须做出的关键决策。选择产品的正确功能,在很大程度上决定了自动化的成功。应避免自动化不稳定的特性或正在进行更改的特性。

代码驱动测试

软件开发的一个日益增长的趋势是使用测试框架,如xUnit框架(例如,JUnit和NUnit),允许执行单元测试,以确定代码的各个部分在各种情况下是否按预期发挥作用。测试用例描述了需要在程序上运行的测试,以验证程序是否按预期运行。

代码驱动的测试自动化是敏捷软件开发的一个关键特性,其中它被称为测试驱动的开发(TDD)。在编写代码之前,需要先编写单元测试来定义该功能。只有当所有测试都通过时,该代码才被认为是完整的。支持者认为,它生产的软件比通过人工探索进行测试的代码更可靠,成本也更低。它被认为更可靠,因为代码覆盖率更好,而且它在开发过程中不断运行,而不是在瀑布式开发周期结束时运行一次。开发人员在进行更改时立即发现缺陷,而修复缺陷的成本最低。最后,代码重构更安全;将代码转换为更简单的形式,代码重复更少,但等效的行为,不太可能引入新的缺陷。

图形用户界面(GUI)测试

许多测试自动化工具提供了记录和回放功能,允许用户交互式地记录用户操作,并回放任何次数,并将实际结果与预期结果进行比较。这种方法的优点是它需要很少或不需要软件开发。这种方法可以应用于任何具有图形用户界面的应用程序。然而,依赖于这些特性就带来了主要的可靠性和可维护性问题。重新标记一个按钮或将其移动到窗口的另一部分,可能需要重新记录该测试。录制和回放还经常添加不相关的活动或错误地记录一些活动。

这种类型的工具的一个变体是用于对网站的测试。这里的“界面”是网页。这种类型的工具也需要很少或不需要软件开发。然而,这样的框架使用了完全不同的技术,因为它是读取html,而不是观察窗口事件。

另一个变体是无脚本的测试自动化,它不使用记录和回放,而是构建被测试应用程序的模型,然后允许测试人员通过简单地编辑测试参数和条件来创建测试用例。这不需要任何脚本技能,但具有脚本方法的所有能力和灵活性。测试用例维护很容易,因为没有代码需要维护,而且由于被测试的应用程序会更改,因此可以简单地重新学习或添加软件对象。它可以应用于任何基于gui的软件应用程序。

要测试什么

测试工具可以帮助自动化任务,如产品安装、测试数据创建、GUI交互、问题检测(考虑配备了oracles的解析或轮询代理)、缺陷日志记录等,而不一定是以端到端方式自动化测试。

在考虑测试自动化时,必须保持满足普遍的要求:

·平台和操作系统独立性

·数据驱动功能(输入数据、输出数据、元数据)

·可自定义的报告(数据库访问、晶体报告)

·易于调试和日志记录

·版本控制友好-最小的二进制文件

·可扩展的和可定制的(开放的api,以便能够与其他工具集成)

·通用驱动程序(例如,在Java开发生态系统中,这意味着Ant或Maven和流行的ide)。这使得测试能够与开发人员的工作流集成。

·支持无人值守的测试运行,以便与构建过程和批处理运行进行集成。连续集成服务器需要这样做。

·电子邮件通知(在故障或阈值级别上的自动通知)。这可能是执行它的测试运行器或工具。

·支持分布式执行环境(分布式测试台)

·分布式应用程序支持(分布式SUT)

自动化框架方法

框架是一个设置特定产品自动化规则的集成系统。该系统集成了功能库、测试数据源、对象细节和各种可重用模块。这些组件作为小型构建块,需要组装以表示业务流程。该框架提供了测试自动化的基础,并简化了自动化工作。

定义自动化框架和测试工具之间的边界

工具是专门针对某些特定的测试环境而设计的。例如:Windows自动化工具、web自动化工具等。它作为一个自动化过程的驱动代理。但是,自动化框架并不是执行某些特定任务的工具,而是一个提供解决方案的基础设施,其中不同的工具可以插入自己,并以统一的方式完成它们的工作。因此,为自动化工程师提供了一个共同的平台。

有各种类型的框架。它们是根据它们所利用的自动化组件进行分类的。这些内容包括:

·数据驱动测试

·模块化驱动的测试

·关键字驱动测试

·混合动力测试

·基于模型的测试

测试工具

程序测试和故障检测可以通过测试工具和调试器得到显著的帮助。

测试/调试工具包括以下功能:

·程序监控,允许全面或部分监控程序代码,包括:

·指令集模拟器,允许完整的指令级监控和跟踪设施

·程序动画,允许在源级别或机器代码中逐步执行和条件断点

·代码覆盖报告

·格式化转储或符号调试,允许在错误或选定点上检查程序变量的工具

·自动化的功能GUI测试工具用于通过GUI重复系统级的测试

·基准测试,允许进行运行时性能比较

·性能分析(或分析工具),可帮助突出显示热点或资源使用情况

其中一些特性可以合并到集成开发环境(IDE)中。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 自动化
    +关注

    关注

    29

    文章

    5562

    浏览量

    79239
  • 代码
    +关注

    关注

    30

    文章

    4779

    浏览量

    68516

原文标题:自动化测试

文章出处:【微信号:QCDZYJ,微信公众号:汽车电子工程知识体系】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    电池电量的两种测试方法

    电池电量的两种测试方法 检测普通锌锰干电池的电量是否充足,通常有两种方法。第一种方法是通过测量电池瞬时短路电流来估算电池的内阻,进
    发表于 01-16 10:35 4089次阅读

    Linux端口的开启的两种方法需要掌握

    Linux端口的开启的两种方法需要掌握
    发表于 11-28 10:05 1235次阅读

    手机自动化测试方法

    `随着智能手机近年来的快速增长,从游戏娱乐到移动办公的各式各样的手机APP软件渗透到我们的生活中,手机APP自动化测试也逐渐兴起,从Monkey本地测试到云测试平台,现在我要介绍的这种
    发表于 07-05 15:07

    讨论Linux系统中设置开机自动运行的两种方法

    有时可能会需要在重启时或者每次系统启动时运行某些命令或者脚本。我们要怎样做呢?本文中我们就对此进行讨论。 我们会用两种方法来描述如何在 CentOS/RHEL 以及 Ubuntu 系统上做到重启或者系统启动时执行命令和脚本。 两种方法都通过了
    发表于 07-09 06:38

    浅析addContext()与addWebapp()这两种方法

    addContext()与addWebapp()这两种方法都是向嵌入式tomcat添加web应用程序。addContext()需要配置相关所有内容,比如配置默认的Servlet,否则将无法访问静态
    发表于 12-16 07:02

    基于LabVIEW的自动化控制和编程设计

    该文介绍了在虚拟仪器开发平台LabVIEW下,由实验测量数据的要求和仪器本身的条件,分析了在LabVIEW编程环境下对仪器自动化控制的三种方法。文中着重阐述了两种方法:缓冲采集和
    发表于 07-20 15:23 311次下载

    LCD1602初始流程图及程序的两种方法

    本文介绍LCD1602初始程序及其LCD1602初始流程、具体步骤实现的两种方法,供电子爱好者及实验使用。
    发表于 10-08 10:01 4.8w次阅读
    LCD1602初始<b class='flag-5'>化</b>流程图及程序的<b class='flag-5'>两种方法</b>

    NI针对自动化和定制测试需求提出两种平台方案

    自动驾驶的领域里,NI服务于汽车产业链上的各芯片厂、零部件厂、主机厂,为它们在自动驾驶研发过程中,提供产线测试和实验室辅助验证的解决方案。仪器是测试最重要的媒介和手段。NI针对
    的头像 发表于 08-16 17:07 5202次阅读

    提升家里网速的两种方法

    总是嫌家里的网速慢,看视频“转圈圈”,玩游戏“时延高”,如何提升家里的网速呢?这里介绍两种方法
    的头像 发表于 02-19 21:10 1.4w次阅读
    提升家里网速的<b class='flag-5'>两种方法</b>

    简述人工智能和机器学习实现完全自动化的5种方法

    在人工智能和机器学习领域,测试自动化已经取得了长足的进步。通过引入智能测试自动化工具,可以解决传统测试
    的头像 发表于 06-15 17:00 4252次阅读

    AVR单片机在电机转速测量中两种方法总结

    AVR单片机在电机转速测量中两种方法总结(依工测试测量仪器(上海有限公司)-该文档为AVR单片机在电机转速测量中两种方法总结文档,是一份不错的参考资料,感兴趣的可以下载看看,,,,,,,,,,,,,,,,,
    发表于 09-30 12:05 13次下载
    AVR单片机在电机转速测量中<b class='flag-5'>两种方法</b>总结

    STM32操作矩阵键盘的两种方法——扫描和中断

    目录STM32操作矩阵键盘的两种方法——扫描和中断一、矩阵键盘的结构和原理二、扫描式矩阵键盘的原理和实现三、中断式矩阵键盘的原理和实现四、两种方案优劣STM32操作矩阵键盘的两种方法——扫描和中断
    发表于 11-26 13:36 36次下载
    STM32操作矩阵键盘的<b class='flag-5'>两种方法</b>——扫描和中断

    LDO在IoT中省电的两种方法

    LDO在IoT中省电的两种方法
    发表于 11-04 09:50 0次下载
    LDO在IoT中省电的<b class='flag-5'>两种方法</b>

    简述安装打印机驱动的两种方法

    安装打印机驱动通常有两种方法,一种是直接使用驱动文件自带的安装程序自动安装,而另一种方法就是我们自己手动进行安装。两种方法各有利弊,日常工作中可以根据实际情况来选择使用哪
    的头像 发表于 04-04 09:46 4754次阅读
    简述安装打印机驱动的<b class='flag-5'>两种方法</b>

    什么是自动化测试框架

    自动化测试框架,即是应用于自动化测试所用的框架。按照框架的定义,自动化测试框架要么是提供可重用的
    发表于 04-18 14:44 892次阅读