CN110704327B - 一种pet-ct系统控制软件自动化测试的辅助方法 - Google Patents

一种pet-ct系统控制软件自动化测试的辅助方法 Download PDF

Info

Publication number
CN110704327B
CN110704327B CN201910965312.9A CN201910965312A CN110704327B CN 110704327 B CN110704327 B CN 110704327B CN 201910965312 A CN201910965312 A CN 201910965312A CN 110704327 B CN110704327 B CN 110704327B
Authority
CN
China
Prior art keywords
control
attribute information
controls
pet
interface
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
CN201910965312.9A
Other languages
English (en)
Other versions
CN110704327A (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.)
Jiangsu Sinogram Medical Technology Co ltd
Original Assignee
Jiangsu Sinogram Medical 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 Jiangsu Sinogram Medical Technology Co ltd filed Critical Jiangsu Sinogram Medical Technology Co ltd
Priority to CN201910965312.9A priority Critical patent/CN110704327B/zh
Publication of CN110704327A publication Critical patent/CN110704327A/zh
Application granted granted Critical
Publication of CN110704327B publication Critical patent/CN110704327B/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/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/60ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
    • 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

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Epidemiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明属于软件技术领域,尤其涉及一种PET‑CT系统控制软件自动化测试的辅助方法。该辅助方法包括:101、针对待进行自动化测试的PET‑CT系统控制软件,辅助工具搜索PET‑CT系统控制软件的所有控件;102、辅助工具判断每一个控件是否均具有属性信息;若否,则按照预定规则为不具有属性信息的控件设置唯一的属性信息;103、辅助工具判断所有控件中是否存在自定义控件,若存在,则判断每一个自定义控件是否均实现将属性信息暴露的接口;若否,则为未实现接口的自定义控件实现用于将属性信息暴露的接口。该辅助方法能解决属性信息填充和自定义控件实现相关接口的问题,为自动化测试打好基础。

Description

