CN110226095B - 嵌入式系统的通用自动化测试 - Google Patents

嵌入式系统的通用自动化测试 Download PDF

Info

Publication number
CN110226095B
CN110226095B CN201780065066.0A CN201780065066A CN110226095B CN 110226095 B CN110226095 B CN 110226095B CN 201780065066 A CN201780065066 A CN 201780065066A CN 110226095 B CN110226095 B CN 110226095B
Authority
CN
China
Prior art keywords
computing device
interface
testing
feature
test
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
CN201780065066.0A
Other languages
English (en)
Other versions
CN110226095A (zh
Inventor
J·基兹林客
V·诺沃提尼
A·佩尔尼卡日
J·帕夫拉克
O·克拉伊勒克
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.)
Y Soft Corp AS
Original Assignee
Y Soft Corp AS
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 Y Soft Corp AS filed Critical Y Soft Corp AS
Publication of CN110226095A publication Critical patent/CN110226095A/zh
Application granted granted Critical
Publication of CN110226095B publication Critical patent/CN110226095B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31903Tester hardware, i.e. output processing circuits tester configuration
    • G01R31/31907Modular tester, e.g. controlling and coordinating instruments in a bus based architecture
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/282Testing of electronic circuits specially adapted for particular applications not provided for elsewhere
    • G01R31/2829Testing of circuits in sensor or actuator systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2832Specific tests of electronic circuits not provided for elsewhere
    • G01R31/2834Automated test systems [ATE]; using microprocessors or computers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2832Specific tests of electronic circuits not provided for elsewhere
    • G01R31/2836Fault-finding or characterising
    • G01R31/2846Fault-finding or characterising using hard- or software simulation or using knowledge-based systems, e.g. expert systems, artificial intelligence or interactive algorithms
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/319Tester hardware, i.e. output processing circuits
    • G01R31/31903Tester hardware, i.e. output processing circuits tester configuration
    • G01R31/31908Tester set-up, e.g. configuring the tester to the device under test [DUT], down loading test patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • G06F11/2635Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers using a storage for the test inputs, e.g. test ROM, script files

Abstract

提供一种用于测试嵌入式系统的特征的系统和方法。所述系统包含低功率计算装置,其通信地耦合到控制应用程序接口、传感器接口和机器人接口。所述低功率计算装置可接收在测试期间产生的传感器信号,提供对应于所述传感器信号的传感器数据,接收用于所述测试的命令,并提供用于机器人处理机的移动的指令,所述指令对应于用于所述测试的所述命令中的至少一者。所述系统还包含计算装置,其通信地耦合到所述控制应用程序接口、图像处理接口和数据库接口。所述计算装置可接收传感器数据,接收对应于在所述测试期间所捕获的所述嵌入式系统的图像的图像数据,接收能够执行的测试,且提供用于所述测试的命令。

Description

