CN117931679B - 版本测试结果发送方法、装置、可读存储介质及电子设备 - Google Patents
版本测试结果发送方法、装置、可读存储介质及电子设备 Download PDFInfo
- Publication number
- CN117931679B CN117931679B CN202410323128.5A CN202410323128A CN117931679B CN 117931679 B CN117931679 B CN 117931679B CN 202410323128 A CN202410323128 A CN 202410323128A CN 117931679 B CN117931679 B CN 117931679B
- Authority
- CN
- China
- Prior art keywords
- test
- version
- sending
- cases
- test version
- 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
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 664
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000005540 biological transmission Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种版本测试结果发送方法、装置、可读存储介质及电子设备,当接收到测试版本ID值,则根据测试版本的完成率获取与测试版本对应的第一测试结果信息,并按照预设邮件方式发送第一测试结果信息,当未接收到测试版本ID值,则从预设的测试版本信息数据库中获取需要发送邮件,且收件人列表非空的测试版本列表,并基于与测试版本列表中每一测试版本对应的完成率、用户指定发送时间以及邮件发送状态获取与测试版本列表中每一测试版本对应的第二测试结果信息,并按照预设邮件发送方式发送第二测试结果信息,以此根据不同类型的测试版本主动发送或定时发送测试结果,从而有效地提高测试整体效率,并降低人工成本。
Description
技术领域
本发明涉及版本测试技术领域,尤其涉及一种版本测试结果发送方法、装置、可读存储介质及电子设备。
背景技术
在产品测试过程中,测试人员会根据所负责的模块进行分工,多人同时进行测试,以提高测试效率,在实际的测试过程中需要将测试结果以及测试进度汇总,并以邮件的方式告知相关开发以及测试人员。如图4所示,传统的方式是其中测试PL(Project Lead,项目经理)将结果统计后,再发送邮件告知,这样的方式大大降低了测试效率以及增加了人工投入。
发明内容
本发明所要解决的技术问题是:提供一种版本测试结果发送方法、装置、可读存储介质及电子设备,能够有效地提高测试整体效率,并降低人工成本。
为了解决上述技术问题,本发明采用的技术方案为:
一种版本测试结果发送方法,包括步骤:
判断是否接收到测试版本的ID值,若是,则根据所述测试版本的完成率获取与所述测试版本对应的第一测试结果信息,并按照预设邮件方式发送所述第一测试结果信息;
若否,则从预设的测试版本信息数据库中获取需要发送邮件,且收件人列表非空的测试版本列表,并基于与所述测试版本列表中每一测试版本对应的完成率、用户指定发送时间以及邮件发送状态获取与所述测试版本列表中每一测试版本对应的第二测试结果信息,并按照预设邮件发送方式发送所述第二测试结果信息。
为了解决上述技术问题,本发明采用的另一种技术方案为:
第一结果发送模块,用于判断是否接收到测试版本的ID值,若是,则根据所述测试版本的完成率获取与所述测试版本对应的第一测试结果信息,并按照预设邮件方式发送所述第一测试结果信息;
第二结果发送模块,用于若否,则从预设的测试版本信息数据库中获取需要发送邮件,且收件人列表非空的测试版本列表,并基于与所述测试版本列表中每一测试版本对应的完成率、用户指定发送时间以及邮件发送状态获取与所述测试版本列表中每一测试版本对应的第二测试结果信息,并按照预设邮件发送方式发送所述第二测试结果信息。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述版本测试结果发送方法中的各个步骤。
为了解决上述技术问题,本发明采用的另一种技术方案为:
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述版本测试结果发送方法中的各个步骤。
本发明的有益效果在于:当接收到测试版本ID值,则根据测试版本的完成率获取与测试版本对应的第一测试结果信息,并按照预设邮件方式发送第一测试结果信息,当未接收到测试版本ID值,则从预设的测试版本信息数据库中获取需要发送邮件,且收件人列表非空的测试版本列表,并基于与测试版本列表中每一测试版本对应的完成率、用户指定发送时间以及邮件发送状态获取与测试版本列表中每一测试版本对应的第二测试结果信息,并按照预设邮件发送方式发送第二测试结果信息,以此根据不同类型的测试版本主动发送或定时发送测试结果,实现了测试结果的全自动获取和发送,且能够多个版本同时发送,无需人工收集,从而有效地提高测试整体效率,并降低人工成本。
附图说明
图1为本发明实施例的一种版本测试结果发送方法的步骤流程图;
图2为本发明实施例的一种版本测试结果发送装置的结构示意图;
图3为本发明实施例的一种电子设备的结构示意图;
图4为现有技术中版本测试结果发送方法示意图;
图5为本发明实施例的版本测试结果发送方法中的测试结果发送流程图;
图6为本发明实施例的版本测试结果发送方法中的邮件发送信息设置示意图;
图7为本发明实施例的版本测试结果发送方法中的邮件示意图。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1,一种版本测试结果发送方法,包括步骤:
判断是否接收到测试版本的ID值,若是,则根据所述测试版本的完成率获取与所述测试版本对应的第一测试结果信息,并按照预设邮件方式发送所述第一测试结果信息;
若否,则从预设的测试版本信息数据库中获取需要发送邮件,且收件人列表非空的测试版本列表,并基于与所述测试版本列表中每一测试版本对应的完成率、用户指定发送时间以及邮件发送状态获取与所述测试版本列表中每一测试版本对应的第二测试结果信息,并按照预设邮件发送方式发送所述第二测试结果信息。
从上述描述可知,本发明的有益效果在于:当接收到测试版本ID值,则根据测试版本的完成率获取与测试版本对应的第一测试结果信息,并按照预设邮件方式发送第一测试结果信息,当未接收到测试版本ID值,则从预设的测试版本信息数据库中获取需要发送邮件,且收件人列表非空的测试版本列表,并基于与测试版本列表中每一测试版本对应的完成率、用户指定发送时间以及邮件发送状态获取与测试版本列表中每一测试版本对应的第二测试结果信息,并按照预设邮件发送方式发送第二测试结果信息,以此根据不同类型的测试版本主动发送或定时发送测试结果,实现了测试结果的全自动获取和发送,且能够多个版本同时发送,无需人工收集,从而有效地提高测试整体效率,并降低人工成本。
进一步地,所述根据所述测试版本的完成率获取与所述测试版本对应的第一测试结果信息包括:
判断所述测试版本的完成率是否达到百分之百,若是,则获取与所述测试版本对应的所有测试特性、与每一所述测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数和失败用例;
根据与所述测试版本对应的所有测试特性、与每一所述测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数和失败用例生成与所述测试版本对应的第一测试结果信息。
由上述描述可知,针对完成率为百分之百的测试版本,获取与测试版本对应的所有测试特性、与每一测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数和失败用例来生成测试结果信息,使得用户能够简单、清楚地了解测试通过率以及失败用例信息等数据。
进一步地,所述判断所述测试版本的完成率是否达到百分之百包括:
从预设的测试版本信息数据库中获取需要发送邮件,且收件人列表非空的测试版本列表;
从所述测试版本列表中判断所述测试版本是否存在状态为待执行的用例以及正在执行的子任务,若均不存在,则确定所述测试版本的完成率达到百分之百,否则,确定所述测试版本的完成率未达到百分之百。
由上述描述可知,若测试版本列表中测试版本均不存在状态为待执行的用例以及正在执行的子任务,则该测试版本的完成率达到百分之百,可直接发送测试结果,确保测试结果发送的及时性。
进一步地,所述预设邮件方式包括收件人列表;
所述按照预设邮件方式发送所述第一测试结果信息包括:
按照所述收件人列表发送所述第一测试结果信息。
由上述描述可知,按照预先确定的收件人列表发送测试结果信息,从而实现测试结果的自动发送,提高了整体效率。
进一步地,所述基于与所述测试版本列表中每一测试版本对应的完成率、用户指定发送时间以及邮件发送状态获取与所述测试版本列表中每一测试版本对应的第二测试结果信息包括:
遍历所述测试版本列表中的每一测试版本;
判断遍历到的测试版本的完成率是否未达到百分之百,若是,则获取当前时间;
判断当前时间是否大于或等于与所述遍历到的测试版本对应的用户指定发送时间,且与所述遍历到的测试版本对应的邮件发送状态不为发送成功,若均满足,则获取与所述遍历到的测试版本对应的第二测试结果信息。
由上述描述可知,只有在当前时间达到遍历到的测试版本对应的用户指定发送时间,且与遍历到的测试版本对应的邮件发送状态不为发送成功时,才获取与遍历到的测试版本对应的第二测试结果信息准备后续发送,以此针对完成率非百分之百的测试版本支持定时发送,保证了版本测试结果发送的灵活性。
进一步地,所述获取与所述遍历到的测试版本对应的第二测试结果信息包括:
获取与所述遍历到的测试版本对应的所有测试特性、与每一所述测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数以及状态为正在执行的用例列表和数量;
根据与所述遍历到的测试版本对应的所有测试特性、与每一所述测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数以及状态为正在执行的用例列表和数量生成与所述遍历到的测试版本对应的第二测试结果信息。
由上述描述可知,获取与遍历到的测试版本对应的所有测试特性、与所有测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数以及状态为正在执行的用例列表和数量,以此能够从测试结果中了解到每一测试版本的测试情况。
进一步地,所述按照预设邮件方式发送所述第一测试结果信息之后,还包括:
获取与所述第一测试结果信息对应的发送结果;
根据所述发送结果更新所述预设的测试版本信息数据库中的与所述测试版本对应的邮件发送状态。
由上述描述可知,根据发送结果更新预设的测试版本信息数据库中的与测试版本对应的邮件发送状态,以此能够及时地对不同测试版本的邮件发送状态进行更新,以便判断是否还需发送测试结果。
请参照图2,本发明另一实施例提供了一种版本测试结果发送装置,包括:
第一结果发送模块,用于判断是否接收到测试版本的ID值,若是,则根据所述测试版本的完成率获取与所述测试版本对应的第一测试结果信息,并按照预设邮件方式发送所述第一测试结果信息;
第二结果发送模块,用于若否,则从预设的测试版本信息数据库中获取需要发送邮件,且收件人列表非空的测试版本列表,并基于与所述测试版本列表中每一测试版本对应的完成率、用户指定发送时间以及邮件发送状态获取与所述测试版本列表中每一测试版本对应的第二测试结果信息,并按照预设邮件发送方式发送所述第二测试结果信息。
从上述描述可知,本发明的有益效果在于:当接收到测试版本ID值,则根据测试版本的完成率获取与测试版本对应的第一测试结果信息,并按照预设邮件方式发送第一测试结果信息,当未接收到测试版本ID值,则从预设的测试版本信息数据库中获取需要发送邮件,且收件人列表非空的测试版本列表,并基于与测试版本列表中每一测试版本对应的完成率、用户指定发送时间以及邮件发送状态获取与测试版本列表中每一测试版本对应的第二测试结果信息,并按照预设邮件发送方式发送第二测试结果信息,以此根据不同类型的测试版本主动发送或定时发送测试结果,实现了测试结果的全自动获取和发送,且能够多个版本同时发送,无需人工收集,从而有效地提高测试整体效率,并降低人工成本。
进一步地,所述第一结果发送模块中的根据所述测试版本的完成率获取与所述测试版本对应的第一测试结果信息包括:
判断所述测试版本的完成率是否达到百分之百,若是,则获取与所述测试版本对应的所有测试特性、与每一所述测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数和失败用例;
根据与所述测试版本对应的所有测试特性、与每一所述测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数和失败用例生成与所述测试版本对应的第一测试结果信息。
由上述描述可知,针对完成率为百分之百的测试版本,获取与测试版本对应的所有测试特性、与所有测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数和失败用例来生成测试结果信息,使得用户能够简单、清楚地了解测试通过率以及失败用例信息等数据。
进一步地,所述第一结果发送模块中的判断所述测试版本的完成率是否达到百分之百包括:
从预设的测试版本信息数据库中获取需要发送邮件,且收件人列表非空的测试版本列表;
从所述测试版本列表中判断所述测试版本是否存在状态为待执行的用例以及正在执行的子任务,若均不存在,则确定所述测试版本的完成率达到百分之百,否则,确定所述测试版本的完成率未达到百分之百。
由上述描述可知,若测试版本列表中测试版本均不存在状态为待执行的用例以及正在执行的子任务,则该测试版本的完成率达到百分之百,可直接发送测试结果,确保测试结果发送的及时性。
进一步地,所述预设邮件方式包括收件人列表;
所述第一结果发送模块中的所述按照预设邮件方式发送所述第一测试结果信息包括:
按照所述收件人列表发送所述第一测试结果信息。
由上述描述可知,按照预先确定的收件人列表发送测试结果信息,从而实现测试结果的自动发送,提高了整体效率。
进一步地,所述第二结果发送模块中的所述基于与所述测试版本列表中每一测试版本对应的完成率、用户指定发送时间以及邮件发送状态获取与所述测试版本列表中每一测试版本对应的第二测试结果信息包括:
遍历所述测试版本列表中的每一测试版本;
判断遍历到的测试版本的完成率是否未达到百分之百,若是,则获取当前时间;
判断当前时间是否大于或等于与所述遍历到的测试版本对应的用户指定发送时间,且与所述遍历到的测试版本对应的邮件发送状态不为发送成功,若均满足,则获取与所述遍历到的测试版本对应的第二测试结果信息。
由上述描述可知,只有在当前时间达到遍历到的测试版本对应的用户指定发送时间,且与遍历到的测试版本对应的邮件发送状态不为发送成功时,才获取与遍历到的测试版本对应的第二测试结果信息准备后续发送,以此针对完成率非百分之百的测试版本支持定时发送,保证了版本测试结果发送的灵活性。
进一步地,所述第二结果发送模块中的所述获取与所述遍历到的测试版本对应的第二测试结果信息包括:
获取与所述遍历到的测试版本对应的所有测试特性、与每一所述测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数以及状态为正在执行的用例列表和数量;
根据与所述遍历到的测试版本对应的所有测试特性、与每一所述测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数以及状态为正在执行的用例列表和数量生成与所述遍历到的测试版本对应的第二测试结果信息。
由上述描述可知,获取与遍历到的测试版本对应的所有测试特性、与所有测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数以及状态为正在执行的用例列表和数量,以此能够从测试结果中了解到每一测试版本的测试情况。
进一步地,还包括:
更新模块,用于获取与所述第一测试结果信息对应的发送结果;以及
根据所述发送结果更新所述预设的测试版本信息数据库中的与所述测试版本对应的邮件发送状态。
由上述描述可知,根据发送结果更新预设的测试版本信息数据库中的与测试版本对应的邮件发送状态,以此能够及时地对不同测试版本的邮件发送状态进行更新,以便判断是否还需发送测试结果。
本发明另一实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述版本测试结果发送方法中的各个步骤。
请参照图3,本发明另一实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述版本测试结果发送方法中的各个步骤。
本发明上述的版本测试结果发送方法、装置、可读存储介质及电子设备能够适用于需要发送测试结果的产品测试场景中,以下通过具体实施方式进行说明:
请参照图1、图5-图7,本发明的实施例一为:
一种版本测试结果发送方法,包括步骤:
S1、判断是否接收到测试版本的ID值,若是,则执行S11-S12;
若否,则执行S15-S17。
在一种可选的实施方式中,判断是否接收到product_id,若是,则执行S11-S12;
若否,则执行S15-S19,如图5所示。
S11、根据所述测试版本的完成率获取与所述测试版本对应的第一测试结果信息,具体包括:
S111、判断所述测试版本的完成率是否达到百分之百,若是,则执行S112- S113;若否,则结束流程。
具体的,从预设的测试版本信息数据库中获取需要发送邮件,且收件人列表非空的测试版本列表,如图5所示;
从所述测试版本列表中判断所述测试版本是否存在状态为待执行的用例以及正在执行的子任务,若均不存在,则确定所述测试版本的完成率达到百分之百,并执行S112-S113,否则,确定所述测试版本的完成率未达到百分之百,并结束流程。
在一种可选的实施方式中,预设的测试版本信息数据库中存储有测试版本信息数据表,所述测试版本信息数据表中包括不同测试版本的收件人列表,且添加了三个字段,分别是send_mail,send_mail_time,send_mail_status,如表1所示,前端可通过/product/{product_id}接口对send_mail和send_mail_time进行修改。
在一种可选的实施方式中,用户可事先设置是否发送以及发送时间和不同测试版本的收件人列表,包括收件人列表和抄送人员列表,如图6所示。
表1 参数说明
在一种可选的实施方式中,从预设的测试版本信息数据库中获取send_mail为True,且收件人列表非空的测试版本列表;
从所述测试版本列表中判断所述测试版本是否存在状态为待执行(Todo)的用例以及正在执行的子任务,若均不存在,则确定所述测试版本的完成率达到百分之百,并执行S112- S113,否则,确定所述测试版本的完成率未达到百分之百,并结束流程。
S112、获取与所述测试版本对应的所有测试特性、与每一所述测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数和失败用例;
在一种可选的实施方式中,调用get_feature_count函数获取与所述测试版本对应的所有测试特性以及与每一所述测试特性对应的各状态的用例数量,调用get_case_count 函数获取所有测试结果状态的用例数量、用例总数和失败用例。
其中,get_feature_count函数需要当前要发送邮件的产品测试版本在预设的测试版本信息数据库中的id字段作为参数,此函数通过查询预设的测试版本信息数据库获取到当前的测试版本对应的所有测试特性以及测试特性对应的各状态的用例数量,并将数据整理成{特性:{状态:数量}}格式的字典,并作为函数的返回值;
get_case_count函数需要当前要发送邮件的产品测试版本在预设的测试版本信息数据库中的id字段作为参数,此函数通过查询预设的测试版本信息数据库获取到当前的测试版本对应的所有测试用例,并将数据整理成{状态:数量}格式的字典,作为函数的返回值。
在一种可选的实施方式中,所述特性为用户自定义的产品模块,所述特性为IO、PowerLoss等;所述状态表示用例的测试结果,包括测试通过、测试失败、测试阻塞和测试跳过。
在一种可选的实施方式中,每一测试用例完成后,都会自动更新该测试用例的状态,比如将状态从未执行更新为正在执行。
S113、根据与所述测试版本对应的所有测试特性、与每一所述测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数和失败用例生成与所述测试版本对应的第一测试结果信息。
在一种可选的实施方式中,调用render_auto_report函数根据与所述测试版本对应的所有测试特性、与每一所述测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数和失败用例生成与所述测试版本对应的第一测试结果信息。
其中,render_auto_report函数为生成邮件内容的函数,根据用户需求基于以上数据计算包括完成率、通过率、失败用例信息等数据,并设置每个测试特性对应所有的状态均有数值,且计算出每个测试特性的用例总数,然后按照如图所示的格式,使用python的jinja2.Template模块将数据转换成用户指定的邮件内容,并作为函数值返回。
S12、按照预设邮件方式发送所述第一测试结果信息,如图5所示。
其中,所述预设邮件方式包括收件人列表;所述收件人列表可从预设的测试版本信息数据库中获取;
具体的,按照所述收件人列表发送所述第一测试结果信息,如图7所示。
S13、获取与所述第一测试结果信息对应的发送结果。
S14、根据所述发送结果更新所述预设的测试版本信息数据库中的与所述测试版本对应的邮件发送状态。
具体的,若所述发送结果为发送成功,则更新所述预设的测试版本信息数据库中的与所述测试版本对应的邮件发送状态的状态值为True,否则,更新为False。
S15、从预设的测试版本信息数据库中获取需要发送邮件,且收件人列表非空的测试版本列表。
S16、基于与所述测试版本列表中每一测试版本对应的完成率、用户指定发送时间以及邮件发送状态获取与所述测试版本列表中每一测试版本对应的第二测试结果信息,具体包括:
S161、遍历所述测试版本列表中的每一测试版本,如图5所示。
在一种可选的实施方式中,使用for循环遍历所述测试版本列表中的每一测试版本。
S162、判断遍历到的测试版本的完成率是否未达到百分之百,若是,则执行S1621-S1622。
其中,所述判断遍历到的测试版本的完成率是否未达到百分之百的方式与S111类似,在此不再赘述。
S1621、获取当前时间。
S1622、判断当前时间是否大于或等于与所述遍历到的测试版本对应的用户指定发送时间,且与所述遍历到的测试版本对应的邮件发送状态不为发送成功,若均满足,则执行S1623;
在一种可选的实施方式中,判断当前时间是否大于或等于与所述遍历到的测试版本对应的send_mail_time,且与所述遍历到的测试版本对应的send_mail_status不为True,若均满足,则执行S1623。
S1623、获取与所述遍历到的测试版本对应的第二测试结果信息,具体包括:
S16231、获取与所述遍历到的测试版本对应的所有测试特性、与每一所述测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数以及状态为正在执行的用例列表和数量;
在一种可选的实施方式中,调用get_feature_count函数获取与所述遍历到的测试版本对应的所有测试特性以及与每一所述测试特性对应的各状态的用例数量,调用get_case_count 函数获取所有测试结果状态的用例数量、用例总数,调用get_test_cases函数获取状态为正在执行(Running)的用例列表和数量。
其中,get_test_cases函数需要当前要发送邮件的产品测试版本在预设的测试版本信息数据库中存放的所有字段(product_dict)以及测试版本对应的所有的测试用例列表(raw_case)作为参数,此函数的作用是获取到当前正在执行的用例数量、失败的用例列表和正在执行的用例列表;
具体的,该函数首先从系统Job数据表中获取到当前产品关联的状态为Running的任务,以此分别查找出状态是正在执行(Running)以及状态是未执行(即Standby和Inshard)的用例,使用for循环遍历状态是正在执行的用例列表,并将对应的raw_case中对应的用例状态标记为用户指定的状态,即仍在进行(Ongoing),并将product_dict中对应的raw_case的状态数量减1,设置product_dict中Running的值加1,同时product_dict对应的raw_case的feature(特性)状态数量减1,Running数量加1;使用for循环遍历未执行的用例列表,如果对应的raw_case状态不等于待执行(Todo),则将结果标记为Todo,并将product_dict中对应的raw_case的状态的值减1,将product_dict中的Todo的值加1,product_dict中feature的处理同上,最后返回处理后的产品版本数据。
S16232、根据与所述遍历到的测试版本对应的所有测试特性、与每一所述测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数以及状态为正在执行的用例列表和数量生成与所述遍历到的测试版本对应的第二测试结果信息。
在一种可选的实施方式中,调用render_auto_report函数根据与所述遍历到的测试版本对应的所有测试特性、与每一所述测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数以及状态为正在执行的用例列表和数量生成与所述遍历到的测试版本对应的第二测试结果信息。
S17、按照预设邮件发送方式发送所述第二测试结果信息。
在一种可选的实施方式中,还包括:
S18、获取与所述第二测试结果信息对应的发送结果;
S19、根据所述发送结果更新所述预设的测试版本信息数据库中的与所述测试版本对应的邮件发送状态。
在一种可选的实施方式中,本发明上述方法可被集成开发为report_product函数,定义每一小时调用一次该report_product函数,以此减少查询数据库的频率,减轻数据库的压力,并且达到发送失败的版本能够进行重试的目的。
请参照图2,本发明的实施例二为:
一种版本测试结果发送装置,包括:
第一结果发送模块,用于判断是否接收到测试版本的ID值,若是,则根据所述测试版本的完成率获取与所述测试版本对应的第一测试结果信息,并按照预设邮件方式发送所述第一测试结果信息;
第二结果发送模块,用于若否,则从预设的测试版本信息数据库中获取需要发送邮件,且收件人列表非空的测试版本列表,并基于与所述测试版本列表中每一测试版本对应的完成率、用户指定发送时间以及邮件发送状态获取与所述测试版本列表中每一测试版本对应的第二测试结果信息,并按照预设邮件发送方式发送所述第二测试结果信息。
在一种可选的实施方式中,所述第一结果发送模块中的根据所述测试版本的完成率获取与所述测试版本对应的第一测试结果信息包括:
判断所述测试版本的完成率是否达到百分之百,若是,则获取与所述测试版本对应的所有测试特性、与每一所述测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数和失败用例;
根据与所述测试版本对应的所有测试特性、与每一所述测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数和失败用例生成与所述测试版本对应的第一测试结果信息。
在一种可选的实施方式中,所述第一结果发送模块中的判断所述测试版本的完成率是否达到百分之百包括:
从预设的测试版本信息数据库中获取需要发送邮件,且收件人列表非空的测试版本列表;
从所述测试版本列表中判断所述测试版本是否存在状态为待执行的用例以及正在执行的子任务,若均不存在,则确定所述测试版本的完成率达到百分之百,否则,确定所述测试版本的完成率未达到百分之百。
在一种可选的实施方式中,所述预设邮件方式包括收件人列表;
所述第一结果发送模块中的所述按照预设邮件方式发送所述第一测试结果信息包括:
按照所述收件人列表发送所述第一测试结果信息。
在一种可选的实施方式中,所述第二结果发送模块中的所述基于与所述测试版本列表中每一测试版本对应的完成率、用户指定发送时间以及邮件发送状态获取与所述测试版本列表中每一测试版本对应的第二测试结果信息包括:
遍历所述测试版本列表中的每一测试版本;
判断遍历到的测试版本的完成率是否未达到百分之百,若是,则获取当前时间;
判断当前时间是否大于或等于与所述遍历到的测试版本对应的用户指定发送时间,且与所述遍历到的测试版本对应的邮件发送状态不为发送成功,若均满足,则获取与所述遍历到的测试版本对应的第二测试结果信息。
在一种可选的实施方式中,所述第二结果发送模块中的所述获取与所述遍历到的测试版本对应的第二测试结果信息包括:
获取与所述遍历到的测试版本对应的所有测试特性、与每一所述测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数以及状态为正在执行的用例列表和数量;
根据与所述遍历到的测试版本对应的所有测试特性、与每一所述测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数以及状态为正在执行的用例列表和数量生成与所述遍历到的测试版本对应的第二测试结果信息。
在一种可选的实施方式中,还包括:
更新模块,用于获取与所述第一测试结果信息对应的发送结果;以及
根据所述发送结果更新所述预设的测试版本信息数据库中的与所述测试版本对应的邮件发送状态。
本发明的实施例三为:
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时可实现实施例一中版本测试结果发送方法的各个步骤。
请参照图3,本发明的实施例四为:
一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实施例一中版本测试结果发送方法的各个步骤。
综上所述,本发明提供的版本测试结果发送方法、装置、可读存储介质及电子设备,当接收到测试版本ID值,则根据测试版本的完成率获取与测试版本对应的第一测试结果信息,并按照预设邮件方式发送第一测试结果信息,当未接收到测试版本ID值,则从预设的测试版本信息数据库中获取需要发送邮件,且收件人列表非空的测试版本列表,并基于与测试版本列表中每一测试版本对应的完成率、用户指定发送时间以及邮件发送状态获取与测试版本列表中每一测试版本对应的第二测试结果信息,并按照预设邮件发送方式发送第二测试结果信息,以此根据不同类型的测试版本主动发送或定时发送测试结果,实现了测试结果的全自动获取和发送,且能够多个版本同时发送,无需人工收集,从而有效地提高测试整体效率,并降低人工成本;只有在当前时间达到遍历到的测试版本对应的用户指定发送时间,且与遍历到的测试版本对应的邮件发送状态不为发送成功时,才获取与遍历到的测试版本对应的第二测试结果信息准备后续发送,以此针对完成率非百分之百的测试版本支持定时发送,保证了版本测试结果发送的灵活性。
在本申请所提供的上述实施例中,应该理解到,所揭露的方法、装置、计算机可读存储介质以及电子设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个组件或模块可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或组件或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为组件显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部组件来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个组件单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (12)
1.一种版本测试结果发送方法,其特征在于,包括步骤:
判断是否接收到测试版本的ID值,若是,则根据所述测试版本的完成率获取与所述测试版本对应的第一测试结果信息,并按照预设邮件方式发送所述第一测试结果信息;
若否,则从预设的测试版本信息数据库中获取需要发送邮件,且收件人列表非空的测试版本列表,并基于与所述测试版本列表中每一测试版本对应的完成率、用户指定发送时间以及邮件发送状态获取与所述测试版本列表中每一测试版本对应的第二测试结果信息,并按照预设邮件发送方式发送所述第二测试结果信息;
所述根据所述测试版本的完成率获取与所述测试版本对应的第一测试结果信息包括:
判断所述测试版本的完成率是否达到百分之百,若是,则获取与所述测试版本对应的所有测试特性、与每一所述测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数和失败用例;
根据与所述测试版本对应的所有测试特性、与每一所述测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数和失败用例生成与所述测试版本对应的第一测试结果信息;
所述基于与所述测试版本列表中每一测试版本对应的完成率、用户指定发送时间以及邮件发送状态获取与所述测试版本列表中每一测试版本对应的第二测试结果信息包括:
遍历所述测试版本列表中的每一测试版本;
判断遍历到的测试版本的完成率是否未达到百分之百,若是,则获取当前时间;
判断当前时间是否大于或等于与所述遍历到的测试版本对应的用户指定发送时间,且与所述遍历到的测试版本对应的邮件发送状态不为发送成功,若均满足,则获取与所述遍历到的测试版本对应的第二测试结果信息。
2.根据权利要求1所述的一种版本测试结果发送方法,其特征在于,所述判断所述测试版本的完成率是否达到百分之百包括:
从预设的测试版本信息数据库中获取需要发送邮件,且收件人列表非空的测试版本列表;
从所述测试版本列表中判断所述测试版本是否存在状态为待执行的用例以及正在执行的子任务,若均不存在,则确定所述测试版本的完成率达到百分之百,否则,确定所述测试版本的完成率未达到百分之百。
3.根据权利要求1所述的一种版本测试结果发送方法,其特征在于,所述预设邮件方式包括收件人列表;
所述按照预设邮件方式发送所述第一测试结果信息包括:
按照所述收件人列表发送所述第一测试结果信息。
4.根据权利要求1所述的一种版本测试结果发送方法,其特征在于,所述获取与所述遍历到的测试版本对应的第二测试结果信息包括:
获取与所述遍历到的测试版本对应的所有测试特性、与每一所述测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数以及状态为正在执行的用例列表和数量;
根据与所述遍历到的测试版本对应的所有测试特性、与每一所述测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数以及状态为正在执行的用例列表和数量生成与所述遍历到的测试版本对应的第二测试结果信息。
5.根据权利要求1所述的一种版本测试结果发送方法,其特征在于,所述按照预设邮件方式发送所述第一测试结果信息之后,还包括:
获取与所述第一测试结果信息对应的发送结果;
根据所述发送结果更新所述预设的测试版本信息数据库中的与所述测试版本对应的邮件发送状态。
6.一种版本测试结果发送装置,其特征在于,包括:
第一结果发送模块,用于判断是否接收到测试版本的ID值,若是,则根据所述测试版本的完成率获取与所述测试版本对应的第一测试结果信息,并按照预设邮件方式发送所述第一测试结果信息;
第二结果发送模块,用于若否,则从预设的测试版本信息数据库中获取需要发送邮件,且收件人列表非空的测试版本列表,并基于与所述测试版本列表中每一测试版本对应的完成率、用户指定发送时间以及邮件发送状态获取与所述测试版本列表中每一测试版本对应的第二测试结果信息,并按照预设邮件发送方式发送所述第二测试结果信息;
所述第一结果发送模块中的根据所述测试版本的完成率获取与所述测试版本对应的第一测试结果信息包括:
判断所述测试版本的完成率是否达到百分之百,若是,则获取与所述测试版本对应的所有测试特性、与每一所述测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数和失败用例;
根据与所述测试版本对应的所有测试特性、与每一所述测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数和失败用例生成与所述测试版本对应的第一测试结果信息;
所述第二结果发送模块中的所述基于与所述测试版本列表中每一测试版本对应的完成率、用户指定发送时间以及邮件发送状态获取与所述测试版本列表中每一测试版本对应的第二测试结果信息包括:
遍历所述测试版本列表中的每一测试版本;
判断遍历到的测试版本的完成率是否未达到百分之百,若是,则获取当前时间;
判断当前时间是否大于或等于与所述遍历到的测试版本对应的用户指定发送时间,且与所述遍历到的测试版本对应的邮件发送状态不为发送成功,若均满足,则获取与所述遍历到的测试版本对应的第二测试结果信息。
7.根据权利要求6所述的一种版本测试结果发送装置,其特征在于,所述第一结果发送模块中的判断所述测试版本的完成率是否达到百分之百包括:
从预设的测试版本信息数据库中获取需要发送邮件,且收件人列表非空的测试版本列表;
从所述测试版本列表中判断所述测试版本是否存在状态为待执行的用例以及正在执行的子任务,若均不存在,则确定所述测试版本的完成率达到百分之百,否则,确定所述测试版本的完成率未达到百分之百。
8.根据权利要求6所述的一种版本测试结果发送装置,其特征在于,所述预设邮件方式包括收件人列表;
所述第一结果发送模块中的所述按照预设邮件方式发送所述第一测试结果信息包括:
按照所述收件人列表发送所述第一测试结果信息。
9.根据权利要求6所述的一种版本测试结果发送装置,其特征在于,所述第二结果发送模块中的所述获取与所述遍历到的测试版本对应的第二测试结果信息包括:
获取与所述遍历到的测试版本对应的所有测试特性、与每一所述测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数以及状态为正在执行的用例列表和数量;
根据与所述遍历到的测试版本对应的所有测试特性、与每一所述测试特性对应的各状态的用例数量、所有测试结果状态的用例数量、用例总数以及状态为正在执行的用例列表和数量生成与所述遍历到的测试版本对应的第二测试结果信息。
10.根据权利要求6所述的一种版本测试结果发送装置,其特征在于,还包括:
更新模块,用于获取与所述第一测试结果信息对应的发送结果;以及
根据所述发送结果更新所述预设的测试版本信息数据库中的与所述测试版本对应的邮件发送状态。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的一种版本测试结果发送方法中的各个步骤。
12.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的一种版本测试结果发送方法中的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410323128.5A CN117931679B (zh) | 2024-03-21 | 2024-03-21 | 版本测试结果发送方法、装置、可读存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410323128.5A CN117931679B (zh) | 2024-03-21 | 2024-03-21 | 版本测试结果发送方法、装置、可读存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117931679A CN117931679A (zh) | 2024-04-26 |
CN117931679B true CN117931679B (zh) | 2024-07-16 |
Family
ID=90764904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410323128.5A Active CN117931679B (zh) | 2024-03-21 | 2024-03-21 | 版本测试结果发送方法、装置、可读存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117931679B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108459956A (zh) * | 2017-11-29 | 2018-08-28 | 平安科技(深圳)有限公司 | 测试报告自动化管理方法、装置、设备及存储介质 |
CN116303040A (zh) * | 2023-03-21 | 2023-06-23 | 上海中通吉网络技术有限公司 | 一种报告发送的检查提醒方法、装置、设备及存储介质 |
CN117493101A (zh) * | 2023-10-23 | 2024-02-02 | 浪潮软件集团有限公司 | 一种基于gocron的定时巡检任务实现系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103617118B (zh) * | 2013-11-28 | 2016-06-29 | 北京奇虎科技有限公司 | 测试结果的统一处理方法、装置及系统 |
CN106127458B (zh) * | 2016-07-18 | 2020-01-14 | 青岛海信电器股份有限公司 | 一种电子邮件的发送方法及装置 |
CN106886493B (zh) * | 2017-02-22 | 2021-02-02 | 苏州浪潮智能科技有限公司 | 一种自动化测试系统的建立方法与装置 |
US11361847B1 (en) * | 2021-02-06 | 2022-06-14 | Timothy A. Hodge | System and method for rapidly reporting testing results |
TWI811663B (zh) * | 2021-04-14 | 2023-08-11 | 國立臺灣大學 | 軟體測試報告產生方法及裝置 |
CN115016321A (zh) * | 2022-06-14 | 2022-09-06 | 湖北亿纬动力有限公司 | 一种硬件在环自动化测试方法、装置及系统 |
CN117608903A (zh) * | 2023-12-04 | 2024-02-27 | 中国联合网络通信集团有限公司 | 自动生成测试报告的方法、装置、设备和存储介质 |
-
2024
- 2024-03-21 CN CN202410323128.5A patent/CN117931679B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108459956A (zh) * | 2017-11-29 | 2018-08-28 | 平安科技(深圳)有限公司 | 测试报告自动化管理方法、装置、设备及存储介质 |
CN116303040A (zh) * | 2023-03-21 | 2023-06-23 | 上海中通吉网络技术有限公司 | 一种报告发送的检查提醒方法、装置、设备及存储介质 |
CN117493101A (zh) * | 2023-10-23 | 2024-02-02 | 浪潮软件集团有限公司 | 一种基于gocron的定时巡检任务实现系统 |
Also Published As
Publication number | Publication date |
---|---|
CN117931679A (zh) | 2024-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11681697B2 (en) | Method and device for interface operation and maintenance | |
US8161468B2 (en) | Processing of expressions | |
CN107239381B (zh) | 崩溃信息的处理方法、装置及系统 | |
US20140025683A1 (en) | Methods and apparatus for managing community-updateable data | |
US20090110275A1 (en) | System and method for electronic document classification | |
CN111614647B (zh) | 报文检测及解析方法、装置 | |
CN111246406A (zh) | 一种短信发送方法、系统、存储介质及终端设备 | |
CN114189818B (zh) | 消息发送方法、装置、服务器及存储介质 | |
CN117931679B (zh) | 版本测试结果发送方法、装置、可读存储介质及电子设备 | |
CN113315689B (zh) | 信息处理方法、系统、电子设备和可读存储介质 | |
CN111026972B (zh) | 物联网中的订阅数据推送方法、装置、设备及存储介质 | |
CN111431733A (zh) | 服务告警覆盖信息的评估方法及装置 | |
CN113626217B (zh) | 异步消息处理方法、装置、电子设备和存储介质 | |
CN113419924B (zh) | 一种基于会话保持的数据库操作风险提示处理方法及装置 | |
US11418473B2 (en) | Personalized dashboard chart for email subscriptions | |
CN115391141A (zh) | 数据库流量分析方法、装置、设备及可读存储介质 | |
CN112699251A (zh) | 数据聚合方法、装置、电子设备及存储介质 | |
CN112632132A (zh) | 一种异常导入数据的处理方法、装置及设备 | |
CN109241388A (zh) | 一种应用程序接口行为分析方法和系统 | |
CN110569673A (zh) | 一种数据文件处理方法、装置、设备及储存介质 | |
CN115426421B (zh) | 一种基于rpa机器人的报文解析方法 | |
CN115017518B (zh) | 一种漏洞整改信息检测方法和装置 | |
CN118250341B (zh) | 表单请求处理方法、装置、设备及存储介质 | |
CN115760326A (zh) | 多线程短信批量生成方法、装置、设备及可读存储介质 | |
CN118035827A (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 |