一种PET-CT系统控制软件自动化测试的辅助方法
技术领域
本发明属于软件技术领域,尤其涉及一种PET-CT系统控制软件自动化测试的辅助方法。
背景技术
PET-CT是一种结合了PET和CT的核医学影像设备。其中,PET(PositronEmissionTomography,正电子发射断层显像)负责采集具有功能显像功能的PET序列;CT(X-ray Computed Tomography,X射线断层扫描显像)负责采集具有结构显像功能的CT序列。在PET、CT两个主要硬件设备之上,存在一个系统控制软件,将这两者结合起来,协同工作,完成PET-CT作为一个整体的采集、成像功能。
作为PET-CT这种大型医疗设备的控制软件,PET-CT系统控制软件运行在专为PET-CT设计的外部工作站上,负责控制整机各硬件单元,调动各硬件单元协同工作,故软件功能较为复杂。PET-CT设备通常情况下的服役时间在10年以上。服役期间软件版本更新要求每个新版本均经过全面测试,避免更新后故障。因PET-CT属于医疗设备,其控制软件必须稳定、可靠。针对每个软件版本,都要进行完整全面的测试,确保不仅更新、更改部分功能实现正常、稳定、可靠,也要保证其他没有被修改的功能同样工作正常。因此,PET-CT系统控制软件具有功能多样、复杂,生命周期长、回归测试工作量大,对稳定性、可靠性要求高的特点。PET-CT系统控制软件的开发、测试过程,必须经过谨慎的规划。其中测试部分更应覆盖全面、与研发紧密结合。而考虑到该软件系统如此复杂,如仅仅依赖传统的手工测试,是无法及时、有效、全面的完成测试并满足测试覆盖率要求的。因此,有效的开展自动化测试,对保证软件产品质量至关重要。
发明内容
(一)要解决的技术问题
针对现有存在的技术问题,本发明提供一种PET-CT系统控制软件自动化测试的辅助方法,能解决属性信息填充和自定义控件实现相关接口的问题,为自动化测试打好基础。
(二)技术方案
本发明提供一种PET-CT系统控制软件自动化测试的辅助方法,包括:
101、针对待进行自动化测试的PET-CT系统控制软件,辅助工具搜索所述PET-CT系统控制软件的所有控件;
102、所述辅助工具判断每一个控件是否均具有属性信息;若存在不具有属性信息的控件,则按照预定规则为不具有属性信息的控件设置唯一的属性信息;所述属性信息为自动化测试所需的属性信息;
103、所述辅助工具判断所有控件中是否存在自定义控件,若存在,则判断每一个自定义控件是否均实现将属性信息暴露的接口;若否,则为未实现所述接口的自定义控件实现用于将属性信息暴露的接口,以使调整后的所有控件进行自动化测试处理。
进一步地,还包括:
若自动化测试后的PET-CT系统控制软件待进行发布,则所述辅助工具将第一控件的属性信息移除,所述第一控件为自动化测试前的所有控件中不具有属性信息的控件;以及
所述辅助工具将第二控件的接口移除,所述第二控件为自动化测试前的所有自定义控件中未实现所述接口的自定义控件;以使待发布的PET-CT系统控制软件的所有控件与所述自动化测试之前的控件的设置一致。
进一步地,所述步骤101之后,所述步骤102之前,所述方法还包括:
101-1、所述辅助工具将搜索的所有控件生成一棵语法树,所述语法树中每一个节点对应控件的代码中的一个元素,所述节点的属性信息表示所述节点的元素在所述系统控制软件代码中的功能;
101-2、所述辅助工具保存所述语法树,并建立所述语法树的备份语法树;
相应地,所述步骤102和步骤103中是对所述语法树进行处理。
进一步地,所述步骤102还包括:
判断具有属性信息的控件的属性信息是否符合预定规则;
若存在不符合的控件,则修改不符合预定规则的控件的属性信息,使得修改后的控件的属性信息符合所述预定规则;
如果按预定规则生成的控件的属性信息的字符串间有重复,则自动为每个字符串添加用于去除重复的后缀。
进一步地,所述步骤103中的所述辅助工具判断所有控件中是否存在自定义控件,包括:
所述辅助工具根据所述系统控制软件的编程语言和用户界面实现框架、所述系统控制软件依托的操作系统,判断每一个控件是否属于自定义控件;
或者,
所述辅助工具根据所述系统控制软件的编程语言和用户界面实现框架、所述系统控制软件依托的操作系统,判断所述备份语法树中每一个控件是否属于自定义控件。
进一步地,还包括:
所述辅助工具遍历所有控件并完成修改之后,向用户发出提示信息,所述提示信息为用于提示进行自动化测试的信息,或者所述提示信息为编译修改错误的信息。
进一步地,还包括:所述辅助工具根据处理后的语法树,生成一个包含所有控件的属性信息的文件,以使测试人员基于所述文件生成测试脚本。
进一步地,所述属性信息包括ID和Name;
所述ID生成的规则包括:控件类型_控件显示字符的拼音缩写_控件所在页面;
所述Name生成的规则包括:控件显示字符的拼音缩写_控件所在页面。
本发明还提供一种用于辅助PET-CT系统控制软件自动化测试的装置,包括:
搜索单元,用于对待进行自动化测试的PET-CT系统控制软件,搜索所述PET-CT系统控制软件的所有控件;
处理单元,用于判断每一个控件是否均具有属性信息;若存在不具有属性信息的控件,则按照预定规则为不具有属性信息的控件设置唯一的属性信息;所述属性信息为自动化测试所需的属性信息;
判断所有控件中是否存在自定义控件,若存在,则判断每一个自定义控件是否均实现将属性信息暴露的接口;若否,则为未实现所述接口的自定义控件实现用于将属性信息暴露的接口,以使调整后的所有控件进行自动化测试处理。
本发明还提供一种PET-CT系统,包括上述方案中所述的用于辅助PET-CT系统控制软件自动化测试的装置,所述装置用于辅助所述PET-CT系统进行自动化测试。
(三)有益效果
本发明提供一种PET-CT系统控制软件自动化测试的辅助方法和用于辅助PET-CT系统控制软件自动化测试的装置,既能解决属性信息填充和自定义控件实现相关接口的问题,为自动化测试打好基础;又能在测试完成后、产品发布前,快速、安全、全面的将这些只为测试服务的信息去掉,提高产品安全性。
本发明中的辅助工具根据处理后的备份语法树,生成一个包含所有控件的属性信息的文件,以使测试人员基于所述文件生成测试脚本。后续的自动化脚本完全可以利用该测试脚本获取被测试产品界面上的控件,不必手动输入需要获取的控件的ID、Name等属性信息。通过使用本发明的辅助工具,可使被测试产品的控件具有完整的、无重复的属性信息,并且所有必需的属性信息均可正常暴露给外部代码,供自动化测试脚本使用,极大的提高了自动化测试的可行性。
附图说明
图1为本发明提供的PET-CT系统控制软件自动化测试的辅助方法的整体流程图;
图2为本发明提供的PET-CT系统控制软件自动化测试的辅助方法的具体流程图。
具体实施方式
为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。
为了更好的理解本发明的方案,以下对现有技术的自动化测试进行说明如下:
在自动化测试范畴中,应用最广泛的一类是软件界面自动化测试(以下简称为自动化测试)。之所以应用广泛,是因为自动化测试既具有利用计算机完成工作的高效性,又保留了界面测试的直观性,非常利于发现与用户直接相关的问题、提高用户体验。目前,大多数自动化测试方法的基本思路是:
(1)获取被测试软件元素——控件(应用程序界面控件、Web页面控件);
(2)针对控件编写测试脚本;
(3)执行测试脚本,脚本执行过程中记录关键结果和异常(截图、异常信息等);
(4)依据预先设置的条件,判断脚本执行结果是否符合预期;
(5)自动生成bug(可选功能);
(6)生成脚本执行结果报告。
其中步骤(1)最为关键,能否精确获取控件是自动化测试的核心。
但在现实情况中,精确地获取软件界面上的所有控件并不容易。尤其是自定义控件,多数自动化框架和工具均无法获取。其背后的根本原因,一方面是软件界面上的各种控件缺少相关属性,如ID、Name、Class等等,另一方面是自定义控件并未实现相关的软件编程接口,不能将控件的属性信息暴露出来,供外部代码使用。
然而,对界面上所有控件按照统一的规则设置属性信息、为有必要的自定义控件实现特定接口也并不容易。现代软件产品的规模不断增大,尤其是PET-CT系统控制软件这类的大型软件,可能有几百个控件,每个控件又可能包含子控件,分布在软件的各模块中,给所有这些控件按照统一规则设置属性、实现接口是极其繁琐的工作。使用手工编码的方式实现这些,属性设置的命名方式往往变得不统一、接口实现方式也不尽相同,给自动化测试脚本获取界面控件带来极大障碍。
此外,针对控件识别率低这个问题,很多自动化测试工具也提出了一些应对措施。如对能识别但由于缺少ID、Name等属性信息、相互间无法区分的控件,尝试获取他们的所在窗口、位置等更多信息,据此加以区分;对无法识别的自定义控件,只能“记住”该控件在显示器上所在位置,将鼠标移动至该位置再触发相应操作。但实践证明,这些措施在实际应用中收效甚微。依靠非标志性属性区分控件,在同一窗口下的同类型控件往往仍然难以区分。依靠位置寻找控件,要求每次被测试程序运行时界面及各控件位置必须完全一致,一旦控件尺寸有变化或者显示器分辨率有变化,依赖位置寻找便会失效。由于以上原因,多数自动化测试在控件获取这一步便遇到极大困难,导致自动化测试无法进一步开展。
PET-CT系统控制软件几乎具有所有上述对自动化测试不利的因素。尽管PET-CT已有几十年的发展历史,但在医疗影像设备中仍属新兴事物,故各种功能仍处于不断发展之中。因此,系统控制软件的功能也在不断调整,软件界面功能也在不断变化和丰富。在PET-CT系统控制软件的研发初期,界面功能往往面临多个“设计-实现-推翻-再设计”的过程,在此期间由于界面元素尚未完全确定,往往无法为每个元素赋予完整的属性值。而当功能及相关元素确定后,研发人员又忙于实现后续功能、无暇将自动化测试所需的元素相关属性补充完整。以致经历几次迭代后,软件中就已经积累了大量缺乏属性信息的元素。此外,由于功能复杂,界面开发框架提供的标准控件往往无法满足需求,故PET-CT系统控制软件中还存在大量自定义控件。
另一方面,作为医疗设备的系统控制软件,系统安全性也尤为重要。软件系统发布后,如果界面各元素信息仍处于暴露的状态,使外部代码能方便的获取,便给某些利用这些信息的恶意代码留下可乘之机,有可能会产生安全隐患。
实施例1
本实施例提供一种PET-CT系统控制软件自动化测试的辅助方法,如图1所示,包括:
针对待进行自动化测试的PET-CT系统控制软件,辅助工具搜索所述PET-CT系统控制软件的所有控件;
所述辅助工具判断每一个控件是否均具有属性信息;若存在不具有属性信息的控件,则按照预定规则为不具有属性信息的控件设置唯一的属性信息;所述属性信息为自动化测试所需的属性信息;
所述辅助工具判断所有控件中是否存在自定义控件,若存在,则判断每一个自定义控件是否均实现将属性信息暴露的接口;若否,则为未实现所述接口的自定义控件实现用于将属性信息暴露的接口,以使调整后的所有控件进行自动化测试处理。
进一步地,若自动化测试后的PET-CT系统控制软件待进行发布,则所述辅助工具将第一控件的属性信息移除,所述第一控件为自动化测试前的所有控件中不具有属性信息的控件;以及
所述辅助工具将第二控件的接口移除,所述第二控件为自动化测试前的所有自定义控件中未实现所述接口的自定义控件;以使待发布的PET-CT系统控制软件的所有控件与所述自动化测试之前的控件的设置一致。
实施例2
本实施例提供一种具体的PET-CT系统控制软件自动化测试的辅助方法,如图2所示,包括:
101、针对待进行自动化测试的PET-CT系统控制软件,辅助工具搜索所述PET-CT系统控制软件的所有控件。
优选地,在步骤101之前,获取整个项目的代码,对其进行遍历,生成整个项目代码的语法树。步骤101是针对整个项目代码的语法树进行搜索的。其中,编译器对代码进行识别、控制也是通过语法树来实现的,故生成语法树的算法较为成熟。此外,有些编译器,如微软公司的Roslyn,是向用户开放语法树的。故针对此类的编译器,辅助工具可直接利用编译器提供的语法树,而不必自己生成。
101-1、所述辅助工具将搜索的所有控件生成一棵语法树,所述语法树中每一个节点对应控件的代码中的一个元素,所述节点的属性信息表示所述节点的元素在所述系统控制软件代码中的功能;
101-2、所述辅助工具保存所述语法树,并建立所述语法树的备份语法树。
具体地,所述语法树建立完成后,即可方便的在其中查找、修改所需元素。此外,所述语法树会被保存,不会被直接修改。所有对语法树的修改都会生成被修改部分的备份,即所述语法树的备份语法树,目的是方便还原。一旦发现修改出现问题,即可利用这些备份语法树还原至所需的版本。
相应地,下述步骤102和步骤103中是对所述语法树进行处理。
所述备份语法树中,只包含了对应控件元素的节点,这些节点包含众多属性,其中比较主要的属性有:
(1)编程语言属性:与编程语言的语法处理有关的属性,包括说明该节点对应的元素属于编程语言语法中的哪一类,编译器处理该节点的元素时该如何解释。
(2)位置属性:与编译器附加功能有关的属性,如该节点对应元素在源代码文件中位于第几行、第几列,编译器利用这个属性实现如语法错误、编译错误提示等功能,使用户能明确知道出现错误的代码的位置。本发明利用位置属性来定位需要修改的代码。
(3)显示属性:与控件元素如何显示有关的属性。这些属性包括但不限于ID、Name、Class Name、Initial Position、Width、Height。
102、所述辅助工具判断每一个控件是否均具有属性信息;若存在不具有属性信息的控件,则按照预定规则为不具有属性信息的控件设置唯一的属性信息;所述属性信息为自动化测试所需的属性信息;
还判断具有属性信息的控件的属性信息是否符合预定规则;
若存在不符合的控件,则修改不符合预定规则的控件的属性信息,使得修改后的控件的属性信息符合所述预定规则。
其中,所述属性信息包括ID和Name;
所述ID生成的规则包括:控件类型_控件显示字符的拼音缩写_控件所在页面;
所述Name生成的规则:控件显示字符的拼音缩写_控件所在页面。
辅助工具可以从语法树中获取控件的属性。
使用控件显示字符的拼音缩写是为了尽量缩短生成的属性字符串的长度。如果按预定规则生成的控件的属性信息的字符串间有重复,则辅助工具会自动为每个字符串添加用于去除重复的后缀。其中,后缀的生成也是可以通过规则预先定义和设定的。
103、所述辅助工具判断所有控件中是否存在自定义控件,若存在,则判断每一个自定义控件是否均实现将属性信息暴露的接口;若否,则为未实现所述接口的自定义控件实现用于将属性信息暴露的接口,以使调整后的所有控件进行自动化测试处理。
进一步地,所述辅助工具判断所有控件中是否存在自定义控件,包括:
所述辅助工具根据所述系统控制软件的编程语言和用户界面实现框架、所述系统控制软件依托的操作系统,判断每一个控件是否属于自定义控件;
或者,
所述辅助工具根据所述系统控制软件的编程语言和用户界面实现框架、所述系统控制软件依托的操作系统,判断所述备份语法树中每一个控件是否属于自定义控件。
其中,标准控件包括但不限于:按钮、输入框、文本框、单选按钮、多选按钮、窗口、列表、下拉式菜单。自定义控件更是种类繁多,本发明中不赘述。
进一步地,所述辅助工具判断每一个自定义控件是否均实现将属性信息暴露的接口,包括:
所述辅助工具根据所述系统控制软件的编程语言和用户界面实现框架,判断每一个自定义控件是否实现将属性信息暴露的接口;
或者,
所述辅助工具根据所述系统控制软件的编程语言和用户界面实现框架,判断所述备份语法树中每一个自定义控件是否实现将属性信息暴露的接口,并通过修改语法树中的代码以实现特定接口。
104、所述辅助工具遍历所有控件并完成修改之后,向用户发出提示信息,所述提示信息为用于提示进行自动化测试的信息,或者所述提示信息为编译修改错误的信息。
具体地,用户可选择编译修改后的版本,若编译通过,可将版本提交给自动化测试;若编译不通过,用户可通过编译错误信息定位问题。
所述辅助工具遍历所有控件并完成修改之后,语法树中各节点对应的控件,均已具备完整且合乎规则的属性信息,自定义控件也实现了相应的接口以暴露其属性给外部代码。此时,将这些属性信息抽取出来,依照PET-CT系统控制软件界面元素间的树形结构,生成一个只包含属性信息的文件。该文件内容的结构与被测试产品界面元素树形结构保持一致。在此后的编写自动化脚本环节中,测试人员可直接利用这个文件中的属性信息编写脚本,而不必再翻阅代码或使用工具来获取所需测试控件的相关属性信息。例如,可以利用这个文件制作一个图形化的脚本编辑器。所有可测试控件均以图形化方式提供给测试人员。测试人员在编写脚本时可通过拖拽的方式将被测控件属性信息添加至脚本中,提高脚本编写效率。
通过使用本发明的辅助工具,可使被测试产品的控件具有完整的、无重复的属性信息,并且所有必需的属性信息均可正常暴露给外部代码,供自动化测试脚本使用,极大的提高了自动化测试的可行性。
进一步地,为提高产品的安全性,若自动化测试后的PET-CT系统控制软件待进行发布,则所述辅助工具将第一控件的属性信息移除,所述第一控件为自动化测试前的所有控件中不具有属性信息的控件;以及所述辅助工具将第二控件的接口移除,所述第二控件为自动化测试前的所有自定义控件中未实现所述接口的自定义控件;以使待发布的PET-CT系统控制软件的所有控件与所述自动化测试之前的控件的设置一致。
实施例3
本实施例提供一种用于辅助PET-CT系统控制软件自动化测试的装置,包括:
搜索单元,用于对待进行自动化测试的PET-CT系统控制软件,搜索所述PET-CT系统控制软件的所有控件;
处理单元,用于判断每一个控件是否均具有属性信息;若存在不具有属性信息的控件,则按照预定规则为不具有属性信息的控件设置唯一的属性信息;所述属性信息为自动化测试所需的属性信息;
判断所有控件中是否存在自定义控件,若存在,则判断每一个自定义控件是否均实现将属性信息暴露的接口;若否,则为未实现所述接口的自定义控件实现用于将属性信息暴露的接口,以使调整后的所有控件进行自动化测试处理。
实施例4
本实施例提供一种PET-CT系统,包括实施例3中的用于辅助PET-CT系统控制软件自动化测试的装置,所述装置用于辅助所述PET-CT系统进行自动化测试。
以上结合具体实施例描述了本发明的技术原理,这些描述只是为了解释本发明的原理,不能以任何方式解释为对本发明保护范围的限制。基于此处解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。