嵌入式系统的通用自动化测试
相关申请案的交叉参考
本申请案基于且要求2016年10月20日提交的美国临时申请案第62/410,666号的优先权益,所述美国临时申请案的全部内容以引用的方式并入本文中。
技术领域
本发明大体上涉及用于通过嵌入式系统的通用自动化测试来验证和校验装置的利益关系人期望值的系统和方法。
背景技术
针对消费者、商业或工业用途的现代产品可具有使用软件、硬件或两者的某种组合实施的逻辑、功能性或工作流程。一种类型的产品,也称为嵌入式系统,通常涉及软件和硬件的组合且通常具有用于更大整体的环境中的专用目的。嵌入式系统可以在功能上固定或是可编程的。存在各种各样的嵌入式系统,包含独立操作的组件、需要专门操作环境的封装,以及可以与满足某些通信标准或设计容差的软件或硬件交互操作的模块。
正确行为的验证和利益相关者值的校验(在此共同称为测试(tests或testing))是上文所描述的嵌入式系统的设计和制造中的重要步骤。存在许多不同类别的测试,包含应力测试、性能测试、可用性测试、兼容性测试和功能测试等等。这些类别中的许多测试评估受测试产品的内部结构,例如产品处理某些任务的具体方式。因此,进行此类测试需要了解产品内部结构,且进行此类测试需要访问产品内部结构。
相比之下,称为“黑盒测试”或“行为测试”的一种类型的测试是一种测试方法,其通常不需要知道或访问产品内部结构。代替地,将产品视为“黑盒”且测试从外部角度评估产品的功能。黑盒测试可响应于各种输入(或缺少输入)以考虑例如产品的行为或由产品产生的输出等。由于黑盒测试是关注外部的,因此它往往更贴近实际使用产品的体验。
一般来说,产品测试可以是手动或自动化的。自动化测试可以减少错误,并使文档更加全面。自动化测试也可有利于不断地处理需要长时间段运行或大量装置的重复或大批量测试。作为实例,自动化测试广泛用于软件行业,以在各种情况下且跨不同平台测试消费者软件。在这些自动化测试中,软件公司通常在计算机上运行特殊工具来模拟特定程序的用户活动,且接着确定程序是否响应于模拟活动而表现正常。
相对于其它类别的产品,例如消费电子产品、器具或甚至车辆中的嵌入式系统,来模拟用户活动更加复杂。这些系统中的一些可以通过某种类型的接口提供用于测试和暴露内部过程的特殊连接以实现用户动作的模拟,但是对此类系统进行测试可能是繁琐且昂贵的,因为必须针对每一接口专门设计和定制每一测试。另一个问题是其它嵌入式系统不提供此种类的测试接口,而是仅提供供最终用户使用的接口。
因此,长期以来需要一种通用、灵活且功能强大的自动化测试平台,以通过与每一系统上提供的接口进行交互来对来自不同供应商的嵌入式系统进行测试(各种类型的测试以验证正确的行为并验证利益相关者值,包含黑盒测试)。此外,长期以来需要一种自动化测试平台,其不需要昂贵的工业机器人设备、其它类型的昂贵硬件或容纳大型设备的空间。长期以来需要一种自动化测试平台,其经优化用于办公室使用,并且可用于测试目的,包含多个装置的同时测试。
同时,自动化测试平台需要提供对测试的精确测量,包含例如与某些动作或反应发生相关的定时数据。自动化测试平台需要能够提供高度相关的测试结果,例如,通过对通常涉及真实用户交互的所有组件执行端对端测试。最后,自动化测试平台需要灵活性,以准许使用适合没有经过专门培训的人阅读和理解的简单的结构化语言而非复杂的计算机代码来创建测试。
附图说明
图1是根据本发明的一个实施例的自动化测试平台的框图。
图2是根据本发明的一个实施例的用于自动化测试平台的机器人处理机的组件的图式。
图3是根据本发明的一个实施例的用于自动化测试平台的控制应用程序的组件的框图。
图4是根据本发明的一个实施例的用于自动化测试平台的数据库的示范性模式的图式。
图5A是根据本发明的一个实施例的用以设置控制应用程序的示范性用户界面的屏幕图像。
图5B是根据本发明的一个实施例的可从图5A的用户界面到达的示范性用户界面子屏幕的屏幕图像。
图6是根据本发明的一个实施例的用于在自动化测试平台中创建用于测试的产品的新限定的步骤的流程图。
图7是根据本发明的一个实施例的在自动化测试平台中校准机器人所执行的步骤的流程图。
图8是可从图5A的用户界面到达的示范性校准用户界面的屏幕图像。
图9是根据本发明的一个实施例的在半自动校准方法中执行的步骤的流程图,所述半自动校准方法在初始通过图7的流程之后进行机器人处理机的自动重新校准。
图10是根据本发明的一个实施例的在自动化测试平台中执行的图像获取和处理的步骤的流程图。
图11是根据本发明的一个实施例的可在自动化测试平台中运行的样本测试。
发明内容
在本发明的一个实施例中,用于测试嵌入式系统的特征的系统包含低功率计算装置,其通信地耦合到控制应用程序接口、传感器接口和机器人接口。低功率计算装置经配置以从传感器接口接收在嵌入式系统的特征的测试期间产生的多个传感器信号,通过控制应用程序接口提供对应于多个传感器信号的传感器数据,通过控制应用程序接口接收用于特征的测试的多个命令,且通过机器人接口提供用于机器人处理机的移动的多个指令,其对应于用于特征的测试的多个命令中的至少一者。用于测试嵌入式系统的特征的系统还包含通信地耦合到控制应用程序接口、图像处理接口和数据库接口的计算装置。计算装置经配置以从控制应用程序接口接收传感器数据,从图像处理接口接收对应于在特征的测试期间所捕获的嵌入式系统的多个图像的图像数据,从数据库接口接收能够对特征执行的多个测试,且通过控制应用程序接口提供用于特征的测试的多个命令。
在一个实施例中,计算装置连接到网络,且经配置以通过网络向用户发射测试和机器人处理机的状态数据。在一个实施例中,计算装置经配置以通过所述网络与用户通信并准许用户使用或修改在计算装置上运行的应用程序。
在一个实施例中,低功率计算组件经配置以在通过控制应用程序接口提供传感器数据之前处理传感器信号。在一个实施例中,低功率计算组件经配置以在通过机器人接口提供多个指令之前处理多个命令。在一个实施例中,计算装置通信地耦合到传感器数据处理接口,且计算装置通过传感器数据处理接口接收对应于在特征的测试期间所捕获的传感器数据的经处理的传感器数据。在一个实施例中,低功率计算装置和计算装置中的至少一者经配置以在应用程序层级处与另一计算装置同步到相同参考时间。
在一个实施例中,多个测试中的至少一者包括多个关键字,且计算装置经配置以将关键字转换成能够由机器人处理机执行的命令。在一个实施例中,多个测试中的至少一者包括多个关键字,且计算装置经配置以将关键字转换成命令以用于通过接口发射。
在一个实施例中,传感器数据或图像数据对应于嵌入式系统或嵌入式系统是其一部分的测试产品的三维(3D)方面。在一个实施例中,用于测试的特征是二维(2D)特征。
在本发明的一个实施例中,由低功率计算装置和计算装置执行的用于测试嵌入式系统的特征的方法包含以下步骤:由低功率计算装置从传感器接口接收在嵌入式系统的特征的测试期间产生的多个传感器信号;由低功率计算装置通过控制应用程序接口提供对应于多个传感器信号的传感器数据;由低功率计算装置从控制应用程序接口接收用于特征的测试的多个命令;由较低功率计算装置通过机器人接口提供用于机器人处理机的移动的多个指令,其对应于用于特征的测试的多个命令中的至少一者;以及由计算装置从控制应用程序接口接收传感器数据;由计算装置从图像处理接口接收图像数据,其对应于在特征的测试期间所捕获的嵌入式系统的多个图像;由计算装置从数据库接口接收能够对特征执行的多个测试;以及由计算装置通过控制应用程序接口提供用于特征的测试的多个命令。
在一个实施例中,计算装置连接到网络,其中计算装置经配置以通过网络向用户发射测试和机器人处理机的状态数据。在一个实施例中,计算装置通过网络与用户通信,接收使用或修改在计算装置上运行的应用程序的请求,并处理请求。
在一个实施例中,低功率计算组件在通过控制应用程序接口提供传感器数据之前处理传感器信号。在一个实施例中,低功率计算组件在通过机器人接口提供多个指令之前处理多个命令。在一个实施例中,计算装置通信地耦合到传感器数据处理接口,且计算装置通过传感器数据处理接口接收对应于在特征的测试期间所捕获的传感器数据的经处理的传感器数据。在一个实施例中,低功率计算装置和计算装置中的至少一者在应用程序层级处与另一计算装置同步到相同参考时间。
在一个实施例中,多个测试中的至少一者包括多个关键字,且计算装置将关键字转换成能够由机器人处理机执行的命令。在一个实施例中,多个测试中的至少一者包括多个关键字,且计算装置经配置以将关键字转换成命令以用于通过接口发射。
在一个实施例中,传感器数据或图像数据对应于嵌入式系统或嵌入式系统是其一部分的测试产品的三维(3D)方面。在一个实施例中,受测试特征是二维(2D)特征。
具体实施方式
图1是根据本发明的一个实施例的自动化测试平台的框图,且展示平台的每一部分如何连接到其它部分。如图1中所展示,控制应用程序104在计算装置100上运行,且与数据库116通信。计算装置100可以是可运行控制应用程序的任何装置,例如个人计算机(PC)、服务器、笔记本计算机、智能手机、平板计算机等等。计算装置100通常将包括与易失性和/或非易失性存储器通信的处理器、外设接口和网络接口,其中利用所述网络接口将计算装置连接到自动化测试平台的其它组件,例如数据库116和机器人处理机118。外设接口将计算装置连接到各种输入装置,所述输入装置可包含键盘、鼠标、触摸屏、可对应于机器人处理机在3D空间中的位置的VR输入机构,或用以输入本地用户命令以控制计算装置100的任何其它合适的装置。应理解,计算装置100和/或控制应用程序104可包括定制为作为自动化测试平台的一部分操作的专用硬件(或可以是嵌入式系统)。这种专用化可以提高测试过程的速度和响应。举例来说,计算装置100内的专用硬件可包含经由一些通信路径,例如一组接口,连接在一起的多个计算组件。举例来说,例如功率消耗低于25瓦特的低功率计算组件可通过机器人接口连接到机器人处理机118和/或可通过传感器接口连接到传感器126,同时还通过控制应用程序接口连接到计算装置100中的其它计算组件支持、服务或执行模块。另外,多个此类低功率计算组件可通过共享或个别控制应用程序接口连接到计算装置100中的相同共享计算组件支持、服务或执行模块。与其它类型的计算组件相比,低功率计算组件可以提供节省资源和可扩展性的优势。应注意,低功率计算组件未必是指“低能力”计算组件。举例来说,通过使用专用硬件,例如用于特定目的(例如图形处理)的专用电路,有可能增大具有目标用途的低功率计算组件的计算功率。还应理解,可以存在多个计算装置和多个控制应用程序,或者共享一或多个控制应用程序的处理的多个计算装置。另外,可以存在准许跨多个计算装置和控制应用程序打包和部署软件更新以保持一致性的库或服务。此库或服务将准许用户保持不同版本的软件并在中心位置更新这些版本。
控制应用程序104与共享测试库模块106、图像获取模块108和传感器数据处理模块110一起工作以与机器人处理机118通信。共享测试库模块106与机器人构架测试环境112一起工作,机器人构架测试环境112又与数据库116一起工作。
应理解,数据库116和机器人构架试验环境112可如在图1中所展示的实施例中与计算装置100分离,且通过数据库接口通信,或在其它实施例中,数据库116和机器人构架试验环境112可以是计算装置100的一部分。机器人处理机118与正在受测试产品120的嵌入式系统122交互。机器人处理机118可经由用户界面实现交互,所述用户界面例如嵌入式系统的二维(2D)特征。嵌入式系统的2D特征至少包含触摸屏接口,但应理解,2D特征还可以指那些触摸屏的物理类似物(例如,按钮、拨号盘和滑块)。应理解,与触摸屏接口的交互未必限于按压按钮。机器人处理机118还能够执行交互,例如与以下类型的用户界面交互所需的交互:(1)能够检测不同压力水平的力敏触摸屏,(2)能够检测同时激活的点的多触式触摸屏,或(3)检测例如定向滑动或跟踪符号等所执行的手势的触摸屏。还应理解,可以存在由一或多个控制应用程序控制的多个机器人处理机。此外,可能存在由一或多个机器人处理机测试的多个嵌入式系统或产品。在涉及多个机器人处理机和/或正在受测试的多个嵌入式系统或产品的情况下,可以存在机器人管理系统,其协调跨所有装置的测试。此机器人管理系统将准许多个用户安排机器人处理机的使用以避免冲突。机器人管理系统还能够优先排序任务以准许所有测试机器人处理机和/或装置的安排都能符合优先级,例如速度、覆盖范围、资源成本最小化或其它效率量度。
共享测试库模块106可包含或作出用于执行每一测试的不同方面的各种程序和方法的可访问限定。作为一个实例,可以存在使用PIN号进行认证的方法,其包含以下步骤,即例如通过基于数据库116中限定的各种流程来点击按钮,以使得机器人处理机导航到适当的用户界面并将PIN号输入到嵌入式系统122中,从而操作机器人处理机118或其它机器人处理机,以与嵌入式系统122交互。用于使用PIN号进行认证的方法还可包含以下步骤,即从测试平台的其它组件,例如图像获取模块108和传感器数据处理模块110请求反馈,以便它可以将实际反馈与预期反馈进行比较并准备适当的返回值或更新用于机器人构架测试环境112的评估条件。
机器人构架测试环境112是可管理机器人处理机118或其它机器人处理机的应用程序。因此,机器人构架测试环境112知道系统和测试平台的其它模块中的任何此类机器人处理机的状态,所述测试平台的其它模块包含但不限于图像处理模块114和相机124。机器人构架测试环境能够执行例如处理测试请求、预订用于运行测试的机器人处理机和运行测试的动作。机器人构架测试环境112可执行包括一系列步骤的测试。每一步骤可对应于关键字或关键短语。关键字或关键短语可例如对应于存储在共享测试库模块106中、可由所述共享测试库模块访问或在所述共享测试库模块中限定的特定程序或方法。举例来说,可以存在关键字或关键短语“利用PIN认证”,其是指存储在前一段落中提及的共享测试库模块106中、可由所述共享测试库模块访问或在所述共享测试库模块中限定的特定程序或方法。机器人构架测试环境112可使用关键字或关键短语以执行共享测试库模块106的相应程序或方法并接收返回值或评估由程序或方法更新的条件。在接收到此值或评估此条件后,机器人构架测试环境112可确定停止执行还是继续执行另一测试步骤。
计算装置100可连接到网络128。网络128可以是任何已知通信网络,包含互联网、局域网(LAN)、广域网(WAN)等。一或多个用户130可经由网络128经由服务器102连接到计算装置100并操作控制应用程序104。通过连接且使用控制应用程序,用户可监测机器人处理机的活跃度且还修改控制它们的软件。服务器102可以是例如用于与用户客户端通信的具象状态传输(“REST”)。服务器102还可实施用于与用户客户端通信的服务系统架构的其它机构,包含公共对象请求代理结构(“CORBA”)、分布式组件对象型号(“DCOM”)、远程过程呼叫(“RPC”),或简单对象访问协议(“SOAP”)。
在其中多个用户共享单个自动化测试平台的一个实施例中,用户可以“预订”机器人处理机的使用以避免由来自不同用户的同时的、可能冲突的请求而导致的冲突。用户还可在完成测试之后或在确定机器人处理机不再需要之后,“取消预订”机器人处理机。然而,应理解,用户可能意外地使机器人处理器处于“已预订”状态,从而阻止其它用户使用机器人处理机。在此状况下,机器人处理机可在一段不活动时段之后自身“取消预订”,以便可供其它用户使用。
作为视觉传感器的特定版本的相机124(参见下面的传感器的一般描述)观察嵌入式系统122或测试产品120的其它部分,包含嵌入式系统122或测试产品120的2D特征或3D方面,并与图像获取模块108通信。借助于实例,相机124对3D方面的观察可以产生反映嵌入式系统122或测试产品120在嵌入式系统122的2D特征的测试期间如何响应的机械方面的图像数据。图像获取模块108又与图像处理模块114一起工作,所述图像处理模块114进一步与数据库116通信。应理解,图像处理模块114可能如在图1中所展示的实施例中与计算装置100分离,且通过图像处理接口通信,或在其它实施例中,图像处理模块114可以是计算装置100的一部分。还应理解,可以存在观察嵌入式系统122或测试产品120的其它部分的多个相机124。
以类似方式,传感器126观察嵌入式系统122或测试产品120的其它部分,包含嵌入式系统122或测试产品120的2D特征或3D方面,并与传感器数据处理模块110通信。借助于实例,传感器126对3D方面的观察可以产生反映嵌入式系统122或测试产品120在嵌入式系统122的2D特征的测试期间如何响应的机械方面的传感器信号。传感器数据处理模块110接收传感器信号并视需要执行任何处理以产生传感器数据。例如由检测二进制条件或提供数字值的传感器提供的一些传感器信号可构成传感器数据,而无需依赖于要解译传感器数据的测试的任何进一步处理。传感器数据处理模块110与数据库116通信并将数据提供到控制应用程序104,以便其可以对应于测试产品的方式解译传感器数据。传感器126可以是光传感器、视觉传感器、温度传感器、湿度传感器、运动传感器、机械传感器、压力传感器、音频传感器,或适合于受评估的嵌入式系统或测试产品的特定特性的任何其它传感器。举例来说,在其中测试产品是多功能打印装置并且测试涉及验证打印输出的某些特性的实施例中,传感器126可以是用以检测纸张的存在的光学/机械传感器,不论打印纸是双面打印还是单面打印,纸张尺寸、纸张重量、打印输出的黑色级别或打印输出的颜色,以及可能需要验证的打印输出的其它方面。在其中测试产品是3D打印机的另一实施例中,传感器126可以是用以评估打印腔室的条件的温度或湿度传感器,或用以评估打印的进度的光学传感器。在其中测试产品包含物理开关或其它压敏输入的另一实施例中,传感器126可以是评估激活此类开关或输入所需的力的触觉传感器。应理解,不同实施例可利用多于一个传感器126操作。举例来说,在其中测试产品是洗涤机的实施例中,第一传感器可以是用以评估水温的温度传感器,且第二传感器可以是用以在操作期间评估噪声等级的麦克风。另外,在一些实施例中,传感器126可连接到本地计算装置,所述本地计算装置可以是在将输入发射到计算装置100之前在本地处理输入的低功率计算装置,例如Raspberry PiTM微计算机。可以是低功率计算装置的本地计算装置可执行从传感器126接收的信号的处理以产生传感器数据。在此类实施例中,可以简化或甚至消除传感器数据处理模块110的功能。
图1的机器人处理机118可包括各种组件。图2是根据本发明的一个实施例的说明物理测试环境中的示范性机器人处理机218的组件的图式。在一些实施例中,机器人处理机218可用作结合图1所展示和描述的机器人处理机118。机器人处理机218包括由一或多个伺服电动机202、204、206和208驱动的至少一个操纵装置214。伺服电动机的数目不限于四个,且可能更多或更少。操纵装置214的性质取决于与嵌入式系统222或测试产品220的所需交互。当嵌入式系统222是触摸屏时,举例来说,操纵装置214可以是适用于按压屏幕上按钮的触控笔。当嵌入式系统222是具有物理按钮的显示器时,举例来说,操纵装置214可以是适用于按压物理按钮的触控笔。如果嵌入式系统222包含除物理按钮之外的触摸屏,那么操纵装置214可以是能够按压屏幕上按钮和物理按钮两者的一或多个触控笔。当嵌入式系统222含有其它交互方法,例如拨号盘时,操纵装置214可以是适用于旋转拨号盘的控制手柄。在其它实施例中,操纵装置214可包含多个触控笔、工具或附件,其可从中选择适当的一个用于与嵌入式系统222的所需交互。相机234可以以适当的距离、高度和角度安装在可调整三脚架230上,以观察嵌入式系统222或测试产品220的其它部分。虽然未在图2中说明,但应理解,可能存在使用多个相机的测试环境。
机器人处理机218还包含定位装置200,例如可调整支架,以确保其正确地定位成与嵌入式系统222和测试产品220交互。此外,可能存在一或多个辅助伺服电动机,例如伺服电动机210,其可具有可独立于操纵装置进行的专用任务。举例来说,伺服电动机210可经配置有硬件212,允许其提交访问卡或其它认证装置216以供测试产品220上的读取器224进行验证。访问卡或认证装置可以是单个卡或装置,或是可以表示任何其它卡或装置的帐户信息的仿真器,以消除交换卡或装置以测试不同用户帐户的需要。辅助伺服电动机是任选的,且可以由不需要执行物理动作的其它辅助装置替换。举例来说,认证装置216可以通过包含经由直接电子链路的其它手段与嵌入式系统222或读取器224介接,从而消除了对伺服电动机210执行物理动作的需要。
在一个实施例中,当机器人处理机218经历预定义但可配置的不活动时段,例如五分钟时,操纵器可以移动到特定的休息位置并关断伺服电动机202、204、206和208。这样可以在暂停期间降低伺服电动机的负载并延长其使用寿命。在接收到新命令时,机器人处理机218从休息状态唤醒并重新打开其伺服电动机以执行命令。
图3是根据本发明的一个实施例的控制应用程序304的组件的框图。在一些实施例中,控制应用程序304可被用作结合图1所展示和描述的控制应用程序104。机器人控制模块306分别管理与结合图1和2所展示和描述的机器人处理机,例如118或218,的连接和一般控制。校准模块308可用于校准机器人处理机,结合图1中所展示和描述的相机,例如124,或结合图1所展示和描述的传感器,例如126。数据库模块310管理数据库的信息和结构,例如结合图1所展示和描述的数据库116。数据库模块310可包含用户界面或用以修改数据库的信息和/或结构的其它工具。举例来说,用户界面可以提供更新数据库中的不同类型的输入字段或其它UI组件或输入现有类型的新例子的能力。最后,网络模块312管理到服务器和共享测试库模块的连接,所述服务器例如结合图1所展示和描述的服务器102,所述共享测试库模块例如结合图1所展示和描述的共享测试库模块106。这些组件全部经由用户界面314暴露给最终用户,所述组件的可能的例子在图5中展示。
图4是根据本发明的一个实施例的用于自动化测试平台的数据库416的示范性模式的图式。在一些实施例中,数据库416可用作结合图1所展示和描述的数据库116。“制造商”表420包含关于每一制造商的信息。“打印机型号”表422包含制造商和型号的限定。“硬件版本”表424包含对应于打印机型号中所使用的硬件的版本的条目。“固件版本”表426包含对应于打印机型号中所使用的固件的版本的条目。“Sq版本”表428包含对应于与打印机型号一起使用的打印管理器服务器的版本的条目。打印管理器服务器的示范性实施可以是YSoft SafeQTM服务器。“SafeQ服务器”表430包含每一打印管理器服务器的信息,在一个实施例中每一打印管理器服务器同样可以是YSoft SafeQTM服务器。“路径”表432限定移动机器人的常数。此类常数可包含特定针对于某些类型的触摸显示器的值,所述某些类型的触摸显示器例如但不限于具有电容和电阻式触摸显示器的装置。“路径部分”表432限定机器人移动的速度和停顿的常数。“MFP”(代表多功能打印机或多功能装置)表436包含打印机型号、打印管理器版本、固件版本、硬件版本和屏幕大小的限定。“流程名称”表438包含用户限定的流程的名称。每一用户限定的流程可跨不同供应商和不同装置而不同地实施。因此,“流动”表440限定用户限定的所需动作的流程,包含对来自“流程名称”的名称的识别、流程适用的特定供应商和/或装置,以及“流程步骤”表中的对应条目。“流程步骤”表442包含如“流程”表440中所提及的描述所需动作的流程的步骤的限定。步骤的每一限定可包含与其交互的特定接口元件、所需的交互、流程中的次序,和步骤的其它相关选项,其可例如包含跳过验证目标屏幕以更快地执行的能力。“屏幕”表444包含嵌入式系统的接口中的每一屏幕的限定,包含例如登录屏幕和主屏幕。“按钮”表446限定文本、标签、目标屏幕、源屏幕,且限定按钮是否是硬件按钮。“按钮放置”表448包含MFP、位置、大小和按钮的限定。“特征区”表450包含屏幕上可例如供图像处理服务使用的区域的限定。这些限定可包含文本区、图像区和具有特定目的的其它区域,例如弹出窗口区,或可进行某些类型的处理的其它区域,例如读取区。“测试结果”表452包含执行各种测试的结果的限定,包含测试名称的限定;互联网协议或其它网络地址;计时信息,例如开始、结束和持续时间;输出;格式;以及测试的最终结果或结论。“打印时间”表454包含打印作业的限定,包含作业大小、作业格式、装置和打印管理器服务器的版本管理信息,在一个实施例中,所述打印管理器服务器同样可以是YSoft SafeQTM服务器。
图5A是根据本发明的一个实施例的图3的控制应用程序的组件的示范性用户界面500的屏幕图像。如此图像中所展示,机器人控制用户界面510包含用以连接到机器人处理机的控件,以便选择用于连接的网络端口,以从机器人处理机断开连接,以及用以控制辅助伺服电动机的控件,以便在测试产品处刷卡。尽管在此示范性用户界面中按钮标记为“刷卡”,但应理解认证装置可通过不要求刷物理卡的其它方式链接到嵌入式系统222或读取器224,如先前所提及。在此情形中,“刷卡”按钮将激活必需的认证过程以获得对测试产品的访问。校准用户界面520包含用以校准机器人、校准相机和加载保存校准的控件。简单来说,相机校准确保相机处于用于采取清晰图片的最佳位置,且还可为用户提供配置相机的特性(例如,曝光设置,例如快门速度、ISO速度和光圈)的方式。结合图7到9更详细地描述机器人校准。网络用户界面530包含用以指示REST服务器响应的端口、用以指示共享测试库模块响应的端口的控件,以及用以开启和关闭连接的控件。数据库用户界面540包含用以管理图4的模式中所描述的每一表的控件。控件550准许更新存储在服务器上的控制应用程序的版本,且打开其中用户可选择的对话框并安装控制应用程序的不同版本。
注意,在此实施例中,缺少如结合图4所展示和描述的“路径”表432和如结合图4所展示和描述的“路径部分”表434的可见控件,所述“路径”表限定用于移动对应于触摸显示器的机器人的常数,且所述“路径部分”表限定机器人移动的速度和停顿的常数。通常,除非将新类型或配置的机器人处理机添加到测试平台,否则无需修改这些表。其它实施例可包含用于底部这些表的控件,其中在修改这些表时要尤其注意,或访问控件仅准许具有正确角色或权限级别的某些用户修改。
图5B是根据本发明的一个实施例的可从图5A的用户界面到达以分别管理如结合图4所展示和描述的“按钮”表446和“按钮放置”表448的示范性用户界面子屏幕560和570的屏幕图像。根据此实施例,“按钮”表包含对各种测试产品上的嵌入式系统中的按钮的限定。“按钮”表中的实例条目可包含文本:“PIN”,标签:“打开键盘”,目标屏幕:“PIN”,和源屏幕:“登录屏幕”。这将表示测试产品的嵌入式系统上的按钮,所述按钮显示在登录屏幕上,并且当按下所述按钮时,在PIN屏幕上打开键盘,以便用户可以输入PIN。“按钮放置”表可将“按钮”表中限定的按钮链接到特定打印机。具有标签:“打开键盘”的按钮的“按钮放置”表中的实例条目可包含打印机:“Konica Minolta421”,位置“x:57,y:66,z:0”,和大小“W:33,H:6”。这将指示在Konica MinoltaTM421测试产品上可在坐标x:57,y:66,z:0处发现打开键盘按钮,且按钮为33mm宽和6mm高。在此实施例中,相对于x:0,y:0,z:0来界定坐标,这对应于屏幕的左下角。
图6是根据本发明的一个实施例的用于创建数据库中用于测试的产品的新限定的步骤的流程图。虽然其它流程是可能的,但此示范性流程确保以与图4的实施例中的数据库模式一致的方式填充所有数据,并且在需要填充其它表之前将先决条件数据输入到某些表中。步骤600限定“制造商”表中的条目以表示测试产品的制造商。步骤602限定“打印机型号”表中的条目,所述“打印机型号”表表示打印机的型号且使其与其对应制造商相关联。步骤604限定“硬件版本”表中的条目,所述“硬件版本”表表示打印机型号中的硬件的版本。步骤606限定“固件版本”表中的条目,所述“固件版本”表表示打印机型号中的固件的版本。步骤608限定“Sq版本”表中的条目,所述“Sq版本”表表示打印管理器服务器的版本,在一个实施例中,例如针对打印机型号的YSoft SafeQTM服务器。步骤610限定“SafeQ服务器”表中的条目,所述“SafeQ服务器”表对应于关于将用以管理打印机的打印管理器服务器的其它信息。步骤612限定“MFP”表中的条目,所述“MFP”表包含打印机型号、打印管理器服务器版本、固件版本、硬件版本和屏幕大小的限定。用于限定MFP条目的步骤612出现在限定流程中的原因是可能存在具有相同型号但不同的打印管理器服务器版本、固件版本或硬件版本的不同多功能打印机。步骤614限定“屏幕”表中的条目,所述“屏幕”表表示测试产品中的嵌入式系统的接口上的各个屏幕。步骤616限定“按钮”表中的条目,所述“按钮”表表示对应于每一屏幕的各个按钮。步骤618限定“按钮放置”表中的条目,所述“按钮放置”表表示每一MFP中屏幕上的每一按钮的位置和大小。
在某些实施例中,可手动执行界定用于测试的新产品的流程,但应理解,步骤的子集或甚至所有步骤可以由辅助应用程序辅助或者也可以自动执行。举例来说,在具有自动训练功能的一个实施例中,控制应用程序可以使用机器人处理机和相机来通过尝试按钮并在屏幕之间记录结果和导航流而在新测试产品上导航嵌入式系统的屏幕。这将使用“屏幕”、“按钮”和“按钮放置”表中的信息填充数据库,以使至多一个人稍后适当地命名屏幕。
图7是根据本发明的一个实施例的且符合结合图5A所展示和描述的示范性用户界面的在自动化测试平台中执行校准例如118和218的机器人处理机的步骤的流程图。校准的目的是确保机器人处理机知道其相对于受测试嵌入式系统的位置。对机器人处理机的校准可以是基本自动或半自动的。开始基本自动和半自动校准方法的一般过程相同—识别根据图7的流程映射的屏幕的三个角。然而,基本校准仅涉及单次通过校准流程,而半自动校准继续进行到自动重新校准阶段。在一个实施例中,可以通过使用“尝试”功能以使机器人处理机点击嵌入式系统的屏幕上的所选按钮来验证校准结果。
步骤700确保通过使用例如对应于图5A的示范性用户界面中的510的那些机器人控件来连接机器人。步骤702用以将机器人物理地定位在测试产品的前面,使得它可以接触嵌入式系统的屏幕上的元件以及可能需要测试的任何硬件元件,例如按钮。步骤704用以激活用户界面中的“校准机器人”控件,例如图5A的示范性用户界面的部分520中所描绘的按钮。步骤706用以选择应已经例如根据图6的流程创建的测试产品。校准接口在屏幕上提供一系列提示以供用户遵循。步骤708a用以将机器人处理机导航到屏幕的左下角。步骤708b用以将机器人处理机导航到屏幕的左上角。步骤708c用以将机器人处理机导航到屏幕的右上角。
图8是引导用户完成与基本校准的步骤平行的初始手动校准的示范性半自动校准用户界面的屏幕图像。在此实施例中,机器人处理机配备有触控笔,作为操纵装置并经由键盘输入控制。应理解,可使用其它操纵装置,并且也可以使用其它形式的控制,包含可能的机器人处理机的手动定位,其可以接受手动定位输入并使用反向运动学导出伺服电动机角度。
此处通过保存校准结果来结束基本校准;用户界面提供已针对测试产品校准的机器人处理机的通知。校准结果由所映射的屏幕的三个角的x、y、z坐标值组成,所述三个坐标值限定了3D空间中的平面。在此实施例中,相对于x:0y:0z:0来界定坐标,其对应于机器人处理机中第一伺服电动机的中心。
如上所述,半自动校准涉及运行初始基本校准过程,接着是自动重新校准阶段。图9是根据本发明的一个实施例的在半自动校准方法中执行的步骤的流程图,所述半自动校准方法在初始通过图7的流程之后进行机器人处理机的自动重新校准。可视需要在图7的流程之前完成的步骤730将为测试产品设置到控制应用程序的端子连接,所述控制应用程序报告嵌入式系统的屏幕上的任何检测到的点击的(x,y)像素坐标。步骤732用于以嵌入式系统的屏幕尺寸和分辨率加载控制应用程序,其可用于将任何(x,y)像素坐标平移到屏幕上的(x1,y1)位置,以毫米为单位。步骤734用于控制应用程序使用这些信息源以使用从第一次通过半自动校准流程导出的第一映射角的数据来定位机器人处理机;而非如所映射精确地定位触控笔,机器人处理机最初开始远离屏幕(即,稍微靠近其原点位置)。在步骤736中,机器人处理机移动靠近屏幕,直到端子连接报告触碰为止。步骤738处理报告的(x,y)像素坐标且将其平移到屏幕上的物理(x1,y1)位置中,以毫米为单位。自动重新校准过程对三个映射角中的每一个重复步骤734到738。接着,步骤740使用屏幕的三个映射角的物理位置数据,且结合所报告的(x,y)像素坐标数据,重新计算屏幕的三个映射角的校正后的物理(x,y,z)位置并替换半自动校准过程的第一阶段中的先前所记录的数据。由自动重新校准过程产生的这组新数据消除了用户错误,并提供了绝对精确度,以便相对于测试产品上的嵌入式系统的屏幕定位机器人处理机。
图10是根据本发明的一个实施例的符合结合图1所展示和描述的系统的自动化测试平台中执行的图像获取和处理的步骤的流程图。自动化测试平台包含图像获取和处理,且具有辨识图像中的特征的能力,以向控制应用程序提供表示测试产品和/或嵌入式系统的行为的视觉反馈。在不具有图像分析能力的系统中,机器人可继续处理其步骤,而不会认识到特定测试产品出现问题(例如,纸盘为空,输出托盘已满,或在屏幕上出现意外警告/错误消息)。
在步骤800中,控制应用程序104请求对嵌入式系统122和/或测试产品120的图像分析。在步骤802中,相机124拍摄嵌入式系统122和/或测试产品120的图片。在步骤804中,相机124向图像获取模块108发射图像数据。在步骤806中,图像获取模块108向图像处理模块114发射信息,所述图像处理模块可以是本地的或可驻存在通过网络连接到图像处理模块的独立服务器上。接着,图像处理模块114使用以下两种技术结合已存储在数据库116中的信息(例如,屏幕限定、按钮限定、按钮放置限定等)来分析图像:(1)在步骤808中,使用描述符,其是图像中的固有区域,其可以通过训练神经网络来使用与嵌入式系统上的接口的各种屏幕有关的现有图像数据来识别、匹配或以其它方式比较图像来计算;以及(2)在步骤810中,使用光学字符辨识(“OCR”)引擎从图像中辨识并提取图示符、字符或符号。在一些实施例中,步骤808还可使用OCR引擎来提供在描述符的自动识别中使用的信息。OCR引擎可以是可通过网络访问的远程应用程序,且可由多个请求者共享。举例来说,多个计算组件可请求OCR引擎来处理OCR任务。作为响应,OCR引擎将处置所述处理,包含通过使用所有可用资源或通过指定一组有限资源,例如单个节点,来执行所请求的任务。
步骤808的描述符可在图像处理开始时计算,且进一步由神经网络重新计算,以等待对正在分析的图像的改变或者对任何现有图像数据的改变。图像的评估可包含计算或重新计算的描述符与存储在数据库116中的任何现有图像数据或可由图像处理模块114访问的任何其它资源的比较。数据库116或此类其它可访问资源可包含中央存储应用程序,其用作用于包含例如图像数据的信息的普遍可访问的数据存储库。因此,多个请求者可与数据库116或此类其它可访问资源通信并从所述数据库或此类其它可访问资源获得信息。存储在数据库116中的信息包含特定针对于接口的每一屏幕的数据,包含每一供应商的不同产品型号的每一屏幕的图像。评估可进一步包含使用概率性方法来基于来自数据库116的图像数据分析屏幕。此类方法可包含但不限于BRISK或ORB算法,其可以在描述符上操作以用于检测和匹配。所述方法可以检测图像的特定描述符,并将它们与来自数据库116的图像数据或图像处理模块114可访问的其它资源进行比较,以基于描述符识别匹配。使用此信息,上述两种技术准许图像处理模块识别机器人处理机需要与其交互的屏幕,以及是否存在机器人处理机必须从中恢复的警告、错误或其它条件。在许多情况下,描述符足以识别正确的屏幕,这意味着图像处理流程可以在步骤808之后结束。当描述符不足以识别屏幕时,流程前进到步骤810,其中图像处理模块114可以使用OCR从图像中识别和提取单词作为附加信息的来源以帮助识别正确的屏幕。
图11是根据本发明的一个实施例的可在自动化测试平台中运行的样本测试。最终用户很容易准备这样的测试,因为所使用的脚本语言由适合未经专门培训的人阅读和理解的简单的结构化语言而非复杂的计算机代码组成。测试平台使用共享测试库模块以将简单脚本转换为用于测试平台的各种组件或模块的特定命令,所述简单脚本使用由共享测试库模块中限定或可由共享测试库模块访问的关键字,所述特定命令可包含例如从传感器或相机捕获或检索信息的指令;用以执行图像数据、传感器信号或传感器数据的数据处理或分析的指令;在数据库内提交信息、从中检索信息或操纵信息的指令;或针对机器人处理机的指令。处理这些命令并且可以通过所述组件或模块的相应接口将这些命令发射到测试平台的适当组件或模块。应注意,对于测试产品上的不同供应商、打印机型号或硬件/固件版本,转换可能会有所不同。举例来说,简单表述“当利用PIN认证用户时”可涉及不同PIN屏幕或不同PIN格式,这取决于测试产品。此系统具有两个主要优点:(1)测试人员不必是具有如何使用某种测试产品的特定技术知识的工程师,只需要超越简单的学习曲线来理解脚本中使用的结构化语言,以及(2)测试平台可以通过基于存储在数据库中的产品特定信息而视需要进行转换来将相同的通用脚本应用于不同的测试产品。所述系统还优于现有的测试方法,因为它准许测试人员不仅设计和执行验证测试而且还进行校验测试。验证测试可包含检查系统的特定功能以评估它们是否适当执行并根据系统的产品规格返回预期结果。校验测试涉及不同类型的测试,这些测试更少关注合规性,而更多关注产品是否满足用户的需求。校验测试可包含评估产品的更高级别特征,例如系统的整体速度、系统随时间推移的可靠性、跨多个任务的结果的一致性,以及个别测试人员基于个人手动测试难以或不可能确定的其它区域。
自动化测试平台可能遇到可以尝试恢复的某些条件。存在两种类型的条件:(1)预期的,其中有指定的恢复路线,和(2)未预期的。预期条件的一个实例可以是输入用于对测试产品进行认证的PIN码不成功的情况,因为输入的PIN与测试产品上的预期格式不匹配。在此情况下,控制应用程序将知道错误状态,因为相机会拍摄错误窗口的图像,指示PIN码不正确、格式错误、无法识别等。在这种情况下,图像处理模块将辨识消息指示无效凭证,并且控制应用程序可以指示机器人处理机以不同格式输入PIN码。
对于未预期的条件,同样存在两种类型:(1)导致导航到嵌入式系统中的屏幕的未预期条件的种类,控制应用程序可以从所述屏幕返回到测试流程中的已知屏幕或状态,以及(2)在无任何明确恢复指令的情况下离开控制应用程序的未预期条件的种类。对于前一种状况,控制应用程序能够引导机器人处理机按下屏幕上的适当按钮以导航到适当的屏幕或状态,使得它可以继续测试流程。作为实例,如果控制应用程序试图测试打印作业#1和#3但是由于某种原因#2和#4也被选中,那么应用程序可以指示机器人处理机在继续之前取消选择#2和#4。对于后一种情况,控制应用程序可以指示机器人处理机按下屏幕上的适当“可以”或“取消”按钮以将流程重置为已知状态,并重新开始。在再次尝试仅面对相同的未预期错误条件之后,控制应用程序可以向管理员提交通知以检查机器的状态,并且视需要,在将来输入适当的恢复程序。应理解,自动化测试平台不希望总是从每一未预期的条件中恢复,因为这些条件中的至少一些可能表示测试产品中的缺陷,这些缺陷必须在测试产品中而非在控制应用程序中注意并修复。
通过提供用于嵌入式系统的自动化测试平台,本发明显著改进了关于标准测试程序的现有技术。例如,与手动测试相比,机器人处理机的一致性和速度准许以更高的体积和精度级别进行测试。另外,执行测试的结果可以更精细和完整。测试脚本完全可以在精确级别上重现,不仅在所采取的步骤方面,而且在精确定时、位置和甚至按下按钮的力的水平方面。这些测试可以确定通过其它形式的测试难以或不可能确定的某些产品质量,例如用户界面对最终用户的响应性或完成各种任务所需的时间量。最后,脚本语言的通用性和控制应用程序从某些未预期条件中恢复的能力可以提高例如跨不同的打印机型号或硬件/固件版本的灵活性,以及减少用以准备实现如先前可能的相同测试覆盖水平的总测试脚本。
关于检测实现各种任务所需的时间量,优选地实现准确的时间测量,并且当测试过程涉及多个组件(每一组件具有其自身的跟踪时间机制)时更是如此。可能有利的是跟踪组件的参考时间与本地系统时间之间的差而非调整和使用每一组件的系统时间。通过确保来自本地组件的每一测量时间与相同参考时间同步,跟踪这些差异使得可以保持时间测量的一致性。在应用程序而非系统级保持时间差异也是有利的,因为它最大限度地减少了对系统上运行的其它过程的干扰。
所属领域的技术人员将清楚本发明的各个方面的其它目标、优势和实施例,且它们在本描述内容和附图的范围内。举例来说,但非限制性地,可以重新布置结构或功能元件,或者重新排序方法步骤,以与本发明一致。类似地,根据本发明的原理可应用到即使本文中没有具体地详细描述但仍在本发明的范围内的其它实例。举例来说,本发明的原理不限于测试打印机,而可用以测试具有嵌入式系统的任何产品。

