软件测试方法、装置、电子设备及计算机可读介质.pdf

上传人:n****g 文档编号:10796929 上传时间:2021-08-12 格式:PDF 页数:18 大小:884.74KB
收藏 版权申诉 举报 下载
软件测试方法、装置、电子设备及计算机可读介质.pdf_第1页
第1页 / 共18页
软件测试方法、装置、电子设备及计算机可读介质.pdf_第2页
第2页 / 共18页
软件测试方法、装置、电子设备及计算机可读介质.pdf_第3页
第3页 / 共18页
文档描述:

《软件测试方法、装置、电子设备及计算机可读介质.pdf》由会员分享,可在线阅读,更多相关《软件测试方法、装置、电子设备及计算机可读介质.pdf(18页完成版)》请在专利查询网上搜索。

1、(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201911173755.0 (22)申请日 2019.11.26 (71)申请人 京东数字科技控股有限公司 地址 100176 北京市大兴区北京经济技术 开发区科创十一街18号C座2层221室 (72)发明人 马宇超 (74)专利代理机构 北京律智知识产权代理有限 公司 11438 代理人 王辉阚梓瑄 (51)Int.Cl. G06F 11/36(2006.01) (54)发明名称 软件测试方法、 装置、 电子设备及计算机可 读介质 (57)摘要 本公开涉及一种软件测试方法、 。

2、装置、 电子 设备及计算机可读介质, 属于测试技术领域。 该 方法包括: 根据不同的软件测试类型确定与待测 试的软件相对应的多个测试模块, 并获取当前测 试阶段各个测试模块的重要性权值; 根据重要性 权值为各个测试模块分配测试资源, 并对测试模 块进行测试, 得到各个测试模块在当前测试阶段 的测试结果; 根据各个测试模块在当前测试阶段 的测试结果对测试模块进行排序; 根据测试模块 在当前测试阶段的排序结果按照预设资源分配 比例分配得到下一测试阶段各个测试模块的重 要性权值。 本公开通过将测试资源按照各个阶段 的重要性权值分配给各个测试模块, 可以使软件 测试的过程更加客观和充分, 从而在一定程。

3、度上 提升软件的质量。 权利要求书2页 说明书11页 附图4页 CN 110908911 A 2020.03.24 CN 110908911 A 1.一种软件测试方法, 其特征在于, 包括: 根据不同的软件测试类型确定与待测试的软件相对应的多个测试模块, 并获取当前测 试阶段各个所述测试模块的重要性权值; 根据所述重要性权值为各个所述测试模块分配测试资源, 并对所述测试模块进行测 试, 得到各个所述测试模块在当前测试阶段的测试结果; 根据各个所述测试模块在当前测试阶段的测试结果对所述测试模块进行排序; 根据所述测试模块在当前测试阶段的排序结果按照预设资源分配比例分配得到下一 测试阶段各个所述测。

4、试模块的重要性权值。 2.根据权利要求1所述的软件测试方法, 其特征在于, 所述获取当前测试阶段各个所述 测试模块的重要性权值, 包括: 若所述当前测试阶段为初始测试阶段, 则根据预设资源分配比例得到各个所述测试模 块的重要性权值; 若所述当前测试阶段为中间测试阶段, 则根据上一测试阶段的排序结果按照预设资源 分配比例分配得到当前测试阶段各个所述测试模块的重要性权值。 3.根据权利要求1所述的软件测试方法, 其特征在于, 所述测试结果包括当前测试阶段 对所述测试模块进行测试后得到的各个测试模块的质量指标, 其中, 所述质量指标用于判 断各个测试模块在当前测试阶段的质量, 以根据所述测试模块的质。

5、量对所述测试模块进行 排序。 4.根据权利要求1所述的软件测试方法, 其特征在于, 所述预设资源分配比例包括第一 预设资源分配比例和第二预设资源分配比例, 所述根据所述测试模块在当前测试阶段的排 序结果按照预设资源分配比例分配得到下一测试阶段各个所述测试模块的重要性权值, 包 括: 获取所述测试模块的总数, 并根据所述测试模块的总数和预设模块分配比例, 按照所 述测试模块的排序结果将所述测试模块组成的测试模块集合分为第一测试模块集合和第 二测试模块集合; 根据所述第一预设资源分配比例确定所述第一测试模块集合中各个测试模块在下一 测试阶段的重要性权值; 根据所述第二预设资源分配比例确定所述第二测。

6、试模块集合中各个测试模块在下一 测试阶段的重要性权值。 5.根据权利要求4所述的软件测试方法, 其特征在于, 所述根据所述测试模块的总数和 预设模块分配比例, 按照所述测试模块的排序结果将所述测试模块组成的测试模块集合分 为第一测试模块集合和第二测试模块集合, 包括: 根据所述测试模块的总数和预设模块分配比例确定第一测试模块总数和第二测试模 块总数; 根据所述第一测试模块总数按照所述测试模块的排序结果得到第一测试模块集合中 的测试模块, 根据所述第二测试模块总数按照所述测试模块的排序结果得到第二测试模块 集合中的测试模块。 6.根据权利要求1所述的软件测试方法, 其特征在于, 所述根据所述重要。

7、性权值给各个 所述测试模块分配测试资源, 包括: 权利要求书 1/2 页 2 CN 110908911 A 2 确定所述待测试的软件的测试阶段总数; 获取所述测试资源的总量, 并根据所述测试资源的总量和所述测试阶段总数确定各个 测试阶段的测试资源; 根据各个测试阶段的测试资源按照所述重要性权值给各个所述测试模块分配测试资 源。 7.根据权利要求1所述的软件测试方法, 其特征在于, 所述根据不同的软件测试类型确 定与待测试的软件相对应的多个测试模块, 包括: 确定软件的实际测试需求, 并根据所述实际测试需求确定多个软件测试类型; 根据所述软件测试类型确定与待测试的软件相对应的多个测试模块。 8.。

8、一种软件测试装置, 其特征在于, 包括: 权值获取单元, 用于根据不同的软件测试类型确定与待测试的软件相对应的多个测试 模块, 并获取当前测试阶段各个所述测试模块的重要性权值; 模块测试单元, 用于根据所述重要性权值为各个所述测试模块分配测试资源, 并对所 述测试模块进行测试, 得到各个所述测试模块在当前测试阶段的测试结果; 模块排序单元, 用于根据各个所述测试模块在当前测试阶段的测试结果对所述测试模 块进行排序; 权值计算单元, 用于根据所述测试模块在当前测试阶段的排序结果按照预设资源分配 比例分配得到下一测试阶段各个所述测试模块的重要性权值。 9.一种电子设备, 其特征在于, 包括: 处理。

9、器; 以及 存储器, 用于存储一个或多个程序, 当所述一个或多个程序被所述一个或多个处理器 执行时, 使得所述一个或多个处理器实现如权利要求1至7中任一项所述的软件测试方法。 10.一种计算机可读存储介质, 其上存储有计算机程序, 其特征在于, 所述程序被处理 器执行时实现如权利要求1至7中任一项所述的软件测试方法。 权利要求书 2/2 页 3 CN 110908911 A 3 软件测试方法、 装置、 电子设备及计算机可读介质 技术领域 0001 本公开涉及测试技术领域, 具体而言, 涉及一种软件测试方法、 软件测试装置、 电 子设备及计算机可读介质。 背景技术 0002 互联网行业的软件开发。

10、过程面临着业务、 流量和用户获取等压力, 导致其具有迭 代快速、 文档缺失、 需求不稳定等缺陷。 软件开发过程经常被压缩工期后仓促完成, 而软件 测试是工程实践中最容易被压缩工期的部分。 0003 目前业内规划软件测试的过程, 主要依靠管理者和执行者的主观经验。 软件测试 能否在有限时间内达到预设效果, 与参与者的业务能力关系较大, 不够客观。 0004 在整体时间被压缩的情况下, 缺乏合理规划意味着减少测试时间、 测试内容。 测试 过程变得越来越不充分, 导致软件质量变差。 0005 需要说明的是, 在上述背景技术部分公开的信息仅用于加强对本公开的背景的理 解, 因此可以包括不构成对本领域普。

11、通技术人员已知的现有技术的信息。 发明内容 0006 本公开的目的在于提供一种软件测试方法、 软件测试装置、 电子设备及计算机可 读介质, 进而至少在一定程度上使软件测试的过程更加客观和充分, 从而提升软件的质量。 0007 根据本公开的第一个方面, 提供一种软件测试方法, 包括: 0008 根据不同的软件测试类型确定与待测试的软件相对应的多个测试模块, 并获取当 前测试阶段各个所述测试模块的重要性权值; 0009 根据各个所述测试模块在当前测试阶段的测试结果对所述测试模块进行排序; 0010 根据所述测试模块在当前测试阶段的排序结果按照预设资源分配比例分配得到 下一测试阶段各个所述测试模块的。

12、重要性权值。 0011 在本公开的一种示例性实施例中, 所述获取当前测试阶段各个所述测试模块的重 要性权值, 包括: 0012 若所述当前测试阶段为初始测试阶段, 则根据预设资源分配比例得到各个所述测 试模块的重要性权值; 0013 若所述当前测试阶段为中间测试阶段, 则根据上一测试阶段的排序结果按照预设 资源分配比例分配得到当前测试阶段各个所述测试模块的重要性权值。 0014 在本公开的一种示例性实施例中, 所述测试结果包括当前测试阶段对所述测试模 块进行测试后得到的各个测试模块的质量指标, 其中, 所述质量指标用于判断各个测试模 块在当前测试阶段的质量, 以根据所述测试模块的质量对所述测试。

13、模块进行排序。 在本公 开的一种示例性实施例中, 所述预设资源分配比例包括第一预设资源分配比例和第二预设 资源分配比例, 所述根据所述测试模块在当前测试阶段的排序结果按照预设资源分配比例 分配得到下一测试阶段各个所述测试模块的重要性权值, 包括: 说明书 1/11 页 4 CN 110908911 A 4 0015 获取所述测试模块的总数, 并根据所述测试模块的总数和预设模块分配比例, 按 照所述测试模块的排序结果将所述测试模块组成的测试模块集合分为第一测试模块集合 和第二测试模块集合; 0016 根据所述第一预设资源分配比例确定所述第一测试模块集合中各个测试模块在 下一测试阶段的重要性权值;。

14、 0017 根据所述第二预设资源分配比例确定所述第二测试模块集合中各个测试模块在 下一测试阶段的重要性权值。 0018 在本公开的一种示例性实施例中, 所述根据所述测试模块的总数和预设模块分配 比例, 按照所述测试模块的排序结果将所述测试模块组成的测试模块集合分为第一测试模 块集合和第二测试模块集合, 包括: 0019 根据所述测试模块的总数和预设模块分配比例确定第一测试模块总数和第二测 试模块总数; 0020 根据所述第一测试模块总数按照所述测试模块的排序结果得到第一测试模块集 合中的测试模块, 根据所述第二测试模块总数按照所述测试模块的排序结果得到第二测试 模块集合中的测试模块。 0021。

15、 在本公开的一种示例性实施例中, 所述根据所述重要性权值给各个所述测试模块 分配测试资源, 包括: 0022 确定所述待测试的软件的测试阶段总数; 0023 获取所述测试资源的总量, 并根据所述测试资源的总量和所述测试阶段总数确定 各个测试阶段的测试资源; 0024 根据各个测试阶段的测试资源按照所述重要性权值给各个所述测试模块分配测 试资源。 0025 在本公开的一种示例性实施例中, 所述根据不同的软件测试类型确定与待测试的 软件相对应的多个测试模块, 包括: 0026 确定软件的实际测试需求, 并根据所述实际测试需求确定多个软件测试类型; 0027 根据所述软件测试类型确定与待测试的软件相。

16、对应的多个测试模块。 0028 根据本公开的第二方面, 提供一种软件测试装置, 包括: 0029 权值获取单元, 用于根据不同的软件测试类型确定与待测试的软件相对应的多个 测试模块, 并获取当前测试阶段各个所述测试模块的重要性权值; 0030 模块测试单元, 用于根据所述重要性权值为各个所述测试模块分配测试资源, 并 对所述测试模块进行测试, 得到各个所述测试模块在当前测试阶段的测试结果; 0031 模块排序单元, 用于根据各个所述测试模块在当前测试阶段的测试结果对所述测 试模块进行排序; 0032 权值计算单元, 用于根据所述测试模块在当前测试阶段的排序结果按照预设资源 分配比例分配得到下一。

17、测试阶段各个所述测试模块的重要性权值。 0033 根据本公开的第三方面, 提供一种电子设备, 包括: 处理器; 以及存储器, 用于存储 所述处理器的可执行指令; 其中, 所述处理器配置为经由执行所述可执行指令来执行上述 任意一项所述的软件测试方法。 0034 根据本公开的第四方面, 提供一种计算机可读介质, 其上存储有计算机程序, 所述 说明书 2/11 页 5 CN 110908911 A 5 计算机程序被处理器执行时实现上述任意一项所述的软件测试方法。 0035 本公开示例性实施例可以具有以下有益效果: 0036 本公开示例实施方式的软件测试方法中, 是通过上一阶段的测试结果迭代计算下 一。

18、阶段各个测试模块的重要性权值, 并将测试资源按照每个阶段的重要性权值分配给各个 测试模块, 依照模块的重要程度分配测试资源, 对比较重要的模块, 或者上一轮次测试结果 较差的模块做针对性处理, 在下一轮的测试中投入更多的测试资源, 可以使时间、 人力等资 源的分配更加合理, 进而减少测试资源的浪费, 并使软件测试的过程更加充分, 更加客观, 减少线上出现问题的几率, 从而提高软件质量。 0037 应当理解的是, 以上的一般描述和后文的细节描述仅是示例性和解释性的, 并不 能限制本公开。 附图说明 0038 此处的附图被并入说明书中并构成本说明书的一部分, 示出了符合本公开的实施 例, 并与说明。

19、书一起用于解释本公开的原理。 显而易见地, 下面描述中的附图仅仅是本公开 的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据 这些附图获得其他的附图。 0039 图1示出了本公开示例实施方式的软件测试方法的流程示意图; 0040 图2示出了本公开示例实施方式的获取当前测试阶段权值的流程示意图; 0041 图3示出了本公开示例实施方式的根据排序结果确定下一阶段权值的流程示意 图; 0042 图4示出了本公开示例实施方式的测试模块分类的流程示意图; 0043 图5示出了本公开示例实施方式的分配测试资源的流程示意图; 0044 图6示出了本公开示例实施方式的确定测。

20、试模块的流程示意图; 0045 图7示出了根据本公开的一个具体实施方式中软件测试方法的流程示意图; 0046 图8示出了本公开示例实施方式的软件测试装置的框图; 0047 图9示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。 具体实施方式 0048 现在将参考附图更全面地描述示例实施方式。 然而, 示例实施方式能够以多种形 式实施, 且不应被理解为限于在此阐述的范例; 相反, 提供这些实施方式使得本公开将更加 全面和完整, 并将示例实施方式的构思全面地传达给本领域的技术人员。 所描述的特征、 结 构或特性可以以任何合适的方式结合在一个或更多实施方式中。 在下面的描述中, 提供。

21、许 多具体细节从而给出对本公开的实施方式的充分理解。 然而, 本领域技术人员将意识到, 可 以实践本公开的技术方案而省略所述特定细节中的一个或更多, 或者可以采用其它的方 法、 组元、 装置、 步骤等。 在其它情况下, 不详细示出或描述公知技术方案以避免喧宾夺主而 使得本公开的各方面变得模糊。 0049 此外, 附图仅为本公开的示意性图解, 并非一定是按比例绘制。 图中相同的附图标 记表示相同或类似的部分, 因而将省略对它们的重复描述。 附图中所示的一些方框图是功 能实体, 不一定必须与物理或逻辑上独立的实体相对应。 可以采用软件形式来实现这些功 说明书 3/11 页 6 CN 1109089。

22、11 A 6 能实体, 或在一个或多个硬件模块或集成电路中实现这些功能实体, 或在不同网络和/或处 理器装置和/或微控制器装置中实现这些功能实体。 0050 在一些相关的实施例中, 测试资源的投入方案大多依据管理者和执行者的经验进 行, 缺乏科学规划。 本示例实施方式将软件依据业务内容进行模块分类, 并依照模块重要程 度、 前期质量等要素进行价值模型建模, 将软件开发过程中各个阶段的测试资源依据模型 中重要性权值进行分配, 从而为提升软件的整体质量提出一种可行性方案。 0051 本示例实施方式首先提供了一种软件测试方法。 参考图1所示, 上述软件测试方法 可以包括以下步骤: 0052 步骤S1。

23、10.根据不同的软件测试类型确定与待测试的软件相对应的多个测试模 块, 并获取当前测试阶段各个测试模块的重要性权值。 0053 本示例实施方式中, 首先将软件A根据不同的软件测试类型分为多个不同的测试 模块A1An, 分类可以根据实际测试需求进行, 如按照ISO/IEC 25010软件质量特性分类、 按照业务需求分类等, 在本示例实施方式中不做具体限定。 0054 获取当前测试阶段各个测试模块的重要性权值, 即根据当前测试阶段各个测试模 块的重要性进行排序, 并根据重要性排序的结果为各个模块分配重要性权值, 从而根据重 要性权值进行资源的分配。 0055 步骤S120.根据重要性权值为各个测试。

24、模块分配测试资源, 并对测试模块进行测 试, 得到各个测试模块在当前测试阶段的测试结果。 0056 测试资源主要指人员工时和电子设备等资源, 每个测试阶段的测试结果可以是具 体的数据或比例, 是用来反映当前阶段各个模块的质量指标, 依据当前阶段的质量指标, 在 下一轮的迭代中更新模块的重要性权值。 0057 例如, 可以将重要性前20的工作要投入80的资源来做, 剩下80的工作投入 剩下的20资源。 在重要的20和不重要的80的模块中, 每个模块均分资源, 即各自平分 对应的重要性权值。 0058 步骤S130.根据各个测试模块在当前测试阶段的测试结果对测试模块进行排序; 测试结果包括当前测试。

25、阶段对测试模块进行测试后得到的各个测试模块的质量指标, 其 中, 质量指标用于判断各个测试模块在当前测试阶段的质量, 代表这个模块在这一阶段的 质量高低。 具体而言, 质量指标可以是具体的数据或者比例, 例如模块的覆盖率等等, 且各 个模块之间的质量指标可以相互比较, 从而判断测试模块之间质量的高低。 根据测试模块 的质量对测试模块进行排序, 从而根据排序结果分配下一阶段的资源。 0059 步骤S140.根据测试模块在当前测试阶段的排序结果按照预设资源分配比例分配 得到下一测试阶段各个测试模块的重要性权值。 0060 根据各个测试模块在当前测试阶段的测试结果, 即根据当前阶段各个模块的质量 指。

26、标得到的排序结果, 以及预设资源分配比例重新分配下一阶段各个模块的重要性权值, 也就是给质量较差的模块, 分配更多的资源。 0061 预设资源分配比例是指按照各个模块的排序结果分配测试资源时预先设定的资 源分配比例, 根据各个模块的重要程度, 可以给比较重要的模块设置较高的资源分配比例, 以投入较多的资源对其进行测试; 而对于重要程度较低的模块, 可以分配较少的资源, 从而 使测试资源的分配更加合理。 说明书 4/11 页 7 CN 110908911 A 7 0062 得到当前阶段的测试结果并根据质量指标对测试模块进行排序后, 在下一测试阶 段, 可以认为质量差的测试模块的重要性高, 因此在。

27、分配重要性权值时考虑给其投入更多 的测试资源。 0063 例如, 在模块测试这个阶段, a模块由于工期不够等原因没有进行测试, 而b模块的 覆盖率达标, 如果二者上一阶段输入的权值相同, 那么在这个阶段后, 则说明b模块的潜在 缺陷较少, 将在下一阶段向a模块投入更多资源。 其中, 覆盖率就是指模块测试这个阶段的 质量指标, 即这一阶段的输出结果。 0064 本示例实施方式中, 可以基于帕累托优化的软件测试规划方法, 及依托其实现的 可视化系统, 其核心内容在于, 在软件测试的第m阶段, 基于帕累托原则计算每个阶段该软 件的A1An模块的重要性权值k1kn, 并将第m阶段的权值km作为第m+1。

28、阶段的初始条件, 得 到m+1阶段的重要性权值, 从而得到各个阶段的重要性权值矩阵: 0065 0066 使用kmn确定第m阶段中An模块的权值, 从而利用该值指导软件测试的资源投入方 案。 0067 帕累托优化(Pareto Improvement), 也称为帕累托改善或帕累托改进, 又名80/20 定律, 是以意大利经济学家帕累托(Vilfredo Pareto)命名的, 并基于帕累托最优变化, 在 没有使任何模块的情况变坏的前提下, 使得至少一个模块变得更好。 一方面, 帕累托最优是 指没有进行帕累托改进余地的状态; 另一方面, 帕累托改进是达到帕累托最优的路径和方 法。 帕累托最优是公。

29、平与效率的 “理想王国” 。 具体来讲, 上述80/20定律就是把80的资源 花在能得到关键产出的20的部分, 这20的部分又能带动其余80的发展, 即合理地分 配时间和精力, 在取得最优结果的同时减少资源损耗。 0068 反复执行步骤S110至S140, 直到测试过程结束, 可以得到权重集矩阵: 0069 0070 及整体测试结果集C。 0071 利用Java代码对上述方法进行编程实现, 使上述方法具有简洁、 可视化的特性, 在 实际的测试过程中便于使用。 0072 下面, 结合图2至图6对本示例实施方式的上述步骤进行更加详细的说明。 0073 在步骤S110中, 如图2所示, 获取当前测试。

30、阶段各个测试模块的重要性权值, 具体 可以包括以下几个步骤: 0074 步骤S210.若当前测试阶段为初始测试阶段, 则根据预设资源分配比例得到各个 测试模块的重要性权值。 0075 若当前测试阶段为初始测试阶段, 则无法获取上一阶段的测试结果并根据测试结 果分配各个模块的重要性权值, 因此, 可以根据预先输入的重要性参数, 将各个模块按照重 要性的高低进行排序, 并按照预设资源分配比例给各个模块分配初始重要性权值。 说明书 5/11 页 8 CN 110908911 A 8 0076 具体地, 例如, 对模块A1.An的初始重要权值k01k0n进行定义。 以软件A是按照 ISO/IEC 25。

31、010质量模型进行分类举例, ISO/IEC 25010是近年来使用比较广泛的软件质量 模型, ISO/IEC 25010质量模型中提出了8个质量特征: 功能性, 安全性, 互用性, 可靠性, 可 用性, 效率, 可维护性和可移植性, 对应的软件测试类型包括: 功能测试、 安全测试、 易用性 测试、 压力测试、 强调测试、 可用性测试、 性能测试、 稳定性测试、 安装测试和移植测试, 因 此, 测试模块的总数N10。 在这里, 一般情况下认为功能测试和安全性测试的重要性高于 其他8个模块的测试, 如果以F表示软件测试资源的总比例, 有: 0077 0078 其中, k0i表示初始重要性权值k0。

32、1k0n, 上述公式表示, 软件测试资源的总比例F按 照阶段数M平分给各个阶段, 每个阶段获取的资源总量相同。 0079 根据帕累托原则可知: 0080 0081 0082 其中, k01和k02表示功能测试和安全性测试模块的初始重要性权值。 依照上述公 式, 可以给功能测试和安全性测试模块在初始阶段分配80的资源比例, 给剩下的模块在 初始阶段分配20的资源比例, 在软件测试资源的总比例F和测试阶段数M已知的情况下, 初始重要性权重集K0计算完成。 0083 利用权重集K0定义软件测试第一阶段的测试任务分配方案, 权重为k0n的模块获 得对应权重的测试资源。 执行本阶段测试, 可以得到第一阶。

33、段的结果集C1。 0084 步骤S220.若当前测试阶段为中间测试阶段, 则根据上一测试阶段的排序结果按 照预设资源分配比例分配得到当前测试阶段各个测试模块的重要性权值。 0085 若当前测试阶段为中间测试阶段, 则根据上一测试阶段的测试结果, 即根据上一 阶段各个模块的质量指标得到的各个模块的排序结果, 重新分配下一阶段各个模块的重要 性权值, 简而言之就是给上一阶段质量较差的模块, 在下一阶段分配更多的资源。 0086 在步骤S140中, 如图3所示, 根据测试模块在当前测试阶段的排序结果按照预设资 源分配比例分配得到下一测试阶段各个测试模块的重要性权值, 具体可以包括以下几个步 骤: 0。

34、087 步骤S310.获取测试模块的总数, 并根据测试模块的总数和预设模块分配比例, 按 照测试模块的排序结果将测试模块组成的测试模块集合分为第一测试模块集合和第二测 试模块集合。 0088 第一测试模块集合为重要性较高的一小部分模块所占的比例, 可以为20, 也可 以为30, 在这里不做具体限定。 第二测试模块集合为重要性较低的大部分模块所占的比 例, 可以为80, 也可以为70, 在这里也不做具体限定。 0089 本示例实施方式中, 可以给重要性前20的测试模块, 即第一测试模块集合投入 80的测试资源, 剩下80的测试模块, 即第二测试模块集合投入剩下的20测试资源。 0090 步骤S3。

35、20.根据第一预设资源分配比例确定第一测试模块集合中各个测试模块在 说明书 6/11 页 9 CN 110908911 A 9 下一测试阶段的重要性权值。 0091 预设资源分配比例包括第一预设资源分配比例和第二预设资源分配比例。 其中, 第一预设资源分配比例即分配给重要性高的一部分模块的大部分资源所占的比例, 可以为 80, 也可以为70, 在这里也不做具体限定。 0092 具体地, 例如, 可以给重要性前20的测试模块, 即第一测试模块集合中的测试模 块, 分配80的测试资源, 其中每个模块均分测试资源, 即各自平分对应的重要性权值。 0093 步骤S330.根据第二预设资源分配比例确定第。

36、二测试模块集合中各个测试模块在 下一测试阶段的重要性权值。 0094 第二预设资源分配比例即重要性低的一小部分资源所占的比例, 可以为20, 也 可以为30, 在这里不做具体限定。 0095 具体地, 例如, 可以给重要性后80的测试模块, 即第二测试模块集合中的测试模 块, 分配20的测试资源, 其中每个模块均分测试资源, 即各自平分对应的重要性权值。 0096 在步骤S310中, 如图4所示, 根据测试模块的总数和预设模块分配比例, 按照测试 模块的排序结果将测试模块组成的测试模块集合分为第一测试模块集合和第二测试模块 集合, 具体可以包括以下几个步骤: 0097 步骤S410.根据测试模。

37、块的总数和预设模块分配比例确定第一测试模块总数和第 二测试模块总数。 0098 获取测试模块的总数, 可以据测试模块的总数和预设模块分配比例确定第一测试 模块总数和第二测试模块总数。 例如, 如果测试模块的总数为10, 预设模块分配比例是相对 重要的模块在模块总数中占20, 则重要与不重要的模块比例分配为2:8。 如果测试模块的 总数为6, 则将重要与不重要的模块比例分配为1:5; 总的来说, 大致可以按照重要性高的模 块占20左右的比例为最佳, 若测试模块的总数与20和80的比例计算后不能得到整数 的个数, 则根据四舍五入后的值确定第一测试模块总数和第二测试模块总数。 0099 步骤S420。

38、.根据第一测试模块总数按照测试模块的排序结果得到第一测试模块集 合中的测试模块, 根据第二测试模块总数按照测试模块的排序结果得到第二测试模块集合 中的测试模块。 0100 确定第一测试模块总数和第二测试模块总数后, 就可以根据第一测试模块总数按 照测试模块的排序结果得到第一测试模块集合中的测试模块, 根据第二测试模块总数按照 测试模块的排序结果得到第二测试模块集合中的测试模块, 从而将测试模块组成的测试模 块集合分为第一测试模块集合和第二测试模块集合。 0101 例如, 测试模块总数为10, 第一测试模块总数为2, 第二测试模块总数为8, 则按照 测试模块的排序结果, 从根据质量指标排序好的1。

39、0个测试模块中, 取出前两个质量较差的, 即重要程度较高的模块放入第一测试模块集合中, 剩下的8个重要程度较低的测试模块, 将 其放入第二测试模块集合中。 0102 至此, 图3和图4完整地说明了本示例实施方式中根据当前测试阶段的测试结果确 定下一测试阶段重要性权值的方法步骤。 0103 在步骤S120中, 如图5所示, 根据重要性权值给各个测试模块分配测试资源, 具体 可以包括以下几个步骤: 0104 步骤S510.确定待测试的软件的测试阶段总数。 说明书 7/11 页 10 CN 110908911 A 10 0105 定义该次软件测试的阶段总数M。 以典型的软件开发项目为例, 互联网软件。

40、项目A, 如果采取瀑布模型的开发过程, 共存在需求评审、 单元测试、 代码走查、 接口测试、 系统测试 五个过程, 那么待测试的软件的测试阶段总数M5。 对应的, 将会产出需求评审结果集、 单 元测试覆盖率及结果集、 代码走查问题及结果集、 接口测试缺陷及结果集、 系统测试缺陷及 结果集五个部分的输出结果。 0106 步骤S520.获取测试资源的总量, 并根据测试资源的总量和测试阶段总数确定各 个测试阶段的测试资源。 0107 获取测试资源的总量, 并将上述测试资源的总量按照测试阶段总数M平分, 每个阶 段获得的测试资源相同。 当然, 也可以判断各个阶段的重要性, 并根据每个阶段重要性的不 同。

41、分配不同数量的测试资源, 具体的分配方法在本示例实施方式中不做具体限定, 可以根 据实际需求进行选择。 0108 步骤S530.根据各个测试阶段的测试资源按照重要性权值给各个测试模块分配测 试资源。 0109 得到各个阶段对应的测试资源后, 根据各个阶段测试模块的重要性权值将每个阶 段的测试资源分配给各个测试模块, 使每个测试模块得到其重要性权值所对应的测试资 源。 0110 在步骤S110中, 如图6所示, 根据不同的软件测试类型确定与待测试的软件相对应 的多个测试模块, 具体可以包括以下几个步骤: 0111 步骤S610.确定软件的实际测试需求, 并根据实际测试需求确定多个软件测试类 型。。

42、 0112 将软件进行分类时, 可以根据实际测试需求进行分类, 如按照ISO/IEC25010软件 质量特性分类、 按照业务需求分类等。 如果按照ISO/IEC 25010软件质量特性分类, 则对应 的质量特征包括: 功能性, 安全性, 互用性, 可靠性, 可用性, 效率, 可维护性和可移植性。 0113 步骤S620.根据软件测试类型确定与待测试的软件相对应的多个测试模块。 0114 如果按照ISO/IEC 25010软件质量特性分类, 则根据对应的质量特征, 可以得到对 应的软件测试类型包括: 功能测试、 安全测试、 易用性测试、 压力测试、 强调测试、 可用性测 试、 性能测试、 稳定性。

43、测试、 安装测试和移植测试, 共10个测试模块。 0115 本示例实施方式中, 将软件A分为N个模块A1An, 其中N个模块指10个测试模块中 的一部分或者全部, 即0N10, 一般N值的大小可以根据与待测试的软件相对应的多个测 试模块和实际需要以及工期的长短来进行选择。 0116 如图7所示是本公开的一个具体实施方式中的完整流程图, 是对本示例实施方式 中的上述步骤的举例说明, 该流程图的具体步骤如下: 0117 步骤S710.将软件A分为N个模块A1An。 0118 步骤S720.判断是否具有下一测试阶段。 如果具有下一测试阶段, 则进入步骤S730 继续进行迭代; 如果没有下一测试阶段,。

44、 即当前阶段为最后一个测试阶段, 则进入步骤S760 并结束迭代过程。 0119 步骤S730.根据帕累托规则计算各个测试模块的重要性权值k1nkmn。 0120 步骤S740.使用重要性权值k1nkmn分配第m阶段各个测试模块的测试资源。 0121 步骤S750.得到第m阶段测试结果Cm。 说明书 8/11 页 11 CN 110908911 A 11 0122 步骤S760.计算重要值矩阵, 并结束测试流程。 0123 应当注意, 尽管在附图中以特定顺序描述了本公开中方法的各个步骤, 但是, 这并 非要求或者暗示必须按照该特定顺序来执行这些步骤, 或是必须执行全部所示的步骤才能 实现期望的。

45、结果。 附加的或备选的, 可以省略某些步骤, 将多个步骤合并为一个步骤执行, 以及/或者将一个步骤分解为多个步骤执行等。 0124 进一步的, 本公开还提供了一种软件测试装置。 参考图8所示, 该软件测试装置可 以包括权值获取单元810、 模块测试单元820模块排序单元830以及权值计算单元840。 其中: 0125 权值获取单元810可以用于根据不同的软件测试类型确定与待测试的软件相对应 的多个测试模块, 并获取当前测试阶段各个测试模块的重要性权值; 0126 模块测试单元820可以用于根据重要性权值为各个测试模块分配测试资源, 并对 测试模块进行测试, 得到各个测试模块在当前测试阶段的测试。

46、结果; 0127 模块排序单元830可以用于根据各个测试模块在当前测试阶段的测试结果对测试 模块进行排序; 0128 权值计算单元840可以用于根据测试模块在当前测试阶段的排序结果按照预设资 源分配比例分配得到下一测试阶段各个测试模块的重要性权值。 0129 在本公开的一些示例性实施例中, 权值获取单元810可以包括初始权值获取单元 以及中间权值获取单元。 其中: 0130 初始权值获取单元可以用于若当前测试阶段为初始测试阶段, 则根据预设资源分 配比例得到各个测试模块的重要性权值; 0131 中间权值获取单元可以用于若当前测试阶段为中间测试阶段, 根据上一测试阶段 的排序结果按照预设资源分配。

47、比例分配得到当前测试阶段各个测试模块的重要性权值。 0132 在本公开的一些示例性实施例中, 权值计算单元840可以包括模块分类单元、 第一 权值确定单元以及第二权值确定单元。 其中: 0133 模块分类单元可以用于获取测试模块的总数, 并根据测试模块的总数和预设模块 分配比例, 按照测试模块的排序结果将测试模块组成的测试模块集合分为第一测试模块集 合和第二测试模块集合; 0134 第一权值确定单元可以用于根据第一预设资源分配比例确定第一测试模块集合 中各个测试模块在下一测试阶段的重要性权值; 0135 第二权值确定单元可以用于根据第二预设资源分配比例确定第二测试模块集合 中各个测试模块在下一。

48、测试阶段的重要性权值。 0136 在本公开的一些示例性实施例中, 模块分类单元可以包括分配数量确定单元以及 测试模块分配单元。 其中: 0137 分配数量确定单元可以用于根据测试模块的总数和预设模块分配比例确定第一 测试模块总数和第二测试模块总数; 0138 测试模块分配单元可以用于根据第一测试模块总数按照测试模块的排序结果得 到第一测试模块集合中的测试模块, 根据第二测试模块总数按照测试模块的排序结果得到 第二测试模块集合中的测试模块。 0139 在本公开的一些示例性实施例中, 模块测试单元820可以包括测试阶段确定单元、 测试资源确定单元以及测试资源分配单元。 其中: 说明书 9/11 页。

49、 12 CN 110908911 A 12 0140 测试阶段确定单元可以用于确定待测试的软件的测试阶段总数; 0141 测试资源确定单元可以用于获取测试资源的总量, 并根据测试资源的总量和测试 阶段总数确定各个测试阶段的测试资源; 0142 测试资源分配单元可以用于根据各个测试阶段的测试资源按照重要性权值给各 个测试模块分配测试资源。 0143 在本公开的一些示例性实施例中, 权值获取单元810还可以包括测试类型确定单 元以及测试模块确定单元。 其中: 0144 测试类型确定单元可以用于确定软件的实际测试需求, 并根据实际测试需求确定 多个软件测试类型; 0145 测试模块确定单元可以用于根。

50、据软件测试类型确定与待测试的软件相对应的多 个测试模块。 0146 上述软件测试装置中各模块/单元的具体细节在相应的方法实施例部分已有详细 的说明, 此处不再赘述。 0147 图9示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。 0148 需要说明的是, 图9示出的电子设备的计算机系统900仅是一个示例, 不应对本发 明实施例的功能和使用范围带来任何限制。 0149 如图9所示, 计算机系统900包括中央处理单元(CPU)901, 其可以根据存储在只读 存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而 执行各种适当的动作和处理。。

展开阅读全文
内容关键字: 软件 测试 方法 装置 电子设备 计算机 可读 介质
关于本文
本文标题:软件测试方法、装置、电子设备及计算机可读介质.pdf
链接地址:https://www.zhuanlichaxun.net/pdf/10796929.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1