Claims (8)

1.一种PET-CT系统控制软件自动化测试的辅助方法,其特征在于,包括:
101、针对待进行自动化测试的PET-CT系统控制软件,辅助工具搜索所述PET-CT系统控制软件的所有控件;
102、所述辅助工具判断每一个控件是否均具有属性信息;若存在不具有属性信息的控件,则按照预定规则为不具有属性信息的控件设置唯一的属性信息;所述属性信息为自动化测试所需的属性信息;
以及,判断具有属性信息的控件的属性信息是否符合预定规则;
若存在不符合的控件,则修改不符合预定规则的控件的属性信息,使得修改后的控件的属性信息符合所述预定规则;
如果按预定规则生成的控件的属性信息的字符串间有重复,则自动为每个字符串添加用于去除重复的后缀;
103、所述辅助工具判断所有控件中是否存在自定义控件,若存在,则判断每一个自定义控件是否均实现将属性信息暴露的接口;若否,则为未实现所述接口的自定义控件实现用于将属性信息暴露的接口,以使调整后的所有控件进行自动化测试处理;
若自动化测试后的PET-CT系统控制软件待进行发布,则所述辅助工具将第一控件的属性信息移除,所述第一控件为自动化测试前的所有控件中不具有属性信息的控件;以及
所述辅助工具将第二控件的接口移除,所述第二控件为自动化测试前的所有自定义控件中未实现所述接口的自定义控件;以使待发布的PET-CT系统控制软件的所有控件与所述自动化测试之前的控件的设置一致。
2.根据权利要求1所述的辅助方法,其特征在于,所述步骤101之后,所述步骤102之前,所述方法还包括:
101-1、所述辅助工具将搜索的所有控件生成一棵语法树,所述语法树中每一个节点对应控件的代码中的一个元素,所述节点的属性信息表示所述节点的元素在所述系统控制软件代码中的功能;
101-2、所述辅助工具保存所述语法树,并建立所述语法树的备份语法树;
相应地,所述步骤102和步骤103中是对所述语法树进行处理。
3.根据权利要求2所述的辅助方法,其特征在于,所述步骤103中的所述辅助工具判断所有控件中是否存在自定义控件,包括:
所述辅助工具根据所述系统控制软件的编程语言和用户界面实现框架、所述系统控制软件依托的操作系统,判断每一个控件是否属于自定义控件;
或者,
所述辅助工具根据所述系统控制软件的编程语言和用户界面实现框架、所述系统控制软件依托的操作系统,判断所述备份语法树中每一个控件是否属于自定义控件。
4.根据权利要求1或2任一所述的辅助方法,其特征在于,还包括:
所述辅助工具遍历所有控件并完成修改之后,向用户发出提示信息,所述提示信息为用于提示进行自动化测试的信息,或者所述提示信息为编译修改错误的信息。
5.根据权利要求2所述的辅助方法,其特征在于,还包括:所述辅助工具根据处理后的语法树,生成一个包含所有控件的属性信息的文件,以使测试人员基于所述文件生成测试脚本。
6.根据权利要求1所述的辅助方法,其特征在于,所述属性信息包括ID和Name;
所述ID生成的规则包括:控件类型_控件显示字符的拼音缩写_控件所在页面;
所述Name生成的规则包括:控件显示字符的拼音缩写_控件所在页面。
7.一种用于辅助PET-CT系统控制软件自动化测试的装置,其特征在于,包括:
搜索单元,用于对待进行自动化测试的PET-CT系统控制软件,搜索所述PET-CT系统控制软件的所有控件;
处理单元,用于判断每一个控件是否均具有属性信息;若存在不具有属性信息的控件,则按照预定规则为不具有属性信息的控件设置唯一的属性信息;所述属性信息为自动化测试所需的属性信息;
以及,判断具有属性信息的控件的属性信息是否符合预定规则;
若存在不符合的控件,则修改不符合预定规则的控件的属性信息,使得修改后的控件的属性信息符合所述预定规则;
如果按预定规则生成的控件的属性信息的字符串间有重复,则自动为每个字符串添加用于去除重复的后缀;
判断所有控件中是否存在自定义控件,若存在,则判断每一个自定义控件是否均实现将属性信息暴露的接口;若否,则为未实现所述接口的自定义控件实现用于将属性信息暴露的接口,以使调整后的所有控件进行自动化测试处理;
若自动化测试后的PET-CT系统控制软件待进行发布,则所述辅助工具将第一控件的属性信息移除,所述第一控件为自动化测试前的所有控件中不具有属性信息的控件;以及
将第二控件的接口移除,所述第二控件为自动化测试前的所有自定义控件中未实现所述接口的自定义控件;以使待发布的PET-CT系统控制软件的所有控件与所述自动化测试之前的控件的设置一致。
8.一种PET-CT系统,其特征在于,包括上述权利要求7所述的用于辅助PET-CT系统控制软件自动化测试的装置,所述装置用于辅助所述PET-CT系统进行自动化测试。
CN201910965312.9A 2019-10-11 2019-10-11 一种pet-ct系统控制软件自动化测试的辅助方法 Active CN110704327B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910965312.9A CN110704327B (zh) 2019-10-11 2019-10-11 一种pet-ct系统控制软件自动化测试的辅助方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910965312.9A CN110704327B (zh) 2019-10-11 2019-10-11 一种pet-ct系统控制软件自动化测试的辅助方法

Publications (2)

Publication Number Publication Date
CN110704327A CN110704327A (zh) 2020-01-17
CN110704327B true CN110704327B (zh) 2023-03-31

Family

ID=69199449

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910965312.9A Active CN110704327B (zh) 2019-10-11 2019-10-11 一种pet-ct系统控制软件自动化测试的辅助方法

Country Status (1)

Country Link
CN (1) CN110704327B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9189377B1 (en) * 2014-06-02 2015-11-17 Bank Of America Corporation Automation testing using descriptive maps
CN107729230A (zh) * 2017-09-18 2018-02-23 郑州云海信息技术有限公司 一种基于控件模式下的web自动化测试装置及测试方法
CN108664383A (zh) * 2017-03-28 2018-10-16 上海合福信息科技有限公司 一种控件测试方法及软件自动测试方法
CN109032936A (zh) * 2018-07-13 2018-12-18 陈希 一种桌面自动化测试开发方法及系统
CN109101428A (zh) * 2018-08-21 2018-12-28 宜人恒业科技发展(北京)有限公司 一种ui自动化测试系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102541728A (zh) * 2010-12-14 2012-07-04 北京新媒传信科技有限公司 扩展自动化测试工具识别控件的方法
CN104391797B (zh) * 2014-12-09 2017-11-10 北京奇虎科技有限公司 Gui控件的识别方法和装置
CN104461892B (zh) * 2014-12-15 2018-04-03 北京国双科技有限公司 自定义控件获取方法和装置
US20160371169A1 (en) * 2015-06-17 2016-12-22 Microsoft Technology Licensing, Llc Use case fingerprinting and capture store
CN105743736B (zh) * 2016-01-27 2019-01-04 武汉联影医疗科技有限公司 自动化测试方法及系统
CN107203373B (zh) * 2016-03-18 2020-10-20 阿里巴巴集团控股有限公司 界面控件的获取方法、测试方法及获取装置、测试装置
CN107085554B (zh) * 2017-04-11 2019-09-20 武汉斗鱼网络科技有限公司 一种添加控件标识的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9189377B1 (en) * 2014-06-02 2015-11-17 Bank Of America Corporation Automation testing using descriptive maps
CN108664383A (zh) * 2017-03-28 2018-10-16 上海合福信息科技有限公司 一种控件测试方法及软件自动测试方法
CN107729230A (zh) * 2017-09-18 2018-02-23 郑州云海信息技术有限公司 一种基于控件模式下的web自动化测试装置及测试方法
CN109032936A (zh) * 2018-07-13 2018-12-18 陈希 一种桌面自动化测试开发方法及系统
CN109101428A (zh) * 2018-08-21 2018-12-28 宜人恒业科技发展(北京)有限公司 一种ui自动化测试系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Sebastian Ulewicz等.System regression test prioritization in factory automation: Relating functional system tests to the tested code using field data.《IECON 2016 - 42nd Annual Conference of the IEEE Industrial Electronics Society》.2016,第4619 - 4626页. *
黄春豪.Android用户界面自动化测试辅助工具的开发与应用.《cnki优秀硕士学位论文全文库 信息科技辑》.2017,(第02期),第I138-1523页. *

