一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于维护视觉一致性的方法、装置和计算机可读介质与流程

2022-04-09 10:42:24 来源:中国专利 TAG:

用于维护视觉一致性的方法、装置和计算机可读介质
1.相关申请信息本技术要求2019年2月21日提交的美国非临时申请第16/281,710号的优先权,特此将所述美国非临时申请的公开内容通过引用以其整体并入。


背景技术:

2.面向用户的软件应用具有若干个层,包括呈现层(诸如用户接口层)、应用层(诸如服务或控制器层)、业务层(业务逻辑和域信息)和数据访问层(持久性、联网等)。
3.随着软件应用(诸如web应用)随着时间发展得越来越大,执行对应用呈现层的定期审核以确保公司产品组合(portfolio)中的视觉一致性变得重要。这些审核可以在多个级别上发生,例如:基本用户接口(ui)元素,诸如公司管控格式、调色板、字体等的核心风格指南;可重复使用的小部件/组件,它们是接口(例如网页)内提供用户功能性的元素;目标功能切片,其诸如在接口的不同组件中跟踪特定产品特征的所有视觉表示;和整个应用体验,意味着呈现层不同方面的总体呈现和组织。
4.从高级别和低级别两者跟踪发布周期之间应用特征的视觉改变是重要的。从高级别来看,这种跟踪确保在周期之间的用户体验改变被记录在案,突出显示视觉回归测试的目标功能区域,支持可交付给客户的验证包,并为用户指南文档的技术作者提供内容。
5.附加地,从低级别来看,跟踪诸如公司风格指南或在多个应用之间使用的共享ui组件库之类的共享库内的视觉改变尤其重要。这些共享资源的维护者有义务将改变通知给他们的消费者,使得在质量保证中的下游不实现非预期的结果。理解来自共享库的上游差异使得应用项目能够做出反应,并理解那些改变将如何在视觉上影响应用。
6.维护视觉一致性的一个先前的解决方案是手动取得应用中感兴趣区域或基本ui构建块的截屏,并随着时间对它们进行审查。历史上,审查者将在他们的本地文件系统中维护他们截屏的历史。
7.然而,在具有支持其客户的应用产品组合的业务中,执行视觉一致性的手动审核可能过于繁琐和耗时。因此,视觉回归可能在发布周期期间或者在ad-hoc的基础上一年只发生几次。给定web应用的大小,手动视觉回归的范围可以被限制到应用的小子集。在有限范围的情况下,存在错过对应用其他区域的非预期改变的增加风险。由于这种比较过程的重复性质,人为错误的数量与针对视觉改变被监视的特征的数量成正比。
8.由于全异的用户对呈现层的各个元素执行零碎和手动的审查,用于确保视觉一致性的现有方法无法集成到诸如持续集成(ci)工具之类的自动化开发管道中。在大多数情况下,必须在要审核的特征数量与给定执行回归和验证的时间量之间达到平衡。这个过程是以更快的间隔发布的瓶颈。
9.因此,需要在系统中的改进,以用于维护跨应用呈现层的视觉一致性。
附图说明
10.图1图示了根据示例性实施例的用于维护应用呈现层的视觉一致性的方法的流程图。
11.图2图示了根据示例性实施例的可以从客户端计算设备接收的图像和相关联元数据的示例。
12.图3图示了根据示例性实施例的用于当一个或多个图像作为更大图像(诸如截屏)的一部分被接收时从一个或多个客户端计算设备接收一个或多个图像和相关联元数据的流程图。
13.图4a图示了根据示例性实施例的接收包含多个图像和对应图像位置元数据的截屏的示例。
14.图4b图示了根据示例性实施例的从截屏提取的图像和相关联元数据。
15.图5图示了根据示例性实施例的用于基于每个图像的对应特征和对应状态从服务器端存储器检索对应于一个或多个图像中的每个图像的基线图像的流程图。
16.图6图示了根据示例性实施例的用于接收和存储基线图像的流程图。
17.图7图示了根据示例性实施例的用于接收或审查图像或基线图像并设置对应特征和状态的基于web的应用接口。
18.图8图示了根据示例性实施例的用于在一个或多个图像中的每个图像与对应基线图像之间执行视觉回归分析以确定一个或多个指标的一个或多个值的流程图。
19.图9图示了根据示例性实施例的像素差分分析的结果。
20.图10图示了根据示例性实施例的用于至少部分基于至少一个指标的至少一个值在预定值范围之外或者与至少一个指标的预期值不匹配的确定来向一个或多个客户端计算设备中的至少一个传输一个或多个警告的流程图。
21.图11图示了根据示例性实施例的在(一个或多个)客户端设备、(一个或多个)服务器端设备和服务器端存储器之间的消息传递图的示例。
22.图12图示了根据示例性实施例的在(一个或多个)客户端设备、(一个或多个)服务器端设备和服务器端存储器之间的消息传递图的另一示例。
23.图13图示了根据示例性实施例的用于维护应用呈现层的视觉一致性的服务器端计算环境。
24.图14图示了示出根据示例性实施例的客户端设备与服务器端设备之间的交互的图。
25.图15图示了根据示例性实施例的利用本文公开的系统和方法的自动化计算机系统验证(csv)系统的示例。
具体实施方式
26.虽然本文通过示例和实施例的方式描述了方法、装置和计算机可读介质,但是本领域技术人员认识到,用于维护视觉一致性的方法、装置和计算机可读介质不限于所描述的实施例或附图。应当理解,附图和描述不旨在限于所公开的特定形式。相反,本发明将覆盖落入所附权利要求书的精神和范围内的所有修改、等同物和替代物。本文使用的任何标题仅用于组织目的,并且不意味着限制说明书或权利要求书的范围。如本文所使用的,词语“可以”在许可的意义(即,意味着有潜力)而不是强制的意义(即,意味着必须)上使用。类似地,词语“包括”、“包括有”、“包括着”、“包含”、“包含着”和“包含有”意味着包括但不限于。
27.如上面所讨论的,需要在系统中的改进以用于维护视觉一致性。申请人已经发现了用于维护视觉一致性的新奇方法、装置和计算机可读介质,其增加了回归和视觉分析的范围,而不增加执行所花费的时间量。
28.本文公开的系统提供了新奇的网络系统、分析软件和数据结构,其自动消费跨网络上任何数量的客户机设备的图像和相关联元数据,标识相关特征和状态,对呈现层内的特征执行视觉回归测试,跟踪特征和状态的历史改变,并基于为每个项目或用户定制的关键性能指标(kpi)自动生成通知。
29.该系统包括在一个或多个服务器上执行的服务器端应用,该服务器端应用存储配置信息(诸如项目特定的配置),消费截屏或图像,标识特征和状态,并执行视觉回归分析。
30.该系统的客户机和服务器可以利用表示状态转移(rest)软件架构。例如,服务器可以是restful服务器。利用restful接口,该系统允许诸如经由ci(持续集成)工具与自动化开发管道集成。当作为测试的一部分捕获新截屏时,它们可以通过rest发送到系统,以执行比较分析,或者已经配置为插件的任何其他定制分析。利用创建分析作业组的能力,可以对给定ci作业的多个分析进行分组,以便在系统的ui内进行深入审查。
31.该系统——虽然是restful——也可以包括web应用接口,以审查和管理项目特征目录和特征分析运行的历史。web接口提供ui以允许用户以用户友好的方式管理和审查他们的项目、特征和分析。定义特征及其状态就像填写相关表格和上传基线图像一样简单。可以通过启动新的分析作业并上传新图像与之比较来执行特征状态分析。特征状态的每个分析可以被保留以供历史审查。用户还可以对两个图像执行ad-hoc一次性比较,与任何项目无关。
32.该系统附加地包括可插入的接口以执行各种类型的图像分析和视觉回归,所述图像分析和视觉回归可以根据特定的用例、项目、特征或状态进行定制。该可插入的接口允许用户添加定制分析插件,当分析特征和状态的基线和新图像时,可以使用所述定制分析插件来执行视觉回归。作为定制插件配置的一部分,开发人员可以描述定制插件输出的数据集,使得可以为项目、特征或特征状态配置结果和通知。
33.该系统进一步包括新奇的数据结构,该数据结构被配置为将呈现层内的视觉元素链接到特定特征和特定特征状态,并索引特征和特征状态随时间的演变。这些数据结构允许跨开发生命周期对全异的视觉元素及其各种状态进行粒度和自动跟踪。
34.如下面更详细讨论的,基于服务器的系统附加地包括自动化通知功能性,其可以被配置为在视觉特征或特征状态偏离配置阈值的情况下警告一个或多个客户机设备。通知功能性利用从视觉回归分析的结果生成的关键性能指标(kpi)以便确定是否传输通知。kpi和kpi阈值或预期值是用户可配置的,以便允许每个客户机或用户针对每个项目、每个特征或每个特征状态级别定制通知。
35.图1图示了根据示例性实施例的用于维护应用呈现层的视觉一致性的方法的流程图。该方法中的步骤可以由通信耦合到一个或多个客户端计算设备的一个或多个服务器端计算设备来执行。如本文所使用的,“服务器端”和“客户端”标示该方法中涉及的两个设备集合之间的服务器-客户机关系,并且不旨在是限制性的。例如,出于该方法的目的,充当客
户端设备的设备也可以充当不同上下文中或对于不同服务集合的服务器。附加地,应用可以是任何类型的应用,诸如web应用。
36.在步骤101处,从一个或多个客户端计算设备接收一个或多个图像和相关联元数据。相关联元数据指示应用内的对应特征以及该特征对于一个或多个图像中的每个图像的对应状态。注意,一个或多个图像可以在较大图像——诸如本身包含对应于多个特征的一个或多个图像的截屏——的上下文中被接收。
37.如较早前讨论的,可以经由restful接口接收一个或多个图像和相关联元数据。客户端计算设备上的用户也可以利用基于web的接口来与(一个或多个)服务器端计算设备通信。在这种情况下,基于web的接口上的用户交互可以被转换成适当的命令和元数据,用于与(一个或多个)restful服务器进行通信。
38.图2图示了根据示例性实施例的可以从客户端计算设备接收的图像201和相关联元数据202的示例。在该示例中,接收到的图像201对应于允许用户在日历接口中选择特定日期的日期选择小部件。如图2中所示,相关联元数据202可以指示对应于该图像的项目名称(“我的应用”)、对应于该图像的特征名称(“日期选择小部件”)以及对应于该图像的特征状态(“选择的日期”)。当然,提供这些字段只是为了说明,并且相关联元数据202可以包括更多或更少的信息。例如,如果项目信息可以从先前的消息或存储的信息导出,则相关联元数据202可以省略项目名称。相关联元数据202还可以指定配置参数,诸如所请求的视觉回归分析的类型、图像是否应当被设置为新的基线图像、通知配置、结果格式等。相关联元数据202还可以指定该请求是用于同步处理(其中任务被处理并且任务的结果响应于该请求而被返回)还是异步处理(其中客户机可以指定任务分组用于处理并且在稍后时间检查任务的状态)。
39.如上面所讨论的,一个或多个图像可以在较大图像——诸如本身包含对应于多个特征的一个或多个图像的截屏——的上下文中被接收。图3图示了根据示例性实施例的用于当一个或多个图像作为更大图像(诸如截屏)的一部分被接收时从一个或多个客户端计算设备接收一个或多个图像和相关联元数据的流程图。
40.在步骤301处,从一个或多个客户端计算设备中的至少一个接收截屏和图像位置元数据。图像位置元数据指示截屏内的一个或多个图像中的每个图像的位置。例如,图像位置元数据可以按照x轴和y轴屏幕坐标来格式化。在这种情况下,对于四面图像,图像位置元数据将具有四个(x,y)坐标集合,这些坐标定义了较大截屏内图像的边界。对于诸如三角形图像之类的其他形状,三个坐标集合将足够。图像的形状也可以被指定为图像位置元数据的一部分,以便帮助后续的提取过程,如下面讨论的。附加地,图像位置元数据可以包括坐标和维度的某种组合。例如,图像位置元数据可以包括某个测量单位(诸如像素)中的单个坐标以及x和y维度,所述测量单位(诸如像素)允许图像提取器标识较大图像内的相关图像。
41.在步骤302处,至少部分基于图像位置元数据,从截屏中提取一个或多个图像。解析器可以用于根据规则集合解析元数据,并且然后图像裁剪器或提取器可以用于基于解析的元数据提取每个图像。例如,解析器可以标识对应于坐标的标签,从元数据提取相关坐标,并且然后将那些坐标传递给提取器,该提取器然后可以裁剪出相关图像。
42.图4a图示了根据示例性实施例的接收包含多个图像和对应图像位置元数据的截
屏的示例。如图4a中所示,截屏401包含多个子图像,包括子图像401a和子图像401b。相关联元数据402包括诸如每个子图像的相关项目、特征和状态的信息,以及指定子图像401a和子图像402a两者将作为单个作业的一部分被异步处理的元数据(“任务屏幕”)。相关联元数据402还包括图像位置元数据。在这种情况下,图像位置元数据为每个子图像指定四个坐标的集合。图像提取器使用这四个坐标来提取每个子图像。
43.图4b图示了根据示例性实施例的从截屏提取的图像和相关联元数据。如图4b中所示,子图像401a被提取并与元数据403的相关部分相关联,并且子图像401b被提取并与元数据404的相关部分相关联。提取的图像与对应元数据的这种链接可以基于元数据的格式化和元数据的解析。例如,如图4a的相关联元数据402中所示,每个子图像的项目、特征和状态信息与该子图像的图像位置元数据一起分组。解析器和/或图像提取器可以使用该分组来后续在存储器内关联或链接每个提取的子图像和对应的元数据。
44.回到图1,在可选步骤102处,一个或多个图像中的每一个(无论是作为单独的图像接收的还是从诸如截屏之类的更大的图像提取的)然后可以被保存到服务器端存储器。每个图像可以与存储器内对应的特定项目、特征和/或状态相关联。例如,可以在项目、项目内的特征和特征内的状态的基础上来索引或以其他方式组织存储器系统。在这种情况下,每个图像将被存储在存储器系统内与其项目、特征和状态相对应的适当位置。替代地,每个存储图像的对应项目、特征和状态可以存储在查找表或其他数据结构中。例如,具有四列的表可以包括针对每个图像标识符或句柄(其可以是动态分配的标识符,或者可以是到存储器内图像位置的指针或链接)的列、针对相关项目的列、针对相关特征的列以及针对相关状态的列。
45.每个图像还可以存储有附加的元数据、诸如时间戳,这允许对特定特征和状态的所有迭代进行版本跟踪。时间戳可以用于确定对应于特征和状态的多次迭代的各种图像的组织。例如,对应于特定特征和状态的所有图像可以按时间次序(诸如在堆栈中)存储在存储器内,以允许最新版本的更快检索。
46.对是否将一个或多个图像中的每个图像保存到服务器端存储器的确定可以基于特定的用户/客户机配置,包括项目设置、特征设置和状态设置。例如,用户/客户机可能希望自动保存特定特征的所有版本,但不保存不同特征的所有版本。
47.对是否将一个或多个图像中的每个图像保存到服务器端存储器的确定可以附加地或替代地基于在项目/特征/状态的配置中请求或设置的处理类型。例如,如果客户机设备已经指示异步处理,则接收到的图像可以被自动保存,使得(一个或多个)服务器端计算设备可以在适当的时间调度并完成所请求的处理。替代地,如果客户机设备已经指示同步处理,并且还已经指示不满足某些要求(诸如通过某些视觉回归要求)的新图像不应当被自动保存,则保存每个接收到的图像的步骤将不发生,直到视觉回归分析完成并且已经满足要求。
48.对是否保存每个图像的确定还可以基于作业大小进行。例如,如果用户提交了具有几十个图像的较大作业,那么它可以自动被指定为异步处理,这是因为完成时间将是冗长的。在这种情况下,每个图像将被保存到服务器端存储器,以供后续分析。针对什么有资格作为较大作业的阈值可以由用户设置,或者基于例如可用的可用计算资源和完成该作业所需的估计计算资源来自动确定。阈值可以按照图像的数量、完成工作所需的时间、图像的
大小、分析的复杂性等来设置。
49.在可选步骤103处,对应于一个或多个图像的一个或多个分析标识符被传输到一个或多个客户端计算设备中的至少一个。分析标识符可以由系统动态地分配给每个视觉回归分析任务。例如,如果接收到对应于三个特征/状态集合的三个图像,则将生成三个分析标识符,并将其传输到一个或多个客户端计算设备中的至少一个。当选择异步处理时,执行步骤103,无论是作为请求(例如,元数据内的命令或标签)的一部分、作为针对项目/特征/状态的用户所选设置或配置的一部分,还是作为基于作业大小的自动确定。
50.如下面将更详细讨论的,分析标识符然后可以被(一个或多个)客户端设备用来针对关于每个视觉回归分析任务的状态更新轮询(一个或多个)服务器端设备。分析标识符可以可选地包括允许(一个或多个)客户端设备确定哪个分析标识符对应于哪个图像/特征/状态集的信息。例如,分析标识符可以与指定对应关系的消息一起发送,或者分析标识符本身可以并入特征/状态名称。
51.在步骤104处,基于每个图像的对应特征和对应状态,从服务器端存储器检索对应于一个或多个图像中的每个图像的基线图像。默认情况下,该系统可以检索最近的基线图像,但客户机/用户可以配置系统来检索特征历史中的任何基线图像。
52.图5图示了根据示例性实施例的用于基于每个图像的对应特征和对应状态从服务器端存储器检索对应于一个或多个图像中的每个图像的基线图像的流程图。
53.在步骤501处,解析相关联元数据以提取每个图像的对应特征和对应状态。如果项目未知,则也可以解析元数据来提取项目信息。如较早前讨论的,该解析可以由解析器(例如,词法分析器)来执行,并且可以涉及对应于各种特征名称和特征状态的标签或标识符的标识。
54.在步骤502处,至少部分基于对应的提取特征和对应的提取状态,检索对应于每个图像的基线图像。该步骤的实现可以取决于服务器端存储器如何被组织和索引而变化,但是涉及查找过程,该查找过程将特征和特征状态取作输入,并返回对应基线图像或对应基线图像的存储器位置,该存储器位置然后用于检索基线图像。
55.在提交后续图像以供视觉回归分析之前,配置初始基线图像以及相关联特征和特征状态。在所公开的系统中,用户创建对应于特定呈现层的项目。在项目内,用户可以创建特征,该特征对应于用户希望跟踪的某个视觉实体。一旦创建了特征,用户就上传基线图像来表示默认状态下特征的初始呈现。
56.本系统利用允许特定特征的不同状态的多种表示的数据结构。例如,文本输入小部件可以显示警示或错误状态,警示或错误状态在输入验证期间改变输入字段边框的颜色。在另一个示例中,小部件或应用屏幕可能需要以响应的方式进行测试,并在各种分辨率断点处取得截屏,以确保体验按预期工作。当创建新特征时,用户可以向特征添加状态,并为每个状态添加基线图像。该解决方案允许组织和跟踪特性可能具有的每个状态的改变。
57.一旦针对特定特征和特征状态将初始基线图像保存到(一个或多个)服务器端计算设备,对应于那些特征和特征状态的任何后续图像就可以用于更新基线图像或根据接收的日期和时间存储多个不同的基线图像。用户或客户机可以配置他们想要何时以及如何存储后续图像,以及后续图像应当存储为新的基线图像还是更新的基线图像。例如,用户可以指定不导致任何视觉回归分析警示或警告的任何后续图像应当自动存储为新的基线图像
或更新的基线图像。替代地,用户可以明确地指示后续提交的图像应当替换较早前提交的基线图像,或者被添加为新的基线图像,即使在没有执行视觉回归分析时亦如此。
58.初始基线图像和任何后续基线图像也经由restful接口传输到(一个或多个)服务器端计算设备。如较早前讨论的,该接口面向该用户的部分可以包括基于web的应用,该基于web的应用允许用户友好地上传图像和命令。(一个或多个)客户端计算设备上的软件——诸如持续集成(ci)开发工具——也可以利用restful接口,向(一个或多个)restful服务器发送消息和图像。
59.图6图示了根据示例性实施例的用于接收和存储基线图像的流程图。在步骤601处,(一个或多个)服务器端计算设备从一个或多个客户端计算设备中的至少一个接收一个或多个基线图像和相关联的基线元数据。如上面讨论的,这些图像可以经由基于web的接口上传,并且到基于web的接口的用户输入(例如,关于对应的特征和特征状态)可以被转换成元数据,以供系统解析。图像和元数据也可以由运行在客户端计算设备上的程序(诸如ci工具)提供给服务器端计算设备的restful接口。
60.在步骤602处,分析相关联的基线元数据,以标识一个或多个基线图像中每个基线图像的对应特征和对应状态。如上面讨论的,这可以包括解析元数据,并且还可以包括创建对应于元数据中指定的任何新特征和状态的新对象或记录。
61.在步骤603处,一个或多个基线图像中的每个基线图像被存储在服务器端存储器中,每个基线图像与服务器端存储器中的对应特征和对应状态相关联。每个基线图像可以与存储器内对应的特定项目、特征和/或状态相关联。例如,可以在项目、项目内的特征和特征内的状态的基础上来索引或以其他方式组织存储器系统。在这种情况下,每个基线图像将被存储在存储器系统内与其项目、特征和状态相对应的适当位置处。替代地,每个存储的基线图像的对应项目、特征和状态可以存储在查找表或其他数据结构中。例如,具有四列的表可以包括针对每个基线图像标识符或句柄(其可以是动态分配的标识符,或者可以是到存储器内图像位置的指针或链接)的列、针对相关项目的列、针对相关特征的列以及针对相关状态的列。
62.每个基线图像还可以存储有诸如时间戳的附加的元数据,其允许对特定特征和状态的所有基线迭代进行版本跟踪。时间戳可以用于确定对应于特征和状态的多次迭代的各种基线图像的组织。例如,对应于特定特征和状态的所有基线图像可以按时间次序(诸如在堆栈中)存储在存储器内,以允许最新版本的更快检索。
63.图7图示了根据示例性实施例的用于接收或审查图像或基线图像并设置对应特征和状态的基于web的应用接口。如图7中所示,接口701包括特征子接口701a,其允许用户在特定项目中的不同特征之间进行选择。接口701还包括状态子接口701b,其允许用户在特定特征的不同状态之间进行选择。在图7中所示的示例中,基线图像701c对应于“登录”特征的“默认”状态。
64.回到图1,在步骤105处,在一个或多个图像中的每个图像与对应基线图像之间执行视觉回归分析,以确定一个或多个指标的一个或多个值。可以基于用户可配置的设置、被分析的特定特征、被分析的状态、项目和/或图像的类型或图像的特性来定制视觉回归分析的类型和为其确定值的特定指标。
65.图8图示了根据示例性实施例的用于在一个或多个图像中的每个图像与对应基线
图像之间执行视觉回归分析以确定一个或多个指标的一个或多个值的流程图。
66.在步骤801处,至少部分基于以下各项中的一个或多个来确定视觉回归分析技术:对应特征、对应状态或与对应特征相关联的项目。所确定的技术可以选自各种视觉回归分析技术,包括像素差分分析、调色板分析或一个或多个用户定义或用户上传的分析技术。例如,用户可以创建以特定特征或状态为目标进行分析的定制分析技术。针对特定图像和基线图像的视觉回归分析技术的确定可以基于与对应特征、对应状态或特定项目相关联的用户设置或默认值。例如,用户可以指定使用像素差分分析来分析某些小部件,但是使用调色板分析来分析对应于特定功能切片的多个特征集。
67.在步骤802处,将所确定的视觉回归分析技术应用于对应基线图像和图像以生成结果。基于被执行的回归分析的类型,结果可以采取不同的形式。对于像素差分分析,结果可以是示出基线图像与特征状态的后续图像之间不同的像素的图像。对于调色板分析,结果可以是基线图像和后续图像中颜色的比较和/或不匹配或不是预期值的颜色列表。
68.图9图示了根据示例性实施例的像素差分分析的结果。如图9中所示,基线图像901与后续的新图像901进行比较,并且两个图像之间的差异被示为单独的图像903。特征分析完成之后,用户可以登录系统审查该分析。导航到特征分析结果页面,用户可以单独查看基线和上传的截屏,以及查看任何分析结果,诸如两个图像的像素比较。在图9中,创建“差异”图像,以确切地突出显示什么改变了。
69.回到图8,在步骤803处,基于所确定的视觉回归分析的结果来确定一个或多个指标的一个或多个值。为其确定值的一个或多个指标可以基于所执行的视觉回归分析的类型和/或指定他们想要利用哪些指标的用户设置。例如,当利用像素差分分析时,用户可以指定他们想要利用“百分比像素差异”指标。作为应用所确定的视觉回归分析技术的一部分,还可以自动确定一个或多个指标的值。例如,调色板分析可以自动产生指标的值,该指标表示基线图像中不存在的后续图像中的颜色数量。
70.参考图1,在步骤106处,至少部分基于至少一个指标的至少一个值在预定值范围之外或者与至少一个指标的预期值不匹配的确定,向一个或多个客户端计算设备中的至少一个传输一个或多个警告。参考图10进一步详细解释该过程。可选地,如果所有指标值落在预定值范围内,如果所有指标值与预期值或范围匹配,和/或如果用户或客户机确实希望接收警告并且已经将其设置配置为不接收任何警告,则可以省略步骤106。在后一种情况下,所有分析的结果以及任何指标值可以存储在服务器端存储器上,以供用户稍后从客户端设备审查或检索。
71.图10图示了根据示例性实施例的用于至少部分基于至少一个指标的至少一个值在预定值范围之外或者与至少一个指标的预期值不匹配的确定来向一个或多个客户端计算设备中的至少一个传输一个或多个警告的流程图。
72.在步骤1001处,至少部分基于与一个或多个客户端计算设备相关联的一个或多个用户设置来标识一个或多个指标中的至少一个关键性能指标(“kpi”)。
73.取决于人们希望跟踪的粒度级别,大型应用可能结果得到数百个(如果不是数千个)要跟踪的特征和状态。即使利用自动化的视觉分析系统,在项目范围的分析之后,手动审查每个特性的结果及其状态也可能变得难以管理。
74.在一个示例用例中,在跨公司产品组合中的多个产品共享的风格指南库中,如果
对风格指南的任何改变导致对特征视觉表示的哪怕是最小的改变,那么人们都可能希望被立即警告。当评估基本ui元素时,如果像素差异的百分比多于0%,则系统的用户可能希望被警告。这是因为基本ui元素可能对消耗该元素的项目造成重大的下游视觉改变。
75.因此,该系统允许用户基于任何目标特征状态的关键性能指标(kpi)或阈值来配置警告。如果违反该阈值,则用户可以将系统配置为经由电子邮件、文本或任何其他消息传递格式通知他们或其他人。这些通知导致可能的视觉问题的更快可视性,并允许快得多的解决。
76.在步骤1001处,可以评估一个或多个指标,以确定它们是否包含由(一个或多个)客户端设备上的(一个或多个)用户所定义的任何kpi。例如,该系统可以执行账户/用户/客户机/项目/特征/状态标识符的查找,并检索所有相关kpi的列表,并且然后将检索到的kpi与一个或多个指标进行比较,如果该一个或多个指标中的任何一个是kpi,则该一个或多个指标是从视觉回归分析的性能得到的。
77.在步骤1002处,确定至少一个关键性能指标的至少一个值是否在一个或多个用户设置中定义的预定值范围之外,或者是否与一个或多个用户设置中定义的预期值不匹配。预定值范围可以对应于可接受值的范围,并且可以使用阈值和测量/评估方向的组合来定义。
78.每个kpi的值的预定范围和预期值初始可以在用户设置中设置为默认值,并且可以由(一个或多个)用户根据他们的特定需求进行编辑。例如,像素差异指标的默认像素差异阈值可以初始被设置为百分之20(对应于百分之0-20的可接受范围),并且然后由用户后续编辑以取而代之地对指定的项目、特征和/或状态集合应用百分之5的阈值(对应于百分之0-5的可接受范围)。
79.附加地,如本文所使用的,取决于被评估的kpi的类型和该kpi的用户配置,当kpi的值高于或低于特定阈值时,该kpi的值可以被认为是在预定范围“之外”。例如,对于对应于像素差异百分比的kpi,大于预定义像素差异百分比阈值的值可以被认为是在阈值“之外”(并且因此在从0-像素差异百分比阈值的范围之外)。替代地,对于测量像素相似性百分比的kpi,小于预定义像素相似性百分比的值可以被认为是在阈值“之外”(并且因此在从像素相似性百分比阈值-100的范围之外)。
80.在像素差异百分比的情况下,用户可以将阈值定义为例如百分之10,并指示应当标记高于该百分之10阈值(在10-100范围内)的任何值。替代地,在像素相似性的情况下,用户可以将阈值定义为例如百分之90,并指示应当标记低于该百分之90阈值(在0-90的范围内)的任何值。在这个意义上,预定义阈值定义了kpi的可接受值的范围(该范围高于或低于某个初始基线值)。
81.步骤1002还可以包括评估kpi的值是否与一个或多个用户设置中定义的预期值不匹配。这种评估对于具有按照集合(诸如调色板中的颜色集合)或按照布尔(真或假)值表述的值的kpi是有用的。例如,用户可以配置他们的设置,使得后续图像的调色板必须与基线图像的调色板(或与项目或特征集相关联的某个调色板)确切匹配。在这种情况下,kpi可以具有值,该值是存在于后续图像中、不存在于基线图像中的所有颜色的列表,存在于基线图像中、不存在于后续图像中的所有颜色的列表,或者两者的某种组合。kpi也可以具有布尔值、即颜色匹配,其在所有颜色匹配时为真,并且否则为假。在这些情形下,可以将kpi的值
与“预期值”(如用户配置的对于符合性所需的期望值)进行比较,以确定实际值是否与预期值匹配。
82.在步骤1003处,至少部分基于至少一个关键性能指标的至少一个值在一个或多个用户设置中定义的预定值范围之外或者与一个或多个用户设置中定义的预期值不匹配的确定,向一个或多个客户端计算设备中的至少一个传输一个或多个警告。如较早前讨论的,警告可以经由电子邮件、文本消息、服务器-客户机通信或经由任何其他通信程序或介质来传输。
83.如果正在利用分析作业组对多个分析请求进行分组,则作业组本身可以收集所有违反的kpi,并分发具有关于所有被违反阈值的信息的单个摘要通知。
84.当利用系统的rest应用编程接口(api)时,该系统可以在其响应有效载荷中包括关于kpi违反的任何信息。这在作为ci管道的一部分运行自动化分析时是有帮助的。ci管道逻辑可以检查任何违反的kpi,并适当地响应。
85.回到图1,在可选的步骤107处,一个或多个图像中的每个图像与对应基线图像之间的视觉回归分析的结果被存储在服务器端存储器上。这可以包括例如存储作为视觉回归分析的一部分确定的任何指标的值和/或存储从视觉回归分析得到的任何图像(诸如图9中的差异图像903)。然后,用户可以经由托管在(一个或多个)服务器端计算设备上并从(一个或多个)客户端计算设备可访问的web接口来访问、浏览或下载这些结果。当利用(一个或多个)restful服务器时,用户还可以通过从(一个或多个)客户端计算设备轮询或查询(一个或多个)restful服务器来请求或检索这些结果。
86.图11图示了根据示例性实施例的在(一个或多个)客户端设备、(一个或多个)服务器端设备和服务器端存储器之间的消息传递图的示例。如图11中所示,基线图像和相关联元数据首先从客户端设备发送到服务器端设备。如较早前讨论的,基线图像和相关联元数据可以经由托管在服务器设备上的web应用从客户端接收,或者可以由在客户端设备上执行的ci过程传输。
87.然后,服务器端设备提取相关图像(如果必要),解析元数据(如果必要),并将每个基线图像与相关特征和状态信息以及存储所需的任何附加信息(诸如例如项目信息、客户机信息或标识符等)相关联。然后,服务器端设备将基线图像以及特征和状态信息发送到服务器端存储器,其中每个基线图像与对应特征和状态相关联地存储。
88.用特征最新基线来更新该特征可以以多种方式实现。经由rest上传的截屏可以表示单个特征状态,或者多个特征及其状态。当使用单个截屏来表示多个特征时,作为特征更新请求的一部分,客户端设备可以沿着多个x/y坐标集合和维度传递来表示它们希望跟踪的每个特征。当服务器接收到请求时,该系统将从原始截屏中裁剪出每个图像切片,并用最新图像保存对应特征的信息。
89.在稍后的某个时间点,更新的图像和元数据从客户端设备发送到服务器端设备。再次,服务器端设备执行必要的处理,并发送更新的图像,以供与对应特征和状态信息相关联地存储在服务器端存储器中。可选地,如果用户设置指示除非更新图像满足视觉回归分析的要求,否则不应当存储更新图像,则服务器端设备可以推迟更新图像的存储。在这种情况下,服务器端设备可以进行和评估视觉回归分析的结果,以确保所有kpi在存储之前满足用户要求。
90.分析可以同步或异步执行。当执行同步分析请求时,服务器端系统将执行配置的分析,并且分析一完成就返回结果。如果配置了任何kpi,则该系统可以用描述任何kpi阈值违反的数据进行响应。这对于ci作业是有用的,在ci作业中,作业被配置为在kpi阈值违反的情况下失败或警示。当执行异步分析请求时,在新图像保存到系统之后,响应可以返回,从而允许图像分析独立发生。在这种情况下,可以返回分析id,从而允许客户端设备轮询rest api,直到作业完成。当存在大量特征状态要分析时,异步分析是有帮助的。
91.转到图11,在异步分析的情况下,在更新图像已经被保存到服务器端存储器之后,服务器端设备可以生成对应于每个更新图像的分析标识符。然后,这些分析标识符可以被发送到客户端设备,如虚线箭头所示。客户端设备然后可以利用分析标识符来针对关于每个更新图像的视觉回归分析的状态的更新轮询服务器端设备。
92.不管分析是同步的还是异步的,服务器端设备使用对应的特征和状态信息从服务器端存储器检索对应于更新图像的基线图像。服务器端设备然后如上面所讨论的执行视觉回归分析,并将视觉回归的结果发送到服务器端存储器。一旦分析完成,用户就可以审查系统的web应用接口中的改变。服务器端设备还基于kpi向客户端设备发送任何通知。
93.默认情况下,该系统可以将上传的截屏与最近的基线截屏进行比较,但是用户可以将系统配置为与特征历史中的任何基线截屏进行比较,或者可以利用指定应当使用哪个基线图像的命令或参数来发送更新图像。
94.当然,在图11中所示的组件之间传递的实际消息在内容或次序上可以变化。例如,服务器端设备可以同时向客户端设备发送通知,并将视觉回归的结果发送到服务器端存储器。替代地,如果视觉回归的结果不满足用户kpi或其他要求,服务器端设备可以省略将结果发送到服务器端存储器的步骤。附加地,如果客户端设备提交具有多个图像的作业,则任何通知都可以在所有视觉回归分析完成之后或在滚动的基础上被传输。
95.图12图示了根据示例性实施例的在(一个或多个)客户端设备、(一个或多个)服务器端设备和服务器端存储器之间的消息传递图的另一示例。图12类似于图1,但是假设执行异步分析。如图12中所示,一旦分析标识符从服务器端设备发送到客户端设备,客户端设备就可以针对对特定分析的更新而轮询服务器端设备,并且服务器端设备可以用每个分析的状态进行响应。
96.图13图示了根据示例性实施例的用于维护应用呈现层的视觉一致性的服务器端计算环境。服务器端计算环境1300包括存储器1301,其是非暂时性计算机可读介质,并且可以是易失性存储器(例如,寄存器、高速缓存、ram)、非易失性存储器(例如,rom、 eeprom、闪速存储器等),或者两者的某种组合。
97.如图13中所示,存储器1301包括配置数据1301a、图像提取器软件1301b、图像存储装置1301c(包括基线图像1301c-1、更新图像1301c-2和回归分析图像1301c-3)、通知管理器软件1301d、web应用软件1301e、特征/状态提取器软件1301f、报告构建器软件1301g和视觉回归分析软件1301h。
98.报告构建器软件1301g允许用户使用系统的web应用接口提供的报告生成工具创建定制报告。用户可以在日期范围之间或者通过选择两个不同的分析运行生成报告。构建报告的用户可以选择显示项目的所有分析结果,或者选择其报告的特定特征和状态。报告生成工具允许客户端用户选择要在报告中显示哪些分析度量,以及向每个特征比较结果页
面添加他们自己的注释。
99.报告解决方案对于生产经验证软件的公司尤其有用。例如,在发布验证期间,客户可以预期某种类型的可交付物来确保系统在两次发布之间继续按预期工作。可以生成报告,该报告突出显示发布之间应用体验的所有主要改变。然后,这些视觉改变可以链接到用户故事,以用于完全的可追溯性。
100.视觉回归分析软件1301h包括分析选择器1301h-1、像素差分分析器1301h-2、调色板分析器1301h-3和一个或多个定制分析器1301h-4。
101.像素差分分析器1301h-2本质上逐像素地比较基线图像和新图像。该插件可以计算不同像素的数量和两个图像之间的百分比差异。可以针对百分比差异配置kpi阈值。例如,如果基线图像和新图像之间的百分比像素差异违反5%,则可以向感兴趣方发送通知。在同步分析的情况下,任何kpi违反也可以被包括在api响应有效载荷中。
102.调色板分析器1301h-3分析被分析的新图像,并产生新图像中使用的所有颜色的调色板。然后,它将颜色列表与针对给定特征状态配置的预期调色板进行比较。如果正在分析的新图像与针对特征状态配置的预期调色板不匹配,则可以启用kpi来通知感兴趣方。在同步分析的情况下,任何kpi违反也可以被包括在api响应有效载荷中。
103.默认情况下,该系统可以提供像素差分分析器1301h-2和调色板分析器1301h-3。该系统还可以允许开发人员编写他们自己的定制分析软件,该定制分析软件可以插入到视觉分析软件中。
104.存储在存储器1301内的所有软件可以存储为计算机可读指令,当由一个或多个处理器执行时,所述计算机可读指令使得处理器执行参考图1-12描述的功能性。
105.计算环境1300进一步包括一个或多个处理器1302。处理器执行计算机可执行指令,并且可以是真实的或虚拟的处理器。在多处理系统中,可以使用多个处理器或多核处理器来执行计算机可执行指令,以增加处理能力和/或并行执行某些软件。
106.计算环境附加地包括诸如网络接口的通信接口1303,其用于监视网络通信、与计算机网络上的设备通信、从网络上的设备收集数据以及向客户端设备发送通知。如较早前讨论的,通信接口1303可以包括restful接口。通信接口传送信息,诸如计算机可执行指令、音频或视频信息或调制数据信号中的其他数据。调制数据信号是一种信号,该信号使其一个或多个特性以在信号中编码信息的方式被设置或改变。作为举例而非限制,通信介质包括用电气、光学、rf、红外、声学或其他载体实现的有线或无线技术。
107.如上面讨论的,(一个或多个)客户端计算设备上的用户可以经由restful接口或经由由服务器端计算设备托管的web应用与(一个或多个)服务器端计算设备通信。基于web的ui中提供的所有特征也利用restful接口可执行。这包括但不限于:创建新项目;为项目添加(一个或多个)特征;为给定特征添加(一个或多个)状态并建立基线图像;更新特征状态的基线图像;针对(一个或多个)特征状态上的基线执行同步或异步分析,可选地利用新的基线图像进行更新;检查异步分析的状态;
创建分析作业组以核对多个分析;配置当分析发生时应当执行哪种类型的分析(可以是项目全局、特征全局或针对个体特征状态配置);针对特征状态的每种分析类型配置kpi;以及当违反阈值时配置通知。
108.计算环境1300可以进一步包括输入和输出接口,其允许用户(诸如系统管理员)向系统提供输入,并显示或以其他方式传输信息以供显示给用户。例如,系统管理员可以利用输入/输出接口来配置规则或通知。当前设置也可以经由输入/输出接口显示给用户。计算环境1300还可以包括具有图形用户接口(gui)的显示器,该显示器出于配置目的向诸如系统管理员的用户呈现选项。gui还可以被配置为显示传输的警告/通知。
109.诸如总线、控制器或网络的互连机制(在图13中示为实线)互连计算环境1300的组件。
110.输入和输出接口可以耦合到输入和输出设备。(一个或多个)输入设备可以是触摸输入设备,诸如键盘、鼠标、笔、轨迹球、触摸屏或游戏控制器、语音输入设备、扫描设备、数码相机、遥控器或向计算环境提供输入的另一设备。(一个或多个)输出设备可以是显示器、电视、监视器、打印机、扬声器或从计算环境1300提供输出的另一设备。
111.计算环境1300可以附加地利用可移动或不可移动存储装置,诸如磁盘、磁带或盒式磁带、cd-rom、cd-rw、dvd、usb驱动器或可以用于存储信息并可以在计算环境1300内访问的任何其他介质。
112.计算环境1300可以是机顶盒、个人计算机或一个或多个服务器,例如联网服务器群、集群服务器环境或计算设备的云网络。
113.图14图示了示出根据示例性实施例的客户端设备1401和服务器端设备1402之间的交互的图。
114.客户端设备1401可以包括例如用java和javascript (node.js)编写的客户机库,其使得通过rest以编程方式与系统对接、管理项目目录以及执行图像分析变得更容易。使用这些客户机库,开发人员可以构建端到端(e2e)测试套件来导航应用,取得感兴趣区域的截屏,并将它们上传到系统中以执行自动分析。这进一步减少了允许在ci管道中发生特征分析的障碍,跟踪源控制管理(scm)软件中委托(commit)之间的改变。
115.本系统提供了许多优点,包括restful服务器,它提供了集中化的、易于集成的系统,具有通知的视觉改变的动态实时反馈,用于跟踪项目及其特征和状态的新奇数据结构,以及项目进展随时间的定制报告生成。
116.先前,手动视觉回归将被委派给多个测试人员,有人将所有结果整合到中心位置中,无论其是活页夹还是数字存储。利用该解决方案,所有的截屏和分析数据保持在集中化的位置中。
117.restful服务器解决方案在捕获项目特征集的截屏时允许更大的灵活性。该系统的用户可以使用他们自己的测试运行程序和截屏捕获工具来对抗他们选择的浏览器。与系统集成的障碍是低的。
118.例如,该解决方案可以集成到构建管道中,来为感兴趣区域产生快速反馈。有时,发布将只关注web应用的特定组件。可以缩窄比较,以只分析这些“热点”区域,并集成到构
建管道中进行烟雾测试。这允许用户确保商定的设计正在按计划实现,并且他们在冲刺阶段(sprint)内遵守风格指南。
119.该系统附加地提供了新奇的数据结构,用于跟踪项目内的视觉元素,从而允许用户不仅描述特征,而且还描述特征可能具有的各种表示。无论是各种功能状态、不同的分辨率还是多种浏览器,该系统的web应用接口都允许轻松导航项目特征及其随时间变化的状态。用户可以导航到特征的特定表示,并查看其最近的分析,审查历史分析运行,或者甚至对系统中已经存在的两个不同基线开始新的分析。
120.该系统的另一个优点是动态和实时通知能力。在开发人员已经继续到另一个特征故事之后,利用自动化通知更快地暴露问题区域减少了“回溯和修复”量。如果针对特征或特征集违反了配置的kpi,则可以利用分析报告通知开发人员。如果问题区域确实需要修复,尽早意识到它将防止它在发布期间成为阻塞。
121.经验证的系统几乎总是防止产品以更快的速度发布,诸如每一冲刺阶段——这与每一季度相对。一个原因是,经验证的系统需要回归测试和验证包的生产以给予客户。报告生成器特征允许验证工程师创建定制报告,并将其作为发布包的一部分进行交付。
122.该系统还可以产生分析报告作为其通知特征的一部分,该通知特征突出显示项目中可能已经非预期改变的区域,将测试人员指向应用中可能具有回归问题的区域。本系统的网络和软件架构实现了连续自动分析以及分析和反馈的交付。
123.所公开的服务器端系统还可以包括在本文公开的分析、通知和报告特征上构建的自动化验证测试和报告功能性。特别地,本文公开的系统和技术在敏捷开发环境中是有用的。
124.fda法规(以及来自世界各地监管机构的类似法规)强制完成计算机系统验证(csv)的需求,以满足与良好制造规范(gmp)相关的要求,并存在用于向市场交付医疗设备和药用物品的质量系统。
125.如fda定义的软件验证的关键方面是“通过检查和提供客观证据来确认软件规范符合用户需求和预期用途,并且通过软件实现的特定要求可以一致地得到满足”(参考美国卫生与公众服务部;食品药物管理局于2002年1月11日发布的 general principles of software validation;final guidance for industry and fda staff)。
126.受监管行业中的csv传统方法包括通常在发布周期结束时执行的冗长过程,以创建和手动执行安装资格(iq)、运营资格(oq)和性能资格(pq);有时被称为用户验收测试或uat。该过程通常需要质量工程组织的成员执行测试、将结果记录在案并打包成客户交付的验证包的一部分。作为文档过程的一部分,oq和pq需要示出从功能要求和验收标准到已执行测试的可追溯性,以及测试执行和结果的证据。为了提供审核fda法规的组织所需的证据,这些测试通常手动执行,并由认证结果的人员签字。
127.随着软件行业已经成熟到采用敏捷开发方法技术,现有的以串行方式(通常作为开发过程的最后阶段)进行的手动执行测试的行业可接受的方法与敏捷带来的方法技术相冲突,敏捷在短得多的时间增量期间开发代码的同时促进了质量活动的发生。
128.用于软件开发或系统实现的敏捷方法技术的主要概念是取得长时间运行的项目(例如1年)并且将它们分解成非常小的增量,称为冲刺阶段(例如2周)。在那些冲刺阶段期间,开发的所有步骤都是在更集中得多的问题集来执行。这包括要求、实现、测试、文档和验
证测试。
129.由于所有的步骤都是以较小的增量执行的,敏捷操作已经利用自动化简化了测试方面,使得它们可以更频繁地通过更多的测试(而不是在发布结束时测试所有的东西)。
130.这样做的一些好处是在开发的所有阶段都工作的软件,这允许客户通过发布进行反馈,并通过在接近引入缺陷的时间标识缺陷而在质量方面增加。
131.本文描述的技术和方法可以用于以小的、连续的增量执行验证测试。这允许用户更接近于问题被引入的时间定位问题,并加快最终的验证过程。
132.较短的验证周期对受监管的行业有吸引力,这是因为如今验证周期的成本几乎与项目本身一样多。(由于其手动劳动密集的过程)。
133.图15图示了根据示例性实施例的利用本文公开的系统和方法的自动化计算机系统验证(csv)系统的示例。
134.如图15中所示,自动化csv过程首先构建规范,所述规范利用敏捷团队用来将系统预期用途是什么记录在案的标准数据(用户故事)。自动化过程汇编了一个规范,监管者可以使用来自软件供应商的软件开发生命周期(sdlc)的现有数据来解释该规范,而不需要他们维护单独的文档。
135.然后,自动化csv过程自动地执行实际测试,其包括生成测试正确执行且结果如预期的证据。该步骤可以连续且自动执行。例如,在视觉一致性测试的上下文中,来自每个“冲刺阶段”的图像可以自动上传到服务器端设备,用于执行相对于基线图像的视觉回归分析,并且然后编译结果。
136.为了提供关于图15的更多细节,不是编写和维护描述产品功能的完全独立的规范,而是重复使用通常保持在系统中的用户故事。用户故事集合被分组为epic的一部分。例如,一个这样的epic可能是登录。在epic登录下,可能有10个用户故事。该系统将查询用户故事存储库,以获得epic登录的所有用户故事。标签系统可以用于进一步对用户故事进行分类和分组。当故事已经被更新的故事取代时,也将使用排除标签(#exclude)。结果将是描述系统的用户故事列表,这些用户故事按epic分组。下表给出了用户故事的示例:
137.然后,该系统将基于发布号对该数据进行排序,并基于epic对其进行分组,并且然后进行标记。如果该系统遇到包括标签#obsolete的记录,则它将排除它。然后,该系统将该数据格式化为传统的外观规格,如下表中所示:1.用户简档联系信息
用户简档给定用户导航到简档页面ꢀꢀ当用户点击联系信息时ꢀꢀ然后用户可以录入或更新他们的电子邮件地址《此处链接到测试用例》
用户简档给定用户导航到简档页面ꢀꢀ当用户点击联系信息时ꢀꢀ然后用户可以录入或更新他们的地址、建筑物号码、电话号码和简档图片《此处链接到测试用例》用户简档给定用户导航到简档页面ꢀꢀ当用户点击联系信息,并且电话号码已经列出时ꢀꢀ然后用户将能够添加附加的电话号码,并为每个电话号码指定一个标签《此处链接到测试用例》
改变pw
用户简档给定用户位于编辑密码页面ꢀꢀ当用户录入新密码时ꢀꢀ然后系统在用户正键入时比对预定义的密码策略规则评估密码,并且不允许用户保存,除非它满足所有规则。《此处链接到测试用例》
2. 登录
登录给定用户是网络目录的一部分,并且系统简档中的单点登录设置为开ꢀ当用户访问登录url时,她将被自动引导至应用,并将绕过用户名/密码证实屏幕《此处链接到测试用例》登录给定用户导航到应用urlꢀꢀ当用户录入他们的用户名和密码并按提交时ꢀꢀ然后,系统将比对先前保存的用户名/密码组合对用户凭据进行证实《此处链接到测试用例》
138.然后将自动执行链接的测试,其中将结果以所需的格式打包。例如,在视觉回归分析的情况下,规范可以指示调色板贯穿登录过程应当保持一致。然后,该规范将链接相关的视觉回归分析,在敏捷开发周期的每个区段之后,该视觉回归分析将自动更新。在这种情况下,在自动化的基础上从一个或多个客户端计算设备接收的一个或多个图像和相关联元数据对应于运营资格(oq)规范中的条目,并且至少部分基于存储在oq规范的对应条目中的链接来确定在一个或多个图像中的每个图像与对应基线图像之间执行的视觉回归分析。
139.结果将被自动打包成验证包,该验证包供客户以在线方式(诸如通过web应用)访问。所有记录将是电子的,并将符合联邦法规第21篇第11部分;电子记录;电子签名(21 cfr第11部分)的要求。
140.所得包可以包括:运营资格(oq)包。
141.具有功能故事和验收标准的规范,其描述了以可读方式组织的系统。
142.规范中的每个故事链接到证明它的测试。测试可以是人类可读的,即使它们将由机器执行。
143.每个测试链接到测试结果集合。软件制造商在受控环境中运行的结果。
144.基本性能资格(pq)包。
145.pq包可以包括许多针对开箱即用的过程的测试和结果。
146.基本pq包可以通过客户可扩展,使得他们可以注入自己的配置并重新执行测试,以用于更完整的法规遵从性。
147.附加包项可以包括系统性能测试结果、开发交付的单元测试执行结果和开发交付的集成测试执行结果。
148.已经参考所描述的实施例描述和说明了本发明的原理,将认识到,在不脱离这样的原理的情况下,可以在布置和细节方面修改所描述的实施例。在软件中示出的所述实施例的元件可以在硬件中实现,并且反之亦然。
149.鉴于本发明的原理可以应用于许多可能的实施例,我们要求所有这样的实施例作为我们的发明,只要这些实施例能够落入以下权利要求及其等同物的范围和精神内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献