用于自动化软件应用测试过程的方法和系统技术方案

技术编号:17746131 阅读:26 留言:0更新日期:2018-04-18 19:36
本发明专利技术涉及一种用于根据至少一个测试场景在至少一个TV设备(18)上测试交互应用的方法和系统。测试场景通过与该至少一个TV设备(18)分离的测试驱动系统(14)来运行和监控,其中,测试场景包括一系列用户交互步骤以及在指定用户交互步骤之后要实现的应用和/或至少一个TV设备(18)的至少一个目标状态;该方法包括以下步骤:a.将测试定义助手库(15)集成到交互应用中,其中,测试定义助手库(15)被配置为获取有关交互应用和/或至少一个TV设备(18)的状态的信息;b.向至少一个TV设备(18)提供修改后的交互应用;c.运行至少一个测试场景,其中,测试驱动系统(14)在至少一个TV设备(18)上非透明地执行一系列用户交互步骤;以及d.将测试定义助手库获取的有关交互应用和/或至少一个TV设备的状态的信息与在指定用户交互步骤之后的至少一个目标状态相比较。

【技术实现步骤摘要】
【国外来华专利技术】用于自动化软件应用测试过程的方法和系统
本专利技术涉及一种用于根据至少一个测试场景在至少一个TV设备上测试交互应用的方法和系统。
技术介绍
连接的TV设备近来正快速普及,并且已存在大量用于TV设备的交互应用。每一交互应用在发布生产之前都必须适当测试,以确保所有执行路径运行正常,覆盖边缘情况,并且该应用程序与目标平台上的所有TV设备完全兼容。手动测试交互应用存在许多缺点,除了因人为过失导致的潜在错误外,还具有上市时间长、QA团队和测试设备的成本的增加等。已知的自动测试方法(诸如,如美国8185877B1所述)无法用于在TV设备上的交互应用的测试。因此,TV设备的测试需要技术娴熟的技术员,工作流程和开发周期的变化对交互应用开发模式提出了许多的条件和限制。
技术实现思路
鉴于此,本专利技术的目的是提供一种用于在TV设备上测试交互应用的方法和系统,从而提供一种简单并且用户友好的方式来定义和执行测试场景。该目的通过独立权利要求的特征来解决。优选实施例在从属权利要求中进行了描述。根据本专利技术,测试场景通过与至少一个TV设备分离的测试驱动系统来运行和监控。测试场景包括一系列用户交互步骤以及在指定用户交互步骤之后要实现的应用和/或至少一个TV设备的至少一个目标状态。该方法包括以下进一步的步骤:a.将测试定义助手库集成到交互应用中,其中,测试定义助手库被配置为获取有关交互应用和/或至少一个TV设备的状态的信息;b.向至少一个TV设备提供修改后的交互应用;c.运行至少一个测试场景,其中,测试驱动系统在至少一个TV设备上非透明地执行一系列用户交互步骤;以及d.将测试定义助手库获取的有关交互应用和/或至少一个TV设备的状态的信息在与指定用户交互步骤之后的至少一个目标状态相比较。首先解释一下本专利技术中所使用的一些术语。在下文中,术语“TV设备”用来指电视或与电视连接使用、以在电视上显示图像和/或视频内容的设备。此种TV设备的实例包括但不限于:电视机、机顶盒、或其他能够广播或传输图像和/或视频内容至TV的设备,诸如,口袋PC(PCstick)、游戏机、广播设备、多媒体设备、流媒体设备、电话、平板电脑以及其他移动设备或其他具有屏幕发送能力的设备。大多数目前的TV设备平台支持可使用设备制造商提供的常用网络技术或SDK、或定制软件建立的交互应用。术语“交互应用”是指可在TV设备上运行的任何一种应用。在本专利技术的含义内,交互应用特别地包括可从设备制造商门户安装的应用以及补充TV频道的应用。来自第一组的应用在下文中称为SmartTV应用。来自第二组的应用在不同的国家适用不同的技术标准,其中,现行技术标准为混合广播/宽带TV(HbbTV)。来自第二组的应用在下文中称为广播应用。应当认识到,本专利技术支持对广播应用和SmartTV应用的测试。在本专利技术中,术语“目标状态”是指在交互应用和/或TV设备正常运行的情况下,在对应的指定用户交互步骤之后期望的交互应用和/或TV设备的状态。测试驱动系统(TDS)以对正在测试的应用和/或TV设备非透明的方式来运行测试场景。术语“非透明的”在本文中是指用户交互步骤或一系列用户交互步骤执行的应用和/或TV设备不能区别来自TDS的用户交互步骤和来自终端用户的常规(即,手动)用户输入信号。TDHL集成到交互应用中。在本专利技术中,术语“修改后的交互应用”用以表示包括测试定义助手库的交互应用。应当认识到,将TDHL集成至应用的过程非常简单,常常仅需要1-4行代码。例如,如果是使用Web技术来建立的TV应用,则TDHL以及唯一应用标识(UAID)可通过添加脚本标签集成至应用的每一HTML页面。如果是使用其他技术来建立的应用,则这通常意味着包括库并且执行预定义初始化调用来越过该UDID。应当认识到,TDHL是一款制作非常精细的软件,通常对应用的整体运行没有任何影响或影响非常小。因为TDHL通常对应用没有提出任何条件,因此开发人员不用对应用代码进行任何调整,即开发过程可直接忽略TDHL的存在。应当认识到,在一些实施例中,TDS可实现利用UAID将TDHL自动注入应用,而无需开发人员的手动介入。就在开发人员对应用进行签字移交进行测试之前,就将TDHL注入至应用。TDHL可在app运行的设备和TDS之间创建持久性的数据连接。但是,通常并非一直都需要持久性的数据连接。在一些实施例中,TDHL可被配置为持续收集测试相关结果并且在数据连接可用之后一次性将结果传送至TDS。优选地,该TDHL作为用户输入和应用之间的中间人。在运行过程中,TDHL可维持至TDS的持久性的或非持久性的连接,从而实时提供应用运行内部相关的信息。TDS可指导TDHL对应用各UI元件及其非视觉特性进行检查,从而执行测试。本专利技术的主要思路之一是将测试定义助手库集成到交互应用中,其中,测试定义助手库被配置为获取有关交互应用和/或至少一个TV设备的状态的信息。因此,本专利技术建议修改待测试的交互应用。直接向交互应用提供获取有关交互应用和/或至少一个TV设备的状态的信息的功能。而不必从交互应用“外部”监控该交互应用的状态,例如,通过捕获和分析TV设备应用的显示输出。换言之,相关信息直接由集成至交互应用的TDHL获取并且可转发至测试驱动系统进行进一步的分析。这极大地简化了测试过程,原因在于,TDS可以很容易地被配置为在每一设备上监督测试执行、收集每一设备的结果并汇编成综合报告。本专利技术的另一优点是涉及TDS,该TDS被配置为在至少一个TV设备上非透明地执行一系列用户交互步骤。由于非透明性,因此TV设备不能区别TDS产生的用户交互步骤和终端用户产生的常规用户输入信号。这对于提供与TV设备“真实操作场景”没有区别的实际测试场景是至关重要的。在本专利技术中,已做出努力使TV设备的自动化测试更加容易实现并且更为未获得过任何技术知识的个人所理解。针对测试过程本身,应当认识到,执行测试的人员无需深入了解应用的内部。测试操作员只需要了解应用的规范,即预期行为以及对特定用户行为的响应。测试操作员可以借助于可选地设置的图形用户界面(GUI)自行决定在任意TV设备上建立一系列测试案例。进而在准备好测试案例之后,可安排在许多TV设备(应用所针对的)上进行独立地执行。在优选实施例中,测试定义助手库获取的数据被传输至测试驱动系统,其中,在步骤d中的比较优选地通过测试驱动系统来执行。因此,可有效分析并进一步处理有关应用和TV设备的信息。优选地,测试定义助手库获取的有关交互应用和/或至少一个TV设备的状态的信息包括下面中的至少一个:TV设备标识值;有关交互应用的运行对象的信息;有关交互应用的视图对象的信息;有关交互应用引起的数据流量的信息;交互应用的控制台输出;操作系统运行变化;和/或共享的存储器状态。获取一个或多个以上说明的数据,从而生成有关交互应用和/或TV设备的状态的精确分析。进一步优选的是,测试驱动系统包括翻译模块,以将测试场景的用户交互步骤翻译成适于至少一个TV设备中每一个的用户输入信号。该交互TV应用可以为SmartTV应用或广播应用,其中,测试驱动系统优选地被配置为在至少一个TV设备上自动安装或提供修改后的交互应用。利用能够自动向至少一个TV设备提供修改后的交互应用的测试驱动系统的思路特别有利,原因在于其极大本文档来自技高网...
用于自动化软件应用测试过程的方法和系统

【技术保护点】
一种用于根据至少一个测试场景在至少一个TV设备(18)上测试交互应用的方法,其中,所述测试场景通过与所述至少一个TV设备(18)分离的测试驱动系统(14)来运行和监控,其中,所述测试场景包括一系列用户交互步骤以及在指定用户交互步骤之后要实现的所述应用和/或所述至少一个TV设备(18)的至少一个目标状态;所述方法包括以下步骤:a.将测试定义助手库(15)集成到所述交互应用中,其中,所述测试定义助手库(15)被配置为获取有关所述交互应用和/或所述至少一个TV设备(18)的状态的信息;b.向所述至少一个TV设备(18)提供修改后的交互应用;c.运行所述至少一个测试场景,其中,所述测试驱动系统(14)在所述至少一个TV设备(18)上非透明地执行所述一系列用户交互步骤;以及d.将由所述测试定义助手库(15)获取的有关所述交互应用和/或所述至少一个TV设备(18)的状态的信息与在所述指定用户交互步骤之后的所述至少一个目标状态相比较。

【技术特征摘要】
【国外来华专利技术】2015.05.12 US 62/160,0121.一种用于根据至少一个测试场景在至少一个TV设备(18)上测试交互应用的方法,其中,所述测试场景通过与所述至少一个TV设备(18)分离的测试驱动系统(14)来运行和监控,其中,所述测试场景包括一系列用户交互步骤以及在指定用户交互步骤之后要实现的所述应用和/或所述至少一个TV设备(18)的至少一个目标状态;所述方法包括以下步骤:a.将测试定义助手库(15)集成到所述交互应用中,其中,所述测试定义助手库(15)被配置为获取有关所述交互应用和/或所述至少一个TV设备(18)的状态的信息;b.向所述至少一个TV设备(18)提供修改后的交互应用;c.运行所述至少一个测试场景,其中,所述测试驱动系统(14)在所述至少一个TV设备(18)上非透明地执行所述一系列用户交互步骤;以及d.将由所述测试定义助手库(15)获取的有关所述交互应用和/或所述至少一个TV设备(18)的状态的信息与在所述指定用户交互步骤之后的所述至少一个目标状态相比较。2.根据权利要求1所述的方法,其特征在于,由所述测试定义助手库(15)获取的数据被传输至所述测试驱动系统(14),其中,在步骤d中的所述比较优选由所述测试驱动系统(14)来执行。3.根据权利要求1或2所述的方法,其特征在于,由所述测试定义助手库(15)获取的有关所述交互应用和/或所述至少一个TV设备(18)的状态的信息包括以下至少之一:TV设备标识值;有关所述交互应用的运行对象的信息;有关所述交互应用的视图对象的信息:有关所述交互应用引起的数据流量的信息:所述交互应用的控制台输出;操作系统运行时间变化;和/或共享的存储器状态。4.根据权利要求1至3中的一项所述的方法,其特征在于,所述测试驱动系统(14)包括将所述测试场景的所述用户交互步骤翻译成适于所述至少一个TV设备(18)中的每一个的用户输入信号的翻译模块(19)。5.根据权利要求1至4中的一项所述的方法,其特征在于,所述测试驱动系统(14)优选被配置为在所述至少一个TV设备(18)上自动安装或提供所述修改后的交互应用。6.根据权利要求5所述的方法,其特征在于,所述交互应用为广播应用;其中,所述测试驱动系统(14)向所述至少一个TV设备(18)提供电视信号,优选为DVB信号;其中,所述电视信号优选被适配为向所述至少一个TV设备(18)提供所述修改后的交互应用。7.根据权利要求1至6中的一项所述的方法,其特征在于,所述测试驱动系统(14)包括用于在所述至少一个TV设备(18)上非透明地执行所述一系列用户交互步骤的执行单元(20),其中,所述执行单元(20)优选包括红外发射器、无线电波发送器和/或网络连接模块。8.根据权利要求1至7中的一项所述的方法,其特征在于,所述测试驱动系统(14)被配置为拦截所述至少一个TV设备(18)的网络流量,以提供所述交互TV应用请求的预定义版本的网络资源。9.一种用于定义在根据权利要求1至8中的一项所述的方法中使用的测试场景的方法,其中,所述方法使用参考TV设备(18)并且包括以下步骤:a...

【专利技术属性】
技术研发人员:卢卡斯·克罗克塔拉斯·佩列沃尔斯基米尔科·内德利科维奇
申请(专利权)人:麦纳斯有限公司
类型:发明
国别省市:捷克,CZ

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1