CN105786691B - 一种移动终端自动化集成测试装置、方法和系统 - Google Patents

一种移动终端自动化集成测试装置、方法和系统 Download PDF

Info

Publication number
CN105786691B
CN105786691B CN201410820686.9A CN201410820686A CN105786691B CN 105786691 B CN105786691 B CN 105786691B CN 201410820686 A CN201410820686 A CN 201410820686A CN 105786691 B CN105786691 B CN 105786691B
Authority
CN
China
Prior art keywords
server
test
version
task
source code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410820686.9A
Other languages
English (en)
Other versions
CN105786691A (zh
Inventor
陈磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Keen Chongqing Microelectronics Technology Co ltd
Original Assignee
Keen Chongqing Microelectronics Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Keen Chongqing Microelectronics Technology Co ltd filed Critical Keen Chongqing Microelectronics Technology Co ltd
Priority to CN201410820686.9A priority Critical patent/CN105786691B/zh
Publication of CN105786691A publication Critical patent/CN105786691A/zh
Application granted granted Critical
Publication of CN105786691B publication Critical patent/CN105786691B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供了一种移动终端自动化集成测试装置、方法和系统,本发明实施例装置包括:源码管理服务器,用于管理移动终端各个子系统的源码;持续集成服务器,用于负责控制各个任务流的调度机制;源码编译服务器,用于负责执行源码的编译任务;版本更新测试服务器,用于负责执行镜像文件更新任务和版本自动测试任务。本发明实施例实现集成测试自动化流程,提高研发效率,降低研发成本。

Description

一种移动终端自动化集成测试装置、方法和系统
技术领域
本发明涉及通信领域,特别涉及移动终端自动化集成测试装置、方法和系统。
背景技术
移动终端集成测试通常包含代码编译、集成、镜像文件更新、新版本验证测试几个阶段,通常这个过程由集成人员首先基于源码管理工具获取工程源码,然后根据编译配置选项进行源码编译,使用特定的工具将编译生成的镜像文件烧写待测终端,最后再执行测试验证流程,基本测试例验证通过后可以发布版本进入系统测试阶段,在集成过程阶段,集成人员需要参与大量的源码编译、镜像更新、版本验证等重复性工作,当前的技术对于源码管理、版本编译虽然有一些工具可以辅助集成人员完成,但是镜像文件的更新通常是需要集成人员人工操作使待测终端进入更新模式才能完成,整个集成测试过程对集成人员依赖性较大,工作效率低。
发明内容
为实现本发明所述目的而提供一种移动终端自动化集成测试装置、方法和系统,以实现集成测试自动化流程。
本发明实施例第一方面提供了一种移动终端自动化集成测试装置,包括:
源码管理服务器,用于管理移动终端各个子系统的源码;
持续集成服务器,用于负责控制各个任务流的调度机制;
源码编译服务器,用于负责执行源码的编译任务;
版本更新测试服务器,用于负责执行镜像文件更新任务和版本自动测试任务。
本发明实施例第二方面提供了一种移动终端自动化集成测试方法,包括:
源码编译服务器启动编译任务;
持续集成服务器将编译镜像文件中转至镜像更新版本测试服务器处理;
上述版本更新测试服务器启动镜像文件更新任务及版本测试任务完成集成测试自动化过程执行。
本发明实施例第三方面提供了一种移动终端自动化集成测试系统,上述系统包括上述的移动终端自动化集成测试装置,还包括中继设备和待测终端,上述中继设备与上述待测终端和版本更新测试服务器连接,转发待测终端与版本更新测试服务器之间的控制信号,控制待测终端进入镜像更新模式,结合自动化控制脚本执行镜像文件自动更新功能。
从以上技术方案可以看出,本发明实施例具有以下优点:
通过本发明提供的装置、方法和系统,实现集成测试自动化流程,不再需要专门的集成人员人工参与该流程,进一步地,通过安装自动化测试管理软件,将集成过程中的各个阶段的操作通过自动化控制脚本执行,并利用中继设备连接待测终端和主机,将源码管理软件、自动化测试管理软件通过任务流方式串联,实现集成测试过程版本更新、测试等阶段的自动化执行工作流程,整个阶段的过程可以按照集成配置策略自动执行,提高研发效率,降低研发成本。
附图说明
图1为本发明实施例装置结构示意图;
图2为本发明实施例系统结构示意图;
图3为本发明实施例方法流程示意图;
图4为本发明实施例版本更新方法流程示意图;
图5为本发明实施例一种自动化集成测试系统的持续集成任务流执行流程示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明提供了一种移动终端自动化集成测试装置,如图1所示,包括:源码管理服务器,用于管理移动终端各个子系统的源码;
在本发明实施例中,源码管理服务器用于管理移动终端各个子系统的源码,结合源码管理软件如git/svn,建立各个子系统的源码仓库,实现各个子系统源码更新、同步、入库管理,依赖持续集成服务器的插件支持,实现源码服务器和持续集成服务器系统源码同步。
持续集成服务器,用于负责控制各个任务流的调度机制;
在本发明实施例中,持续集成服务器,在上述持续集成服务器上安装持续集成工具服务端软件,将上述持续集成服务器配置成一个持续集成工具主机运行,实现持续集成过程各个工作任务的运行管理。
源码编译服务器,用于负责执行源码的编译任务;
版本更新测试服务器,用于负责执行镜像文件更新任务和版本自动测试任务。
在本发明实施例中,在上述源码编译服务器和版本更新测试服务器上安装持续集成工具客户端软件,并将上述源码编译服务器和版本更新测试服务器配置成持续集成工具从设备,上述持续集成工具从设备作为上述持续集成服务器的代理,负责执行所述持续集成服务器分配的任务。上述持续集成工具有多种,如jenkins、strider、hudson等,本发明实施例中采用jenkins为例。
上述源码编译服务器和版本更新测试服务器可以有多个,一个持续集成工具主机可以管理多个持续集成工具代理,用来为不同的任务或者相同的任务队不同配置来服务,实现多个待测移动终端的集成测试自动化过程同时执行,提高工作效率,在本发明实施例中以一个待测终端举例。
在本发明实施例中,还包括在版本更新测试服务器上安装自动化测试管理软件,上述自动化测试管理软件用于控制集成测试过程中源码编译、镜像更新、版本测试的自动化控制脚本执行。
上述自动化测试管理软件,主要控制测试用例执行、测试LOG记录、测试日志报告,通过将版本更新测试服务器的自动测试用例包安装到待测终端,待测终端运行测试用例包,将结果反馈给自动测试管理软件,自动测试管理软件生成测试报告,上传至持续集成服务器,用户通过web接口查看测试结果。
本发明还提供了一种移动终端自动化集成测试系统,如图2所示,还包括:中继设备,中继设备连接待测终端和上述版本更新测试服务器,上述版本更新测试服务器发送控制信号给上述中继设备并控制上述待测终端进入文件更新烧写模式,完成镜像文件更新任务。
在本实施例中,上述中继设备主要提供模拟用户行为使待测终端进入镜像更新模式及镜像文件烧写模式,结合自动化控制脚本执行镜像文件自动更新功能。
本发明还提供了一种移动终端自动化集成测试方法,如图3所示,包括:
源码编译服务器启动编译任务;
在本实施例中,上述源码编译服务器启动编译任务前还包括上述源码编译服务器检测到源码管理服务器有更新,上述源码编译服务器从上述源码管理服务器处获取待编译的源码。
持续集成服务器将编译镜像文件中转至镜像更新版本测试服务器处理;
在本发明实施例中,还包括在上述持续集成服务器上安装持续集成工具服务端软件,并配置git/svn源码管理插件,支持源码编译脚本,将上述持续集成服务器配置成一个持续集成工具主设备运行。
在本发明实施例中,还包括在上述源码编译服务器和版本更新测试服务器上安装持续集成工具客户端软件,并将上述源码编译服务器和版本更新测试服务器配置成持续集成工具从设备,上述持续集成工具从设备作为上述持续集成服务器的代理。
上述版本更新测试服务器启动镜像文件更新任务及版本测试任务完成集成测试自动化过程执行。
在本发明实施例中,还包括在上述版本更新测试服务器上安装自动化测试管理软件,上述自动化测试管理软件用于控制集成测试过程中版本测试的自动化控制脚本执行及生成测试报告。
在本发明实施例中,上述版本更新测试服务器启动版本测试任务完成集成测试自动化过程执行包括上述持续集成服务器调度上述版本测试任务,上述版本更新测试服务器将要执行的测试程序包安装到上述待测终端,上述待测终端执行测试用例并反馈测试结果给上述版本更新测试服务器,上述版本更新测试服务器生成测试报告,上传给上述持续集成服务器完成上述版本测试任务。
在本发明实施例中,还包括通过中继设备连接待测终端和上述版本更新测试服务器,上述版本更新测试服务器启动镜像文件更新任务包括上述版本更新测试服务器发送控制信号给上述中继设备并控制上述待测终端进入文件更新烧写模式,完成上述镜像文件更新任务。
本发明实施例提供一种版本更新方法,如图4所示,包括:
版本更新测试服务器监测到镜像文件有更新,自动执行镜像文件更新脚本,该脚本向指定的UART口发送控制信号给中继设备,即发送置位数据;
中继设备处理UART置位数据后通过特定的GPIO将待测终端音量键置位,即模拟用户长按音量键的效果;
镜像文件更新脚本通过USB发送重启待测终端指令,待测终端重启检测音量键已置位,进入文件更新烧写模式。
自动更新脚本执行文件更新指令,镜像文件通过USB完成更新后,向指定的UART口发送待测终端进入正常模式的控制信号给中继设备,即模拟用户释放音量键的效果。
中继设备处理后通过特定的GPIO将待测终端音量键复位,自动更新脚本重新通过USB发送重启待测终端指令,待测终端正常启动等待执行自动测试用例脚本。镜像文件更新job执行完成。
本发明实施例提供一种自动化集成测试系统的持续集成任务流执行流程,如图5所示,以AP子系统源码更新为例说明,包括:
源码编译服务器编译任务检测到AP系统源码管理服务器有更新,自动检测当前更新,开始执行编译任务,即执行编译脚本,编译脚本先配置编译环境变量,再配置产品目标平台,调用makefile文件执行编译,编译完成后将生成的AP镜像文件通过持续集成服务器复制到版本更新测试服务器。镜像文件更新任务监测到AP镜像文件有更新,自动执行镜像文件更新脚本,该脚本向指定的UART口发送控制信号给中继设备,中继设备处理后通过特定的GPIO将待测终端音量键置位,自动更新脚本通过USB发送重启待测终端指令,待测终端重启检测音量键已置位,进入文件更新烧写模式,自动更新脚本执行文件更新指令,镜像文件通过USB完成更新后,向指定的UART口发送控制信号给中继设备,中继设备处理后通过特定的GPIO将待测终端音量键复位,自动更新脚本重新通过USB发送重启待测终端指令,待测终端正常启动等待执行自动测试用例脚本。镜像文件更新任务执行完成,持续集成服务器调度版本自动测试任务执行,自动测试任务将测试集调用自动测试管理软件启动接口,传入测试集名称,自动测试管理软件将要执行的测试程序包通过USB安装到待测终端,调用测试用例执行脚本依次执行,待测终端执行测试用例并反馈测试结果,自动测试管理软件生成测试日志,集成人员可以通过持续集成服务器的接口查看测试结果,版本自动测试任务运行完成后,整个集成测试过程结束,当各子系统版本编译任务检测到各子系统源码仓库有新的更新提交后,本自动化集成测试系统再次循环执行编译、更新、测试各个任务流。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种移动终端自动化集成测试装置,其特征在于,包括:
源码管理服务器,用于管理移动终端各个子系统的源码;
持续集成服务器,用于负责控制各个任务流的调度机制;
源码编译服务器,用于负责执行源码的编译任务;
版本更新测试服务器,用于负责执行镜像文件更新任务和版本自动测试任务;所述版本更新测试服务器上安装自动化测试管理软件,所述自动化测试管理软件用于控制集成测试过程中版本测试的自动化控制脚本执行及生成测试报告;
中继设备,连接待测终端和所述版本更新测试服务器,所述版本更新测试服务器发送控制信号给所述中继设备并控制所述待测终端进入文件更新烧写模式,完成镜像文件更新任务。
2.如权利要求1所述的一种移动终端自动化集成测试装置,其特征在于,还包括在所述持续集成服务器上安装持续集成工具服务端软件,将所述持续集成服务器配置成一个持续集成工具主机运行,实现持续集成过程各个工作任务的运行管理。
3.如权利要求1所述的一种移动终端自动化集成测试装置,其特征在于,还包括在所述源码编译服务器和版本更新测试服务器上安装持续集成工具客户端软件,并将所述源码编译服务器和版本更新测试服务器配置成持续集成工具从设备,所述持续集成工具从设备作为所述持续集成服务器的代理,负责执行所述持续集成服务器分配的任务。
4.一种移动终端自动化集成测试方法,其特征在于,包括:
源码编译服务器启动编译任务;
持续集成服务器将编译镜像文件中转至版本更新测试服务器处理;
所述版本更新测试服务器启动镜像文件更新任务及版本测试任务完成集成测试自动化过程执行;在所述版本更新测试服务器上安装自动化测试管理软件,所述自动化测试管理软件用于控制集成测试过程、版本测试的自动化控制脚本执行及生成测试报告;
通过中继设备连接待测终端和所述版本更新测试服务器,所述版本更新测试服务器启动镜像文件更新任务包括所述版本更新测试服务器发送控制信号给所述中继设备并控制所述待测终端进入文件更新烧写模式,完成所述镜像文件更新任务。
5.如权利要求4所述的一种移动终端自动化集成测试方法,其特征在于,所述源码编译服务器启动编译任务前还包括所述源码编译服务器检测到源码管理服务器有更新,所述源码编译服务器从所述源码管理服务器处获取待编译的源码。
6.如权利要求4所述的一种移动终端自动化集成测试方法,其特征在于,还包括在所述持续集成服务器上安装持续集成工具服务端软件,并配置源码管理插件,支持源码编译脚本,将所述持续集成服务器配置成一个持续集成工具主设备运行。
7.如权利要求4所述的一种移动终端自动化集成测试方法,其特征在于,还包括在所述源码编译服务器和版本更新测试服务器上安装持续集成工具客户端软件,并将所述源码编译服务器和版本更新测试服务器配置成持续集成工具从设备,所述持续集成工具从设备作为所述持续集成服务器的代理,负责执行所述持续集成服务器分配的任务。
8.如权利要求4所述的一种移动终端自动化集成测试方法,其特征在于,所述版本更新测试服务器启动镜像文件更新任务和版本测试任务完成集成测试自动化过程执行包括所述持续集成服务器调度所述镜像文件更新任务和所述版本测试任务,所述镜像文件更新任务将镜像文件更新至待测终端,所述版本更新测试服务器将要执行的测试程序包安装到所述待测终端,所述待测终端执行测试用例并反馈测试结果给所述版本更新测试服务器,所述版本更新测试服务器生成测试报告,上传给所述持续集成服务器,完成所述版本测试任务。
9.一种移动终端自动化集成测试系统,其特征在于,所述系统包括如权利要求1所述的移动终端自动化集成测试装置,还包括待测终端,所述中继设备与所述待测终端和版本更新测试服务器连接,转发待测终端与版本更新测试服务器之间的控制信号,控制待测终端进入镜像更新模式,结合自动化控制脚本执行镜像文件自动更新功能。
CN201410820686.9A 2014-12-25 2014-12-25 一种移动终端自动化集成测试装置、方法和系统 Active CN105786691B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410820686.9A CN105786691B (zh) 2014-12-25 2014-12-25 一种移动终端自动化集成测试装置、方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410820686.9A CN105786691B (zh) 2014-12-25 2014-12-25 一种移动终端自动化集成测试装置、方法和系统

Publications (2)

Publication Number Publication Date
CN105786691A CN105786691A (zh) 2016-07-20
CN105786691B true CN105786691B (zh) 2023-05-12

Family

ID=56377121

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410820686.9A Active CN105786691B (zh) 2014-12-25 2014-12-25 一种移动终端自动化集成测试装置、方法和系统

Country Status (1)

Country Link
CN (1) CN105786691B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106775823B (zh) * 2016-11-21 2020-03-27 努比亚技术有限公司 移动终端及其快速启动方法
CN107026754B (zh) * 2017-03-04 2021-01-05 浪潮云信息技术股份公司 一种单节点PaaS平台的自动化运维方法及装置
CN107193619B (zh) * 2017-07-28 2021-02-02 苏州浪潮智能科技有限公司 一种编译版本自动更新的方法与装置
CN107608710B (zh) * 2017-08-31 2021-08-31 华为技术有限公司 基于Jenkins工具的软件项目构建任务配置方法及装置
CN107656873A (zh) * 2017-10-23 2018-02-02 扬州航盛科技有限公司 基于Linux车载软件的自动化测试系统及测试方法
CN108011974A (zh) * 2017-12-25 2018-05-08 苏州赛源微电子有限公司 一种软件构建持续集成系统
CN109976996B (zh) * 2017-12-28 2023-03-21 神讯电脑(昆山)有限公司 键盘控制器测试方法
CN110674024B (zh) * 2018-07-02 2024-10-01 北京忆恒创源科技股份有限公司 电子设备集成测试系统及其方法
CN109240716B (zh) * 2018-09-10 2022-10-25 福建星瑞格软件有限公司 一种大数据平台版本管理与快速迭代部署方法及系统
CN110262931B (zh) * 2019-05-31 2023-02-28 深圳市杰科数码有限公司 一种键盘测试方法以及键盘测试计算机
CN111049912A (zh) * 2019-12-17 2020-04-21 用友网络科技股份有限公司 调试方法、测试开发设备以及计算机可读存储介质
CN111159972A (zh) * 2019-12-31 2020-05-15 深圳市汇顶科技股份有限公司 应用于集成电路的测试方法、测试装置及测试系统
CN112527312B (zh) * 2020-12-15 2022-03-01 西安中朗智控科技有限公司 一种嵌入式系统的测试方法和测试装置
CN112506793B (zh) * 2020-12-18 2024-05-28 航天信息股份有限公司 嵌入式软件单元测试方法、系统、可读介质及电子设备
CN113608996B (zh) * 2021-06-30 2023-07-18 苏州浪潮智能科技有限公司 一种镜像编译测试方法、系统、装置及可读存储介质
CN113836039A (zh) * 2021-10-25 2021-12-24 四川虹美智能科技有限公司 自动化冒烟测试方法和系统
CN117724725B (zh) * 2024-02-05 2024-05-03 英诺达(成都)电子科技有限公司 持续集成的自动化调度方法、装置、系统和存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8533676B2 (en) * 2011-12-29 2013-09-10 Unisys Corporation Single development test environment
CN102693183B (zh) * 2012-05-30 2015-04-01 瑞斯康达科技发展股份有限公司 一种实现软件自动化测试的方法及系统
CN102880546B (zh) * 2012-09-03 2015-06-17 北大方正集团有限公司 一种基于xml数据库的软件集成测试方法及系统
CN103336688A (zh) * 2013-06-20 2013-10-02 中标软件有限公司 面向云计算软件研发过程中的软件集成方法及系统
CN104077140B (zh) * 2014-07-04 2017-11-07 用友网络科技股份有限公司 用于持续集成的自动化编译方法和编译装置

Also Published As

Publication number Publication date
CN105786691A (zh) 2016-07-20

Similar Documents

Publication Publication Date Title
CN105786691B (zh) 一种移动终端自动化集成测试装置、方法和系统
CN110032507B (zh) 应用程序测试方法、装置、系统、电子设备及存储介质
CN103677858B (zh) 一种云环境中虚拟机软件管理的方法、系统及设备
US20150100829A1 (en) Method and system for selecting and executing test scripts
US20150100832A1 (en) Method and system for selecting and executing test scripts
CN105512029A (zh) 一种测试智能终端的方法、服务器及系统
CN108628735B (zh) 应用的自动化测试方法和系统
JP2015534688A (ja) アプリの開発・コンパイル・デバッグ方法及び装置
US20140236997A1 (en) Controller, information processing apparatus, and recording medium
US20150100830A1 (en) Method and system for selecting and executing test scripts
CN112231228B (zh) 一种固件升级测试方法、装置、平台、设备及存储介质
CN104246702A (zh) 工作流编译
CN110795108A (zh) 一种基于Ansible编排部署Weblogic应用的方法
CN114237676B (zh) 一种fpga逻辑更新方法、装置、设备及可读存储介质
CN109558147A (zh) 一种基于Jenkins和Gitlab的持续集成平台构建方法
CN113778486A (zh) 一种代码流水线的容器化处理方法、装置、介质及设备
CN105807730B (zh) 一种数字装备工业控制方法、装置及系统
CN111290934A (zh) 基于Jenkins的车载网络产品云测试方法及系统
US10318284B2 (en) System and method of generating and managing computing tasks
CN110096304A (zh) 基于Jenkins的任务构建方法、装置、设备及存储介质
US9207928B2 (en) Computer-readable medium, apparatus, and methods of automatic capability installation
CN106776310B (zh) 一种调试方法及调试装置
WO2024152655A1 (zh) 基于云原生的工作流编排方法、装置、设备及介质
CN112099410A (zh) 一种软件自动化控制系统和方法
CN104469278A (zh) 一种监控系统升级方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
TA01 Transfer of patent application right

Effective date of registration: 20170420

Address after: Nanping Street 400060 Chongqing Nan'an District Nancheng Road No. 199 left attached to the floor 403

Applicant after: Keen (Chongqing) Microelectronics Technology Co.,Ltd.

Address before: 400065 Chongqing Nan'an District huangjuezhen pass Fort Park No. 1

Applicant before: CHONGQING CYIT COMMUNICATION TECHNOLOGIES Co.,Ltd.

TA01 Transfer of patent application right
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant