CN109446073B - 一种软件协同测试方法、装置及电子设备 - Google Patents
一种软件协同测试方法、装置及电子设备 Download PDFInfo
- Publication number
- CN109446073B CN109446073B CN201811141051.0A CN201811141051A CN109446073B CN 109446073 B CN109446073 B CN 109446073B CN 201811141051 A CN201811141051 A CN 201811141051A CN 109446073 B CN109446073 B CN 109446073B
- Authority
- CN
- China
- Prior art keywords
- software
- sequences
- execution
- operation sequences
- items
- 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
Images
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
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)
- Debugging And Monitoring (AREA)
Abstract
本公开涉及一种软件协同测试方法、装置及电子设备。该软件协同测试方法包括下述步骤:选择操作列表中的操作项作为操作序列,产生至少两组操作序列;执行所有操作序列,保存每组操作序列对应的执行结果;判断所有操作序列对应的执行结果是否一致;若是,则操作序列对应的待测软件功能正常;若否,则操作序列对应的待测软件功能不正常。通过实施本公开,可对协作编辑工具进行有效的测试,覆盖更多的输入场景,确保多用户协同编辑的一致性,便于进行调试。
Description
技术领域
本公开涉及软件测试领域,更具体地说,涉及一种软件协同测试方法、装置及电子设备。
背景技术
在线协同编辑工具是一种运行在浏览器上的、在线的、可多人同时进行编辑协作的工具,如在线协作文档,在线协作电子表格等。在线协作编辑工具需要支持多人同时在线阅读,编辑同一篇文档,并且同步每个人的编辑状态,最终使得所有人看到的文档内容都是完全一致的。要实现实时协作编辑需要解决两个问题:实时通信问题、编辑冲突问题,解决这两个问题才能保证在线协调编辑最终的一致性。要解决这两个问题需要非常复杂的技术方案,在开发过程中,通常采用测试来保证代码的质量、功能的正确性。
目前业界常用的测试方案是采用单元测试和E2E测试,使用单元测试通过检测不同的输入的输出是否符合预期来保证模块功能的正确性。使用E2E测试来模拟用户操作,检测用户界面的状态看功能是否符合预期。单元测试可以通过构造不同的输入检测输出是否符合预期来保证模块功能正确性,但是对于多人在线协同编辑的输入情况非常复杂,对于所有可能的编辑情况难以全面覆盖。E2E测试也只能保证单个人的操作正确性,无法保证多人之前的编辑状态是一致的。因此需要解决两个问题:作为单元测试的补充,尽可能多的覆盖所有输入场景;测试多个人之间的操作结果是否一致。
发明内容
本公开要解决的技术问题在于,针对现有技术的上述测试覆盖不全面、多人操作时编辑状态不一致的缺陷,提供一种软件协同测试方法、装置及电子设备。
本公开解决其技术问题所采用的技术方案是:构造一种软件协同测试方法,包括下述步骤:
选择操作列表中的操作项作为操作序列,产生至少两组所述操作序列;
执行所有所述操作序列,保存每组所述操作序列对应的执行结果;
判断所有所述操作序列对应的执行结果是否一致;
若是,则所述操作序列对应的待测软件功能正常;
若否,则所述操作序列对应的待测软件功能不正常。
进一步,本公开所述的软件协同测试方法,在所述选择操作列表中的操作项作为操作序列之前还包括:
列出所述待测软件的所有操作项形成所述操作列表。
可选地,本公开所述的软件协同测试方法,所述执行所有所述操作序列包括:
所有所述操作序列按照各自的操作项同时对同一操作对象进行操作;
所述保存每组所述操作序列对应的执行结果包括:
待所有所述操作序列执行完毕后,保存每组所述操作序列对应对象的执行结果。
进一步,本公开所述的软件协同测试方法,若所述操作序列对应的待测软件功能不正常,则执行下述步骤:
对所述操作序列进行回放执行,查找出导致所述执行结果不一致的异常操作项;
根据所述异常操作项查找出对应的异常程序代码。
进一步,本公开所述的软件协同测试方法,若所述操作序列对应的待测软件功能正常,则执行所述步骤:
选择操作列表中的操作项作为操作序列。
可选地,本公开所述的软件协同测试方法,所述待测软件为在线协作编辑工具,所述在线协作编辑工具包括至少一篇在线文档;
所述执行所有所述操作序列包括:所有所述操作序列对同一在线文档按照各自的操作项同时进行操作;
所述保存每组所述操作序列对应的执行结果包括:保存所述在线文档的数据模型和编辑结果状态截图。
可选地,本公开所述的软件协同测试方法,所述判断所有所述操作序列对应的执行结果是否一致包括:
判断所有所述操作序列对应的数据模型和/或编辑结果状态截图是否一致。
另,本公开还提供一种软件协同测试装置,包括:
第一选择单元,用于选择操作列表中的操作项作为操作序列,产生至少两组所述操作序列;
执行单元,用于执行所有所述操作序列,保存每组所述操作序列对应的执行结果;
第一判断单元,用于判断所有所述操作序列对应的执行结果是否一致;
第一结果单元,若所有所述操作序列对应的执行结果一致,则所述操作序列对应的待测软件功能正常;
第二结果单元,若所有所述操作序列对应的执行结果不一致,则所述操作序列对应的待测软件功能不正常。
另,本公开还提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的软件协同测试方法。
另,本公开还提供一种电子设备,包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述计算机程序实现上述的软件协同测试方法;
实施本公开的一种软件协同测试方法、装置及电子设备,具有以下有益效果:该软件协同测试方法包括下述步骤:选择操作列表中的操作项作为操作序列,产生至少两组所述操作序列;执行所有所述操作序列,保存每组所述操作序列对应的执行结果;判断所有所述操作序列对应的执行结果是否一致;若是,则所述操作序列对应的待测软件功能正常;若否,则所述操作序列对应的待测软件功能不正常。通过实施本公开,可对协作编辑工具进行有效的测试,覆盖更多的输入场景,确保多用户协同编辑的一致性,便于进行调试。
附图说明
下面将结合附图及实施例对本公开作进一步说明,附图中:
图1是本公开实施例提供的一种软件协同测试方法的流程图;
图2是本公开实施例提供的结构示意图;
图3是本公开实施例提供的一种软件协同测试方法的流程图;
图4是本公开实施例提供的一种软件协同测试装置的结构示意图;
图5是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
为了对本公开的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本公开的具体实施方式。
第一实施例
参考图1,本实施例的软件协同测试方法应用于协同软件中,这里所说的协同软件指可允许两个或两个以上用户同时使用的软件,当然该软件也可支持一个用户使用,单个用户使用不属于本实施例的测试范围。在多个用户同时操作该软件中的同一对象时,可使用本实施例提供的协同测试方法进行测试。可选地,本实施例的测试对象软件为在线软件,即运行在浏览器、在线的、可多人同时进行操作的软件,可实现多人同时对软件中的同一对象进行操作。该协同测试方法包括下述步骤:
S10、列出待测软件的所有操作项形成操作列表。在软件编写完成后开始测试,首先列出软件的所有可能操作项,将这些操作项按照一定的规则制作成操作列表,供后续选择使用。可以理解,应尽可能多的列出软件的操作项,以保证测试质量。所谓操作项是指能够实现或完成一定功能的操作,例如对于文档的输入文本、修改文本内容、设置文本格式等。
操作项既可以是实现单一功能的操作,也可以是实现至少两个不同功能的连续操作,即操作项可以简单,也可复杂。
在列出所有操作项后,为实现测试的自动化,需要编写与每个操作项对应的程序代码,通过运行该程序代码即可实现或完成对应的操作项,也就是实现或完成软件的某一项功能;当操作项包含多个功能操作时,对应实现或完成软件的多项功能。这样每个操作项都设置有对应的程序代码,通过执行该程序代码即可实现对应功能检测。
作为选择,若待测软件为在线软件,即运行在浏览器、在线的、可多人同时进行操作的软件,则每个操作项需能模拟用户终端进行在线操作;对应的,每个操作项对应的程序代码也能实现模拟用户终端进行在线操作。
S11、选择操作列表中的操作项作为操作序列,产生至少两组操作序列。在完成操作列表后,在操作列表中选择至少一个操作项作为操作序列,每产生一个操作序列,对应产生一个模拟用户。参考图3,该实施例中选择三组操作序列:操作序列1、操作序列2、操作序列3,对应产生三个模拟用户:模拟用户1、模拟用户2、模拟用户3。在执行三组操作列表过程中,实现了三个模拟用户同时使用软件。
在操作列表中选择操作项的过程中,既可进行手动选择,也可根据预设选择规则进行自动选取,为保证软件测试过程中覆盖到软件的所有功能,本实施例在每次选择操作项过程中,应尽可能多的选择未测试的操作项,这样经过多次多组测试后,会不断扩大操作项范围,最终实现所有操作项的全覆盖。作为选择,可将已选择过的操作项进行标记,每选择一次则增加一次标记数。通过标记,在后续测试过程中,应选择未标记或标记数较低的操作项。
S12、执行所有操作序列,保存每组操作序列对应的执行结果。选择好多组操作序列后,即可模拟多个用户同时操作软件。开始执行检测动作后,所有操作序列按照各自的操作项同时对同一操作对象进行操作,这里所说的同一对象指的是软件中的某一操作对象,例如在线协作编辑工具包括至少一篇在线文档,同一对象即指同一篇文档。另外这里所说的同时执行包括以下几种执行情况:
第一执行情况:所有操作序列同时开始执行各自的操作项;
第二执行情况:其中一部分操作序列先执行各自的操作项,在这些操作序列操作结束之前,其他的操作序列开始执行其操作项;
第三执行情况:按照预设的执行顺序执行操作序列,且必须在前一个操作序列执行结束前开始下一个操作序列的执行;
第四执行情况:一部分操作序列同时开始执行,其他操作序列在前一部分操作序列执行完成后开始执行。
通过以上几种情况,分别模拟不同时间点所进行的同时操作,尽可能的接近用户真正使用软件时的情况,提高测试质量。
经过一段时间执行,待所有操作序列执行完毕后,保存每组操作序列对应对象的执行结果,因每组操作序列都对同一操作对象进行执行,则在执行完毕后,应完成所有操作序列的执行结果同步,待同步完成后保存每组操作序列对应的操作对象的执行结果。可以理解,该执行结果的数量等于操作序列的数量,也就是每个模拟用户都能得一个操作对象的执行结果。
作为选择,保存的执行结果包括以下几种保存方式:
第一保存方式:在每组操作序列执行过程中,保存操作序列执行过程中每个步骤对应的执行结果。
第二保存方式:仅保存操作对象在每组操作序列执行完毕且完成同步后的最终执行结果,每个操作序列对应一个最终执行结果,即每个模拟用户都有属于自己的最终执行结果。
第三保存方式:若操作序列包括多个操作项,则仅保存每个操作项操作结束后对应的执行结果。
第四保存方式:根据预设时间点或时间间隔保存执行结果。
S13、判断所有操作序列对应的执行结果是否一致。待所有操作序列执行完毕且完成同步后,保存执行结果。对应上述保存执行结果方式,判断所有操作序列对应的执行结果是否一致包括下述几种判断方法:
第一判断方式:判断每组操作序列中每个步骤对应的执行结果与其他操作序列对应的执行结果是否一致。作为选择,如果该操作步骤的执行结果还未进行同步,则判断每个步骤对应的执行结果是否与预设执行结果一致。
第二判断方式:判断所有操作序列对应的最终执行结果是否一致,每个操作序列对应一个最终执行结果,即每个模拟用户都有属于自己的最终执行结果,模拟的是多个用户在各自的终端上看到各自的最终执行结果。
第三判断方式:判断操作序列的每个操作项操作结束后对应的执行结果与其他操作序列在对应操作项操作结束后的执行结果是否一致。作为选择,若该操作项操作后未进行同步,则判断每个操作项的执行结果是否与预设执行结果一致。
第四判断方式:判断所有操作项在预设时间点或时间间隔保存执行结果是否一致。
S14、通过判断,若所有操作序列对应的执行结果一致,则操作序列对应的待测软件功能正常。在操作序列对应的待测软件功能正常后,则执行步骤:选择操作列表中的操作项作为操作序列,重新开始下一轮测试操作。
S15、通过判断,若所有操作序列对应的执行结果不一致,则操作序列对应的待测软件功能不正常。若操作序列对应的待测软件功能不正常,则执行下述步骤:
对操作序列进行回放执行,在回放过程中可手动控制回放进程,查找出导致执行结果不一致的异常操作项;根据异常操作项查找出对应的异常程序代码,发现问题,对异常程序代码进行调试。
本实施例通过选择测试项形成多个操作序列,进而模仿多个用户同时操作软件,实现软件功能的测试,可覆盖更多输入场景,提高软件测试效率和质量。
第二实施例
参考图3,在第一实施例的基础上,本实施例中待测软件为在线协作编辑工具,在线协作编辑工具包括至少一篇在线文档。在线协作编辑工具即运行在浏览器、在线的、可多人同时进行操作的编辑工具,对应的在线文档即运行在浏览器、在线的、可多人同时进行操作的文档。
第一实施例中选择操作列表中的操作项作为操作序列包括:选择在线协作编辑工具中的同一篇在线文档的操作列表中的操作项作为操作序列。即
S21、选择在线协作编辑工具中的同一篇在线文档的操作列表中的操作项作为操作序列,产生至少两组操作序列。每产生一个操作序列,即对应产生一个模拟用户。在操作列表选择操作项的过程中,即可进行手动选择,也可根据预设选择规则进行自动选取,为保证在软件测试过程中覆盖到软件的所有功能,本实施例在每次选择操作项过程中,应尽可能多的选择未测试的操作项,这样经过多次多组测试后,会不断扩大操作项范围,最终实现所有操作项的全覆盖。作为选择,可将已选择过的操作项进行标记,每选择一次则增加一次标记数。通过标记,在后续测试过程中,应选择未标记或标记数较低的操作项。
操作项既可以是实现单一功能的操作,也可以是实现至少两个不同功能的连续操作,即操作项可以简单,也可复杂。在列出所有操作项后,为实现测试的自动化,需要编写与每个操作项对应的程序代码,通过运行该程序代码实现或完成对应的操作项,也就是实现或完成在线协作编辑工具的某一项功能;当操作项包含多个功能操作时,对应实现或完成在线协作编辑工具的多项功能。这样每个操作项都设置有对应的程序代码,通过执行该程序代码实现对应功能的检测,然后列出在线协作编辑工具的所有操作项形成操作列表。
可选地,在线协作编辑工具的操作项包括但不限于打开文本、保存文本、输入文本、删除文本、设置文本格式、添加删除标注等,设置文本格式包括但不限于设置文本字体样式、文本颜色、字体大小、字体间距、文本行距等,操作项的内容不能穷尽,能够进行文本操作的都属于操作项。
第一实施例中执行所有操作序列包括:所有操作序列对同一在线文档按照各自的操作项同时进行操作;第一实施例中保存每组操作序列对应的执行结果包括:保存在线文档的数据模型和编辑结果状态截图。即
S22、所有操作序列对同一在线文档按照各自的操作项同时进行操作,保存在线文档的数据模型和编辑结果状态截图。这里所说的对同一在线文档按照各自的操作项同时进行操作包括以下几种执行情况:
第一执行情况:所有操作序列同时开始对同一在线文档执行各自的操作项;
第二执行情况:其中一部分操作序列对同一在线文档先执行各自的操作项,在这些操作序列操作结束之前,其他操作序列开始执行其操作项;
第三执行情况:按照预设执行顺序对同一在线文档执行操作序列,且必须在前一个操作序列执行结束前开始下一个操作序列的执行;
第四执行情况:一部分操作序列对同一在线文档同时开始执行,其他操作序列在前一部分操作序列执行完成后开始执行。
通过以上几种情况,分别模拟不同时间点所进行的同时操作,尽可能的接近用户真正进行在线编辑时的情况,提高测试质量。
经过一段时间执行,待所有操作序列执行完毕后,保存每组操作序列对应对象的执行结果,因每组操作序列都对同一操作对象进行执行,则在执行完毕后,应完成所有操作序列的执行结果同步,待同步完成后保存每组操作序列对应的操作对象的执行结果。可以理解,该执行结果的数量等于操作序列的数量,也就是每个模拟用户都能得一个操作对象的执行结果。
作为选择,保存的执行结果包括以下几种保存方式:
第一保存方式:在每组操作序列执行过程中,保存操作序列执行过程中每个步骤对应的数据模型和编辑结果状态截图。
第二保存方式:仅保存操作对象在每组操作序列执行完毕且完成同步后的最终数据模型和编辑结果状态截图,每个操作序列对应一个最终数据模型和编辑结果状态截图,即每个模拟用户都有属于自己的最终执行结果。
第三保存方式:若操作序列包括多个操作项,则仅保存每个操作项操作结束后对应的数据模型和编辑结果状态截图。
第四保存方式:根据预设时间点或时间间隔保存数据模型和编辑结果状态截图。
第一实施例中判断所有操作序列对应的执行结果是否一致包括:判断所有操作序列对应的数据模型和/或编辑结果状态截图是否一致。即
S23、判断所有操作序列对应的数据模型和/或编辑结果状态截图是否一致。对应上述保存执行结果方式,判断所有操作序列对应的数据模型和/或编辑结果状态截图是否一致包括下述几种判断方法:
第一判断方式:判断每组操作序列中每个步骤对应的数据模型和/或编辑结果状态截图与其他操作序列的对应的数据模型和/或编辑结果状态截图是否一致。作为选择,如果该操作步骤的数据模型和/或编辑结果状态截图还未进行同步,则判断每个步骤对应的数据模型和/或编辑结果状态截图是否与预设数据模型和/或编辑结果状态截图一致。
第二判断方式:判断所有操作序列对应的最终数据模型和/或编辑结果状态截图是否一致,每个操作序列对应一个最终数据模型和/或编辑结果状态截图,即每个模拟用户都有属于自己的最终数据模型和/或编辑结果状态截图。
第三判断方式:判断操作序列的每个操作项操作结束后对应的数据模型和/或编辑结果状态截图与其他操作序列在对应操作项操作结束后的数据模型和/或编辑结果状态截图是否一致。作为选择,若该操作项操作后未进行同步,则判断每个操作项的数据模型和/或编辑结果状态截图与预设数据模型和/或编辑结果状态截图是否一致。
第四判断方式:判断所有操作项在预设时间点或时间间隔保存数据模型和/或编辑结果状态截图是否一致。
S24、通过判断,若数据模型和/或编辑结果状态截图一致,则操作序列对应的在线协作编辑工具功能正常。若操作序列对应的在线协作编辑工具功能正常,则在当前在线文档的编辑状态上或重新选择在线文档后执行步骤:选择操作列表中的操作项作为操作序列,重新开始下一轮测试操作。
S25、通过判断,若数据模型和/或编辑结果状态截图不一致,则操作序列对应的在线协作编辑工具功能不正常。若操作序列对应的待测软件功能不正常,则执行下述步骤:
对操作序列进行回放执行,在回放过程中可手动控制回放进程,查找出导致执行结果不一致的异常操作项;根据异常操作项查找出对应的异常程序代码,即可发现问题,对异常程序代码进行调试。
通过实施本实施例,通过选择测试项形成多个操作序列,进而模仿多个用户同时操作在线协作编辑工具的同一在线文档,实现在线协作编辑工具功能的测试,可覆盖更多输入场景,提高软件测试效率和质量。
参考图4,本公开还提供一种软件协同测试装置40,包括:
第一选择单元401,用于选择操作列表中的操作项作为操作序列,产生至少两组所述操作序列;
执行单元402,用于执行所有所述操作序列,保存每组所述操作序列对应的执行结果;
第一判断单元403,用于判断所有所述操作序列对应的执行结果是否一致;
第一结果单元404,若所有所述操作序列对应的执行结果一致,则所述操作序列对应的待测软件功能正常;
第二结果单元405,若所有所述操作序列对应的执行结果不一致,则所述操作序列对应的待测软件功能不正常。
进一步,本公开的软件协同测试装置还包括:
列举单元,用于列出待测软件的所有操作项形成操作列表。
进一步,本公开的软件协同测试装置,执行单元包括:
操作单元,用于所有操作序列按照各自的操作项同时对同一操作对象进行操作;
第一存储单元,用于保存每组操作序列对应的执行结果包括:
第二存储单元,用于待所有操作序列执行完毕后,保存每组操作序列对应对象的执行结果。
进一步,本公开的软件协同测试装置还包括:
回放单元,用于若所述操作序列对应的待测软件功能不正常,对操作序列进行回放执行,查找出导致执行结果不一致的异常操作项;
查找单元,用于根据异常操作项查找出对应的异常程序代码。
进一步,本公开的软件协同测试装置还包括:
第二选择单元,用于若所述操作序列对应的待测软件功能正常,选择操作列表中的操作项作为操作序列。
进一步,本公开的软件协同测试装置,待测软件为在线协作编辑工具,在线协作编辑工具包括至少一篇在线文档;执行单元包括:
执行子单元,用于所有操作序列对同一在线文档按照各自的操作项同时进行操作;
第三存储到单元,用于保存在线文档的数据模型和编辑结果状态截图。
进一步,本公开的软件协同测试装置中,第一判断单元包括:
第二判断单元,用于判断所有操作序列对应的数据模型和/或编辑结果状态截图是否一致。
另,本公开还提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的软件协同测试方法。
下面参考图5,其示出了适于用来实现本公开实施例的电子设备500的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储装置508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
通常,以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从ROM502被安装。在该计算机程序被处理装置501执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机存储介质或者是上述两者的任意组合。计算机存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取至少两个网际协议地址;向节点评价设备发送包括所述至少两个网际协议地址的节点评价请求,其中,所述节点评价设备从所述至少两个网际协议地址中,选取网际协议地址并返回;接收所述节点评价设备返回的网际协议地址;其中,所获取的网际协议地址指示内容分发网络中的边缘节点。
或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收包括至少两个网际协议地址的节点评价请求;从所述至少两个网际协议地址中,选取网际协议地址;返回选取出的网际协议地址;其中,接收到的网际协议地址指示内容分发网络中的边缘节点。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
通过实施本公开,可对协作编辑工具进行有效的测试,覆盖更多的输入场景,确保多用户协同编辑的一致性,便于进行调试。
以上实施例只为说明本公开的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本公开的内容并据此实施,并不能限制本公开的保护范围。凡跟本公开权利要求范围所做的均等变化与修饰,均应属于本公开权利要求的涵盖范围。
Claims (12)
1.一种软件协同测试方法,其特征在于,包括下述步骤:
选择操作列表中的操作项作为操作序列,产生至少两组所述操作序列;
执行所有所述操作序列,保存每组所述操作序列对应的执行结果;所述执行所有所述操作序列包括:所有所述操作序列按照各自的操作项同时对同一操作对象进行操作;所述保存每组所述操作序列对应的执行结果包括:待所有所述操作序列执行完毕后,保存每组所述操作序列对应对象的执行结果;
判断所有所述操作序列对应的执行结果是否一致;
若是,则所述操作序列对应的待测软件功能正常;
若否,则所述操作序列对应的待测软件功能不正常;
所述待测软件为在线协作编辑工具,所述在线协作编辑工具包括至少一篇在线文档;
所述执行所有所述操作序列包括:所有所述操作序列对同一在线文档按照各自的操作项同时进行操作;
所述保存每组所述操作序列对应的执行结果包括:保存所述在线文档的数据模型和编辑结果状态截图。
2.根据权利要求1所述的软件协同测试方法,其特征在于,在所述选择操作列表中的操作项作为操作序列之前还包括:
列出所述待测软件的所有操作项形成所述操作列表。
3.根据权利要求1所述的软件协同测试方法,其特征在于,若所述操作序列对应的待测软件功能不正常,则执行下述步骤:
对所述操作序列进行回放执行,查找出导致所述执行结果不一致的异常操作项;
根据所述异常操作项查找出对应的异常程序代码。
4.根据权利要求1所述的软件协同测试方法,其特征在于,若所述操作序列对应的待测软件功能正常,则执行所述步骤:
选择操作列表中的操作项作为操作序列。
5.根据权利要求1所述的软件协同测试方法,其特征在于,所述判断所有所述操作序列对应的执行结果是否一致包括:
判断所有所述操作序列对应的数据模型和/或编辑结果状态截图是否一致。
6.一种软件协同测试装置,其特征在于,包括:
第一选择单元,用于选择操作列表中的操作项作为操作序列,产生至少两组所述操作序列;
执行单元,用于执行所有所述操作序列,保存每组所述操作序列对应的执行结果;所述执行单元包括:操作单元,用于所有所述操作序列按照各自的操作项同时对同一操作对象进行操作;第二存储单元,用于待所有所述操作序列执行完毕后,保存每组所述操作序列对应对象的执行结果;
第一判断单元,用于判断所有所述操作序列对应的执行结果是否一致;
第一结果单元,若所有所述操作序列对应的执行结果一致,则所述操作序列对应的待测软件功能正常;
第二结果单元,若所有所述操作序列对应的执行结果不一致,则所述操作序列对应的待测软件功能不正常;
所述执行单元包括:
执行子单元,用于所述待测软件为在线协作编辑工具,所述在线协作编辑工具包括至少一篇在线文档;所有所述操作序列对同一在线文档按照各自的操作项同时进行操作;
第三存储单元,用于保存所述在线文档的数据模型和编辑结果状态截图。
7.根据权利要求6所述的软件协同测试装置,其特征在于,还包括:
列举单元,用于列出所述待测软件的所有操作项形成所述操作列表。
8.根据权利要求6所述的软件协同测试装置,其特征在于,该包括:
回放单元,用于若所述操作序列对应的待测软件功能不正常,对所述操作序列进行回放执行,查找出导致所述执行结果不一致的异常操作项;
查找单元,用于根据所述异常操作项查找出对应的异常程序代码。
9.根据权利要求6所述的软件协同测试装置,其特征在于,还包括:
第二选择单元,用于若所述操作序列对应的待测软件功能正常,选择操作列表中的操作项作为操作序列。
10.根据权利要求6所述的软件协同测试装置,其特征在于,所述第一判断单元包括:
第二判断单元,用于判断所有所述操作序列对应的数据模型和/或编辑结果状态截图是否一致。
11.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任意一项所述的软件协同测试方法。
12.一种电子设备,其特征在于,包括存储器和处理器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述计算机程序实现如权利要求1-5任一项所述的软件协同测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811141051.0A CN109446073B (zh) | 2018-09-28 | 2018-09-28 | 一种软件协同测试方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811141051.0A CN109446073B (zh) | 2018-09-28 | 2018-09-28 | 一种软件协同测试方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109446073A CN109446073A (zh) | 2019-03-08 |
CN109446073B true CN109446073B (zh) | 2022-05-24 |
Family
ID=65544631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811141051.0A Active CN109446073B (zh) | 2018-09-28 | 2018-09-28 | 一种软件协同测试方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109446073B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1873626A (zh) * | 2005-06-01 | 2006-12-06 | 中兴通讯股份有限公司 | 一种自动生成桩和驱动函数的单元测试***及方法 |
CN102141962A (zh) * | 2011-04-07 | 2011-08-03 | 北京航空航天大学 | 一种安全性分布式测试框架***及其测试方法 |
CN102411540A (zh) * | 2012-01-12 | 2012-04-11 | 王轶辰 | 基于工作流的通用软件测试过程自动化管理*** |
CN102650966A (zh) * | 2011-02-24 | 2012-08-29 | 王轶辰 | 一种面向复用的嵌入式软件测试方法及其测试*** |
CN103092820A (zh) * | 2011-10-27 | 2013-05-08 | 镇江雅迅软件有限责任公司 | 一种电子文档协同编辑装置的实现 |
CN104699610A (zh) * | 2015-03-12 | 2015-06-10 | 安一恒通(北京)科技有限公司 | 测试方法和装置 |
CN107622016A (zh) * | 2017-09-25 | 2018-01-23 | 无线生活(杭州)信息科技有限公司 | 一种页面测试方法及装置 |
CN108268364A (zh) * | 2018-01-19 | 2018-07-10 | 百度在线网络技术(北京)有限公司 | 异常事件回放方法、装置及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10599551B2 (en) * | 2016-08-12 | 2020-03-24 | The University Of Chicago | Automatically detecting distributed concurrency errors in cloud systems |
-
2018
- 2018-09-28 CN CN201811141051.0A patent/CN109446073B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1873626A (zh) * | 2005-06-01 | 2006-12-06 | 中兴通讯股份有限公司 | 一种自动生成桩和驱动函数的单元测试***及方法 |
CN102650966A (zh) * | 2011-02-24 | 2012-08-29 | 王轶辰 | 一种面向复用的嵌入式软件测试方法及其测试*** |
CN102141962A (zh) * | 2011-04-07 | 2011-08-03 | 北京航空航天大学 | 一种安全性分布式测试框架***及其测试方法 |
CN103092820A (zh) * | 2011-10-27 | 2013-05-08 | 镇江雅迅软件有限责任公司 | 一种电子文档协同编辑装置的实现 |
CN102411540A (zh) * | 2012-01-12 | 2012-04-11 | 王轶辰 | 基于工作流的通用软件测试过程自动化管理*** |
CN104699610A (zh) * | 2015-03-12 | 2015-06-10 | 安一恒通(北京)科技有限公司 | 测试方法和装置 |
CN107622016A (zh) * | 2017-09-25 | 2018-01-23 | 无线生活(杭州)信息科技有限公司 | 一种页面测试方法及装置 |
CN108268364A (zh) * | 2018-01-19 | 2018-07-10 | 百度在线网络技术(北京)有限公司 | 异常事件回放方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109446073A (zh) | 2019-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107562610B (zh) | 获取页面加载时间的方法、装置、终端和介质 | |
WO2020155777A1 (zh) | Ui自动化功能测试方法、测试装置、测试设备及存储介质 | |
US11838251B2 (en) | Information interaction method, apparatus, device, storage medium and program product | |
CN110716853A (zh) | 一种测试脚本录制方法、应用程序测试方法和相关装置 | |
CN111897740B (zh) | 用户界面的测试方法、装置、电子设备及计算机可读介质 | |
CN113553257B (zh) | 测试方法、装置、存储介质及电子设备 | |
CN108228444A (zh) | 一种测试方法和装置 | |
CN114003451B (zh) | 一种接口测试方法、装置、***及介质 | |
CN110837474A (zh) | 一种脚本录制方法、装置、终端及存储介质 | |
CN112463634A (zh) | 微服务架构下的软件测试方法及装置 | |
CN104809054B (zh) | 实现程序测试的方法和*** | |
CN110855626B (zh) | 电子白板丢包处理方法、***、介质和电子设备 | |
CN112882953A (zh) | 基于安卓调试桥的应用程序的自动演示方法和*** | |
CN107967207A (zh) | 用户界面交互功能的测试方法和装置 | |
US10025697B2 (en) | Generation of automated unit tests for a controller layer system and method | |
CN110022493B (zh) | 播放进度显示方法、装置、电子设备和存储介质 | |
CN109446073B (zh) | 一种软件协同测试方法、装置及电子设备 | |
US20140282426A1 (en) | Divide and conquer approach to scenario timeline activity attribution | |
CN111078533A (zh) | 自动化测试方法及装置、计算机设备和存储介质 | |
CN112363885B (zh) | 检测应用异常的方法、装置、电子设备及计算机可读介质 | |
CN114945188A (zh) | 蓝牙设备测试方法、装置、电子设备及可读存储介质 | |
CN114745313A (zh) | 终端远程测试方法、装置、电子设备和可读介质 | |
CN114564402A (zh) | 任务流程的测试方法、装置、可读介质和电子设备 | |
CN113856202A (zh) | 游戏数据编辑方法、装置、编辑器、可读介质和设备 | |
CN115526580B (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 |