本公开涉及软件测试技术领域,尤其涉及软件测试方法、装置、测试文稿生成方法及装置。
背景技术:
软件测试(英语:softwaretesting),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。
目前,虽然存在测试工具,但对测试执行结果的比对,大部分还需要测试人员人工完成,测试效率较低。另外,测试人员需要花费大量的时间对待测试的软件编写测试用例,测试工作繁重,且容量出现对软件测试不准确或有遗漏的情况。
技术实现要素:
本公开实施例提供软件测试方法、装置、测试文稿生成方法及装置。所述技术方案如下:
根据本公开实施例的第一方面,提供一种软件测试方法,包括:
根据软件对应的测试文稿获取第一原型图、测试命令及第二原型图,所述测试命令包括对所述第一原型图执行设计操作对应的操作信息,所述第二原型图为在所述第一原型图进行所述设计操作后得到的;
在所述软件中执行所述测试命令,得到测试结果页面;
将所述测试结果页面与所述第二原型图进行比对;
根据比对结果确定所述测试命令是否通过。
可选的,所述测试文稿包括:所述第一原型图对应的第一原型图标识所述第二原型图对应的第二原型图标识;
所述根据软件对应的测试文稿获取第一原型图、测试命令及第二原型图,包括:
根据所述第一原型图标识及所述第二原型图标识查找对应的所述第一原型图和所述第二原型图。
可选的,所述方法还包括:
在软件开发过程中,获取在所述第一原型图的设计操作;
根据所述设计操作生成所述测试命令;
获取在所述第一原型图进行所述设计操作后得到的所述第二原型图;
根据所述第一原型图、所述测试命令及所述第二原型图生成测试文稿。
根据本公开实施例的第二方面,提供一种测试文稿生成方法,包括:
在软件开发过程中,获取在第一原型图的设计操作;
根据所述操作生成测试命令;
获取在所述第一原型图进行所述设计操作后得到的第二原型图;
根据所述第一原型图、所述测试命令及所述第二原型图生成测试文稿。
可选的,根据所述第一原型图、所述测试命令及所述第二原型图生成测试文稿,包括:
生成包括所述第一原型图、所述测试命令和所述第二原型图的测试文稿;
或者
获取所述第一原型图对应的第一原型图标识及所述第二原型图对应的第二原型图标识;
生成包括所述第一原型图标识、所述测试命令和所述第二原型图标识的测试文稿。
根据本公开实施例的第三方面,提供一种软件测试装置,包括:
第一获取模块,用于根据软件对应的测试文稿获取第一原型图、测试命令及第二原型图,所述测试命令包括对所述第一原型图执行设计操作对应的操作信息,所述第二原型图为在所述第一原型图进行所述设计操作后得到的;
执行模块,用于在所述软件中执行所述测试命令,得到测试结果页面;
比对模块,用于将所述测试结果页面与所述第二原型图进行比对;
确定模块,用于根据比对结果确定所述测试命令是否通过。
可选的,所述测试文稿包括:所述第一原型图对应的第一原型图标识所述第二原型图对应的第二原型图标识;
所述第一获取模块,用于根据所述第一原型图标识及所述第二原型图标识查找对应的所述第一原型图和所述第二原型图。
可选的,所述装置还包括:
第二获取模块,用于在软件开发过程中,获取在所述第一原型图的设计操作;
第一生成模块,用于根据所述设计操作生成所述测试命令;
第三获取模块,用于获取在所述第一原型图进行所述设计操作后得到的所述第二原型图;
第二生成模块,用于根据所述第一原型图、所述测试命令及所述第二原型图生成测试文稿。
根据本公开实施例的第四方面,提供测试文稿生成装置,包括:
第二获取模块,用于在软件开发过程中,获取在第一原型图的设计操作;
第一生成模块,用于根据所述操作生成测试命令;
第三获取模块,用于获取在所述第一原型图进行所述设计操作后得到的第二原型图;
第二生成模块,用于根据所述第一原型图、所述测试命令及所述第二原型图生成测试文稿。
可选的,所述第二生成模块包括:第一生成子模块,
第一生成子模块,用于生成包括所述第一原型图、所述测试命令和所述第二原型图的测试文稿;
或者所述第二生成模块包括:获取子模块和第二生成子模块,
所述获取子模块,用于获取所述第一原型图对应的第一原型图标识及所述第二原型图对应的第二原型图标识;
所述第二生成子模块,用于生成包括所述第一原型图标识、所述测试命令和所述第二原型图标识的测试文稿。
本公开的实施例提供的技术方案可以包括以下有益效果:软件开发的过程,也是软件测试文稿的生成过程,无需测试人员编写测试文稿,而是根据软件开发过程自动生成测试文稿,减轻测试人员的测试工作。另外,测试文稿中包括对软件开发的每一步设计的测试命令和测试结果,使得后续对该软件的测试更加全面准确。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种测试文稿生成方法的流程图。
图2是根据一示例性实施例示出的一种软件测试方法的流程图。
图3a是根据一示例性实施例示出的一种软件测试装置的框图。
图3b是根据另一示例性实施例示出的一种软件测试装置的框图。
图4是根据一示例性实施例示出的一种测试文稿生成装置的框图。
图5是根据一示例性实施例示出的第二生成模块的框图。
图6是根据另一示例性实施例示出的第二生成模块的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本发明中,在软件开发过程中,就根据开发人员的设计操作自动生成测试文稿。在软件开发完成后,就可以根据该测试文稿对该软件进行测试。
图1是根据一示例性实施例示出的一种测试文稿生成方法的流程图,如图1所示,该测试文稿生成方法包括以下步骤:
步骤s11,在软件开发过程中,获取在第一原型图的设计操作;
步骤s12,根据操作生成测试命令;
步骤s13,获取在第一原型图进行设计操作后得到的第二原型图;
步骤s14,根据第一原型图、测试命令及第二原型图生成测试文稿。
其中,原型图是开发人员设计出的软件界面。在软件开发过程中,当开发人员设计出原型图a后,可点击原型图a中的某个位置(坐标为(x,y)),再设计出点击该位置后的显示结果——原型图b。通过该方法,开发人员一步步地完成该软件的开发。
因此,在软件开发过程中,可根据开发人员点击位置(x,y)生成一个测试命令,并记录点击前后的原型图a和原型图b,从而生成测试文稿。
这样,根据开发人员开发软件的过程,就可以自动生成每一步软件设计对应的测试命令和测试结果,将这些测试命令和测试结果顺序排列后,就可得到对该软件进行测试的完整的测试文稿。
本发明实施例中,软件开发的过程,也是软件测试文稿的生成过程,无需测试人员编写测试文稿,而是根据软件开发过程自动生成测试文稿,减轻测试人员的测试工作。另外,测试文稿中包括对软件开发的每一步设计的测试命令和测试结果,使得后续对该软件的测试更加全面准确。
上述步骤s14包括:生成包括第一原型图、测试命令和第二原型图的测试文稿。
或者上述步骤s14包括:
获取第一原型图对应的第一原型图标识及第二原型图对应的第二原型图标识;
生成包括第一原型图标识、测试命令和第二原型图标识的测试文稿。
本实施例中,该测试文稿中包括操作前的原型图,操作信息及操作后的原型图。或者,该测试文稿可以不包括原型图本身,而仅记录原型图标识,进行测试时,根据原型图标识从存储原型图的文档中调取对应的原型图。
在另一实施例中,该方法还包括测试文稿的生成过程,具体包括以下步骤:
在软件开发过程中,获取在第一原型图的设计操作;
根据设计操作生成测试命令;
获取在第一原型图进行设计操作后得到的第二原型图;
根据第一原型图、测试命令及第二原型图生成测试文稿。
这样,整个测试过程,包括测试文稿的生成及软件测试,都自动完成,无需测试人员的人工操作,大大减轻了测试人员的测试工作,并且,提高测试准确度和效率。
图2是根据一示例性实施例示出的一种软件测试方法的流程图,如图2所示,软件测试方法包括以下步骤:
步骤s21,根据软件对应的测试文稿获取第一原型图、测试命令及第二原型图,测试命令包括对第一原型图执行设计操作对应的操作信息,第二原型图为在第一原型图进行设计操作后得到的;
步骤s22,在软件中执行测试命令,得到测试结果页面;
步骤s23,将测试结果页面与第二原型图进行比对;
步骤s24,根据比对结果确定测试命令是否通过。
在测试过程中,测试软件读取测试文稿中的测试命令,在实际的软件第一原型图对应的页面上执行,记录执行结果,将执行结果与测试文稿中该测试命令对应的第二原型图进行比对,如果两者相同,则该条测试命令通过。
本实施例中,测试过程由测试软件自动完成,无需测试人员将测试结果与测试文稿中的结果进行比对,减轻测试人员的测试工作,并且,提高测试准确度和效率。
测试文稿包括:第一原型图对应的第一原型图标识第二原型图对应的第二原型图标识;上述步骤s22包括:
根据第一原型图标识及第二原型图标识查找对应的第一原型图和第二原型图。
本实施例中,该测试文稿可以不包括原型图本身,而仅记录原型图标识,进行测试时,根据原型图标识从存储原型图的文档中调取对应的原型图。
下述为本公开装置实施例,可以用于执行本公开方法实施例。
图3a是根据一示例性实施例示出的一种软件测试装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图3a所示,该软件测试装置包括:
第一获取模块31,用于根据软件对应的测试文稿获取第一原型图、测试命令及第二原型图,测试命令包括对第一原型图执行设计操作对应的操作信息,第二原型图为在第一原型图进行设计操作后得到的;
执行模块32,用于在软件中执行测试命令,得到测试结果页面;
比对模块33,用于将测试结果页面与第二原型图进行比对;
确定模块34,用于根据比对结果确定测试命令是否通过。
其中,原型图是开发人员设计出的软件界面。在软件开发过程中,当开发人员设计出原型图a后,可点击原型图a中的某个位置(坐标为(x,y)),再设计出点击该位置后的显示结果——原型图b。通过该方法,开发人员一步步地完成该软件的开发。
因此,在软件开发过程中,可根据开发人员点击位置(x,y)生成一个测试命令,并记录点击前后的原型图a和原型图b,从而生成测试文稿。
这样,根据开发人员开发软件的过程,就可以自动生成每一步软件设计对应的测试命令和测试结果,将这些测试命令和测试结果顺序排列后,就可得到对该软件进行测试的完整的测试文稿。
本发明实施例中,软件开发的过程,也是软件测试文稿的生成过程,无需测试人员编写测试文稿,而是根据软件开发过程自动生成测试文稿,减轻测试人员的测试工作。另外,测试文稿中包括对软件开发的每一步设计的测试命令和测试结果,使得后续对该软件的测试更加全面准确。
在另一实施例中,测试文稿包括:第一原型图对应的第一原型图标识第二原型图对应的第二原型图标识。第一获取模块31,用于根据第一原型图标识及第二原型图标识查找对应的第一原型图和第二原型图。
本实施例中,该测试文稿中包括操作前的原型图,操作信息及操作后的原型图。或者,该测试文稿可以不包括原型图本身,而仅记录原型图标识,进行测试时,根据原型图标识从存储原型图的文档中调取对应的原型图。
图3b是根据另一示例性实施例示出的一种软件测试装置的框图,如图3b所示,在另一实施例中,该装置还包括:
第二获取模块35,用于在软件开发过程中,获取在第一原型图的设计操作;
第一生成模块36,用于根据设计操作生成测试命令;
第三获取模块37,用于获取在第一原型图进行设计操作后得到的第二原型图;
第二生成模块38,用于根据第一原型图、测试命令及第二原型图生成测试文稿。
这样,整个测试过程,包括测试文稿的生成及软件测试,都自动完成,无需测试人员的人工操作,大大减轻了测试人员的测试工作,并且,提高测试准确度和效率。
图4是根据一示例性实施例示出的一种测试文稿生成装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图4所示,该测试文稿生成装置包括:
第二获取模块41,用于在软件开发过程中,获取在第一原型图的设计操作;
第一生成模块42,用于根据操作生成测试命令;
第三获取模块43,用于获取在第一原型图进行设计操作后得到的第二原型图;
第二生成模块44,用于根据第一原型图、测试命令及第二原型图生成测试文稿。
在测试过程中,测试软件读取测试文稿中的测试命令,在实际的软件第一原型图对应的页面上执行,记录执行结果,将执行结果与测试文稿中该测试命令对应的第二原型图进行比对,如果两者相同,则该条测试命令通过。
本实施例中,测试过程由测试软件自动完成,无需测试人员将测试结果与测试文稿中的结果进行比对,减轻测试人员的测试工作,并且,提高测试准确度和效率。
图5是根据一示例性实施例示出的第二生成模块的框图,在另一实施例中,第二生成模块44包括:第一生成子模块51,
第一生成子模块51,用于生成包括第一原型图、测试命令和第二原型图的测试文稿。
图6是根据另一示例性实施例示出的第二生成模块的框图,在另一实施例中,第二生成模块44包括:获取子模块61和第二生成子模块62,
获取子模块61,用于获取第一原型图对应的第一原型图标识及第二原型图对应的第二原型图标识;
第二生成子模块62,用于生成包括第一原型图标识、测试命令和第二原型图标识的测试文稿。
本实施例中,该测试文稿可以不包括原型图本身,而仅记录原型图标识,进行测试时,根据原型图标识从存储原型图的文档中调取对应的原型图。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。