Also Published As

Publication number Publication date
CN110704327A (zh) 2020-01-17

Similar Documents

Publication Publication Date Title
US9389849B2 (en) Test case pattern matching
CN110908640B (zh) 实现业务功能的方法和脚本引擎
CN101706753B (zh) 一种基于Perl的单元测试装置及方法
US20120116561A1 (en) Program testing apparatus, method of testing a program, and program testing program
US20130311827A1 (en) METHOD and APPARATUS for automatic testing of automation software
Halvorsen Introduction to LabVIEW
Grechanik et al. Creating GUI testing tools using accessibility technologies
EP2557499A1 (en) A system and method for automatic impact variable analysis and field expansion in mainframe systems
CN103294596A (zh) 一种基于程序不变量的合约式软件故障预警方法
KR20000028921A (ko) 반도체 시험장치의 프로그램 작성 시스템
CN111638877A (zh) 一种Web项目可视化快速开发方法
CN106919431B (zh) 持续集成中的代码比对方法、设备以及系统
CN105630674A (zh) 一种针对界面的测试方法和装置
CN110908915A (zh) 一种测试覆盖率的展示方法、装置及计算机系统
CN103116656A (zh) 基于故障逻辑解释器的电路故障诊断系统及其实现方法
Salvesen et al. Using dynamic symbolic execution to generate inputs in search-based GUI testing
Shang et al. EasyScan_HEP: a tool for connecting programs to scan the parameter space of physics models
CN110928760B (zh) 一种嵌入式系统中的单元测试方法与装置
CN105630678B (zh) 一种智能电能表软件的可靠性检测仪及其检测方法
CN110704327B (zh) 一种pet-ct系统控制软件自动化测试的辅助方法
CN113051582B (zh) 一种计算机软件技术开发调试系统
CN106469050B (zh) 一种用例生成方法、页面生成方法及装置
Zhang et al. Celadon: a change impact analysis tool for aspect-oriented programs
Mariya et al. A comparative analysis of mutation testing tools for Java
CN113836023A (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