Claims (22)

1.一种用于测试嵌入式系统的特征的系统,其包括:
低功率计算装置,其通信地耦合到控制应用程序接口、传感器接口和机器人接口,其中所述低功率计算装置经配置以:
从所述传感器接口接收在所述嵌入式系统的所述特征的测试期间产生的多个传感器信号,
通过所述控制应用程序接口提供对应于所述多个传感器信号的传感器数据,
通过所述控制应用程序接口接收用于所述特征的所述测试的多个命令,且
通过所述机器人接口提供用于机器人处理机的移动的多个指令,其对应于用于所述特征的所述测试的所述多个命令中的至少一者;以及
计算装置,其通信地耦合到所述控制应用程序接口、图像处理接口和数据库接口,其中所述计算装置经配置以:
从所述控制应用程序接口接收所述传感器数据,
从所述图像处理接口接收图像数据,其对应于在所述特征的所述测试期间所捕获的所述嵌入式系统的多个图像,
从所述数据库接口接收能够对所述特征执行的多个测试,
通过所述控制应用程序接口提供用于所述特征的所述测试的多个命令。
2.根据权利要求1所述的系统,其中所述计算装置连接到网络,其中所述计算装置经配置以通过所述网络向用户发射所述测试和所述机器人处理机的状态数据。
3.根据权利要求2所述的系统,其中所述计算装置经配置以通过所述网络与用户通信且准许所述用户使用或修改在所述计算装置上运行的应用程序。
4.根据权利要求1所述的系统,其中所述低功率计算装置经配置以在通过所述控制应用程序接口提供所述传感器数据之前处理所述传感器信号。
5.根据权利要求1所述的系统,其中所述低功率计算装置经配置以在通过所述机器人接口提供所述多个指令之前处理所述多个命令。
6.根据权利要求1所述的系统,其中所述计算装置通信地耦合到传感器数据处理接口,其中所述计算装置通过所述传感器数据处理接口接收经处理的传感器数据,其对应于在所述特征的所述测试期间所捕获的传感器数据。
7.根据权利要求1所述的系统,其中所述低功率计算装置和所述计算装置中的至少一者经配置以在应用程序层级处与另一计算装置同步到相同参考时间。
8.根据权利要求1所述的系统,其中所述多个测试中的至少一者包括多个关键字,且所述计算装置经配置以将所述关键字转换成能够由所述机器人处理机执行的命令。
9.根据权利要求1所述的系统,其中所述多个测试中的至少一者包括多个关键字,且所述计算装置经配置以将所述关键字转换成命令以用于通过接口发射。
10.根据权利要求1所述的系统,其中所述传感器数据或图像数据对应于所述嵌入式系统或嵌入式系统是其一部分的测试产品的三维3D特征。
11.根据权利要求1所述的系统,其中所述特征是二维2D特征。
12.一种由低功率计算装置和计算装置执行的用于测试嵌入式系统的特征的方法,所述方法包括:
由所述低功率计算装置从传感器接口接收在所述嵌入式系统的所述特征的测试期间产生的多个传感器信号,
由所述低功率计算装置通过控制应用程序接口提供对应于所述多个传感器信号的传感器数据,
由所述低功率计算装置从控制应用程序接口接收用于所述特征的所述测试的多个命令,
由所述低功率计算装置通过机器人接口提供用于机器人处理机的移动的多个指令,其对应于用于所述特征的所述测试的所述多个命令中的至少一者;以及
由所述计算装置从所述控制应用程序接口接收所述传感器数据,
由所述计算装置从图像处理接口接收图像数据,其对应于在所述特征的所述测试期间所捕获的所述嵌入式系统的多个图像,
由所述计算装置从数据库接口接收能够对所述特征执行的多个测试,
由所述计算装置通过所述控制应用程序接口提供用于所述特征的所述测试的多个命令。
13.根据权利要求12所述的方法,其中所述计算装置连接到网络,其中所述计算装置经配置以通过所述网络向用户发射所述测试和所述机器人处理机的状态数据。
14.根据权利要求13所述的方法,其中所述计算装置通过所述网络与用户通信,接收使用或修改在所述计算装置上运行的应用程序的请求,并处理所述请求。
15.根据权利要求12所述的方法,其中所述低功率计算装置在通过所述控制应用程序接口提供所述传感器数据之前处理所述传感器信号。
16.根据权利要求12所述的方法,其中所述低功率计算装置在通过所述机器人接口提供所述多个指令之前处理所述多个命令。
17.根据权利要求12所述的方法,其中所述计算装置通信地耦合到传感器数据处理接口,其中所述计算装置通过所述传感器数据处理接口接收经处理的传感器数据,其对应于在所述特征的所述测试期间所捕获的传感器数据。
18.根据权利要求12所述的方法,其中所述低功率计算装置和所述计算装置中的至少一者在应用程序层级处与另一计算装置同步到相同参考时间。
19.根据权利要求12所述的方法,其中所述多个测试中的至少一者包括多个关键字,且所述计算装置将所述关键字转换成能够由所述机器人处理机执行的命令。
20.根据权利要求12所述的方法,其中所述多个测试中的至少一者包括多个关键字,且所述计算装置经配置以将所述关键字转换成命令以用于通过接口发射。
21.根据权利要求12所述的方法,其中所述传感器数据或图像数据对应于所述嵌入式系统或所述嵌入式系统是其一部分的测试产品的三维3D特征。
22.根据权利要求12所述的方法,其中所述特征是二维2D特征。
CN201780065066.0A 2016-10-20 2017-10-19 嵌入式系统的通用自动化测试 Active CN110226095B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662410666P 2016-10-20 2016-10-20
US62/410,666 2016-10-20
PCT/EP2017/076802 WO2018073395A1 (en) 2016-10-20 2017-10-19 Universal automated testing of embedded systems

Publications (2)

Publication Number Publication Date
CN110226095A CN110226095A (zh) 2019-09-10
CN110226095B true CN110226095B (zh) 2022-06-17

Family

ID=60182558

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780065066.0A Active CN110226095B (zh) 2016-10-20 2017-10-19 嵌入式系统的通用自动化测试

Country Status (7)

Country Link
US (1) US10997045B2 (zh)
EP (1) EP3529626A1 (zh)
JP (3) JP6845928B2 (zh)
CN (1) CN110226095B (zh)
AU (2) AU2017347687A1 (zh)
RU (1) RU2719474C1 (zh)
WO (1) WO2018073395A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10489287B2 (en) 2017-05-15 2019-11-26 Bank Of America Corporation Conducting automated software testing using centralized controller and distributed test host servers
US10223248B2 (en) * 2017-05-15 2019-03-05 Bank Of America Corporation Conducting automated software testing using centralized controller and distributed test host servers
CN109800115A (zh) * 2019-01-22 2019-05-24 山东华芯半导体有限公司 一种简易实现批量ssd断电测试的方法
CN111190828A (zh) * 2019-12-31 2020-05-22 苏州艾利特机器人有限公司 一种工业机器人自动化测试系统和方法
CN111290955B (zh) * 2020-02-18 2022-07-15 卡斯柯信号有限公司 用于地铁信号系统测试软件的非侵入式自动化测试系统
CN113450403B (zh) * 2020-03-27 2023-04-18 浙江宇视科技有限公司 热成像相机的测试方法、装置、设备和介质
CN111813658B (zh) * 2020-06-08 2022-06-28 中核武汉核电运行技术股份有限公司 一种基于人机界面的自动化规程测试系统
WO2022022757A1 (en) * 2020-07-27 2022-02-03 Y Soft Corporation, A.S. A method for testing an embedded system of a device, a method for identifying a state of the device and a system for these methods
CN114070763B (zh) * 2020-07-29 2023-09-26 富泰华工业(深圳)有限公司 基于改进的rest协议的测试方法、客户端、服务器及介质
CN113760750B (zh) * 2021-08-13 2024-04-02 深圳Tcl新技术有限公司 一种智能设备测试方法、装置、电子设备和存储介质
TW202344356A (zh) * 2021-12-21 2023-11-16 捷克商Y軟股份公司 用於機器之自動化操作之方法、設備及系統

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1359492A (zh) * 1999-01-21 2002-07-17 毕事快公司 对具有嵌入式操作系统的设备进行测试和确认的系统和方法
CN101571829A (zh) * 2009-06-19 2009-11-04 北京航空航天大学 一种实时嵌入式软件自动化闭环测试方法
CN101833498A (zh) * 2009-07-31 2010-09-15 北京伟晨豪嘉科技有限责任公司 一种基于测试脚本技术的嵌入式系统自动化检测系统
WO2010140883A2 (en) * 2009-06-02 2010-12-09 Vector Fabrics B.V. Improvements in embedded system development
CN102316129A (zh) * 2010-07-01 2012-01-11 江苏大学 一种嵌入式设备与远程数据库进行数据交换的方法
EP2725493A1 (en) * 2012-10-26 2014-04-30 Samsung Electronics Co., Ltd Automatic testing apparatus for embedded software and automatic testing method thereof

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050028133A1 (en) 2003-08-02 2005-02-03 Viswanath Ananth System and method for rapid design, prototyping, and implementation of distributed scalable architecture for task control and automation
EP1722287A1 (en) 2004-03-04 2006-11-15 NEC Corporation Data update system, data update method, date update program, and robot system
WO2005085888A1 (en) * 2004-03-05 2005-09-15 Vfs Technologies Limited Testing of embedded systems
US7555658B2 (en) * 2004-09-30 2009-06-30 Regents Of The University Of California Embedded electronics building blocks for user-configurable monitor/control networks
US8515015B2 (en) * 2008-05-09 2013-08-20 Verizon Patent And Licensing Inc. Method and system for test automation and dynamic test environment configuration
US8473898B2 (en) * 2008-07-08 2013-06-25 Synapsense Corporation Apparatus and method for building integrated distributed applications for use with a mesh network
CN101931566A (zh) * 2009-06-26 2010-12-29 英业达股份有限公司 服务器的测试装置
JP2011048714A (ja) * 2009-08-28 2011-03-10 Fujitsu Ltd テスト支援方法およびテスト支援装置
JP5415977B2 (ja) * 2010-01-28 2014-02-12 富士通フロンテック株式会社 試験装置、試験システム及び試験方法
TW201133003A (en) * 2010-03-31 2011-10-01 Wistron Corp Testing device and testing method
RU2435169C1 (ru) 2010-08-03 2011-11-27 Российская Федерация, от имени которой выступает Государственная корпорация по атомной энергии "Росатом"-Госкорпорация "Росатом" Автоматизированный комплекс для испытаний интегральных микросхем на радиационную стойкость
WO2012044262A1 (en) * 2010-09-30 2012-04-05 The Thailand Research Fund Embedded system design, programming, and simulation architecture
US20130127904A1 (en) 2011-11-18 2013-05-23 Andrew P. Dove Automatically Displaying Measurement Data Acquired by a Measurement System on a Mobile Device
US8806280B2 (en) * 2012-02-27 2014-08-12 Microsoft Corporation APIs to test a device
WO2013169728A2 (en) 2012-05-07 2013-11-14 Flextronics Ap, Llc Universal device multi-function test apparatus
US20140006867A1 (en) * 2012-06-29 2014-01-02 National Instruments Corporation Test Executive System With Process Model Plug-ins
US9015654B2 (en) 2012-08-13 2015-04-21 Bitbar Technologies Oy System for providing test environments for executing and analysing test routines
WO2014068368A1 (en) 2012-10-30 2014-05-08 Freescale Semiconductor, Inc. Method and apparatus for at-speed scan shift frequency test optimization
CN203217048U (zh) * 2013-05-10 2013-09-25 河海大学 一种线阵ccd器件的嵌入式系统测试分析平台
JP2014236476A (ja) * 2013-06-05 2014-12-15 株式会社日立システムズ 情報処理装置、機器設定システム、機器設定装置、機器設定方法、およびプログラム
JP2015191366A (ja) 2014-03-27 2015-11-02 富士通フロンテック株式会社 試験装置、試験方法、及び試験プログラム
CN103944653A (zh) * 2014-04-01 2014-07-23 无锡市同翔科技有限公司 一种针对低功率射频电路的测试方法及装置
KR102197068B1 (ko) 2014-06-16 2020-12-30 삼성전자 주식회사 Soc, soc 테스트 방법 및 테스트 시스템
JP6297937B2 (ja) 2014-07-01 2018-03-20 日立オートモティブシステムズ株式会社 自動車用電子制御ユニットの検査システム
JP6415190B2 (ja) * 2014-09-03 2018-10-31 キヤノン株式会社 ロボット装置、ロボット制御プログラム、記録媒体、およびロボット装置の制御方法
US9494651B2 (en) 2015-01-08 2016-11-15 Honeywell Limited Method for testing embedded systems
US10142596B2 (en) * 2015-02-27 2018-11-27 The United States Of America, As Represented By The Secretary Of The Navy Method and apparatus of secured interactive remote maintenance assist
GB2537406B (en) 2015-04-16 2017-10-18 Oxis Energy Ltd Method and apparatus for determining the state of health and state of charge of lithium sulfur batteries

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1359492A (zh) * 1999-01-21 2002-07-17 毕事快公司 对具有嵌入式操作系统的设备进行测试和确认的系统和方法
WO2010140883A2 (en) * 2009-06-02 2010-12-09 Vector Fabrics B.V. Improvements in embedded system development
CN101571829A (zh) * 2009-06-19 2009-11-04 北京航空航天大学 一种实时嵌入式软件自动化闭环测试方法
CN101833498A (zh) * 2009-07-31 2010-09-15 北京伟晨豪嘉科技有限责任公司 一种基于测试脚本技术的嵌入式系统自动化检测系统
CN102316129A (zh) * 2010-07-01 2012-01-11 江苏大学 一种嵌入式设备与远程数据库进行数据交换的方法
EP2725493A1 (en) * 2012-10-26 2014-04-30 Samsung Electronics Co., Ltd Automatic testing apparatus for embedded software and automatic testing method thereof
CN103793323A (zh) * 2012-10-26 2014-05-14 三星电子株式会社 嵌入式软件的自动测试装置及其自动测试方法

Also Published As

Publication number Publication date
JP2021108130A (ja) 2021-07-29
CN110226095A (zh) 2019-09-10
US20180113774A1 (en) 2018-04-26
JP2020501221A (ja) 2020-01-16
WO2018073395A8 (en) 2019-06-20
BR112019008074A2 (pt) 2019-07-02
RU2719474C1 (ru) 2020-04-17
WO2018073395A1 (en) 2018-04-26
EP3529626A1 (en) 2019-08-28
AU2023229503A1 (en) 2023-09-28
JP2023082189A (ja) 2023-06-13
AU2017347687A1 (en) 2019-05-23
JP6845928B2 (ja) 2021-03-24
US10997045B2 (en) 2021-05-04

Similar Documents

Publication Publication Date Title
CN110226095B (zh) 嵌入式系统的通用自动化测试
CN108959068B (zh) 软件界面测试方法、设备及存储介质
US8848088B2 (en) Product identification using mobile device
WO2016206113A1 (en) Technologies for device independent automated application testing
JP2013140563A (ja) 印刷システム、画像形成装置及び方法
US10679060B2 (en) Automatic generation of user interfaces using image recognition
JP5740634B2 (ja) 自動操作システム及び操作自動化方法
US10210390B2 (en) Installation of a physical element
US20100153072A1 (en) Information processing apparatus, information processing system, and computer readable medium
JP2005275439A (ja) Ui設計評価方法及び装置
US20230230337A1 (en) A Method for Testing an Embedded System of a Device, a Method for Identifying a State of the Device and a System for These Methods
CN111169164B (zh) 用于检查物品的印刷的设备和方法
BR112019008074B1 (pt) Sistema e método para testar um recurso de um sistema integrado
US11958198B2 (en) Predictive instruction text with virtual lab representation highlighting
US11070716B2 (en) Image sensor system, image sensor, data generation method of image sensor in image sensor system, and non-transitory computer-readable recording medium
US8775558B1 (en) Device and method for automation via image-based user interfaces
CN116974622A (zh) 版本修改记录生成方法、装置、电子设备和存储介质
CN117349181A (zh) 软件测试方法、装置、可读存储介质和电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant