测试方法及装置的制造方法_3

文档序号:9288367阅读:来源:国知局
报告。当测试报告 指示某个目标功能运行不正常时,用户即可通过该日志报告快速确定出错位置,并进行修 改。
[0092] 综上所述,本实施例提供的测试方法,通过从线上服务器引流的实时请求中,筛选 出用于测试目标功能的目标请求,并使用该目标请求进行目标功能的测试;解决了测试服 务器根据线上服务器引流的所有实时请求进行测试时,只能对测试服务器整体性能进行评 估,无法对测试服务器中具体功能进行测试的问题;达到了根据需要测试的目标功能,有目 的的筛选出目标请求并进行测试,提高了测试效率,节约测试资源的效果。
[0093] 本实施例还通过根据实时请求中携带的请求类型参数生成实时请求对应的请求 文件,使得后续根据需要测试的目标功能筛选出目标请求时,只需要根据请求文件对应的 请求类型参数进行筛选即可,方便后续对目标请求的增加和删除,使得测试过程更加灵活 且更具目的性。
[0094] 由于预先设置的过滤算法未必适用于所有的请求,导致在测试过程中某些目标功 能未被测试。所以为了提高测试的覆盖率,如图3B所示,该方法还可以包括如下步骤。
[0095] 步骤309,在对目标功能进行测试时,计算目标请求的代码覆盖率;代码覆盖率是 根据目标请求运行代码的行数和代码总行数确定的。
[0096] 由于过滤算法的局限性,测试服务器根据筛选得到的目标请求对目标功能进行测 试时,并不能覆盖所有的目标功能,导致目标功能测试的不完全。
[0097] 为了避免这种情况,测试服务器在对目标功能进行测试的同时,将利用代码覆 盖率测试工具计算目标请求对应的代码覆盖率,该代码覆盖率测试工具可以为Emma、 Cobertura或Gcov等等,本发明并不对使用何种代码覆盖率测试工具进行限定。
[0098] 步骤310,根据代码覆盖率以及目标功能与代码的对应关系,确定未测试目标功 能。
[0099] 测试服务器中预先存储有功能与代码的对应关系,该对应关系可以示意性如表三 所示。
[0100] 表三
[0101]
[0102] 根据得到的代码覆盖率,并结合功能与代码的对应关系,测试服务器即可确定代 码覆盖率较低的代码对应的目标功能,并将该目标功能确定为未测试目标功能。
[0103] 需要说明的是,由于某些目标功能可能存在至少两个功能分支,而筛选得到的目 标请求可能仅测试了部分功能分支,导致目标功能测试的不完全,所以,更为优选地,测试 服务器中还存储有各个功能分支与代码的对应关系,使得用户更加直观了解到各个功能分 支的测试情况。
[0104] 比如,当测试的目标功能为登录功能时,由于存在登录成功和登录失败两种可能, 当筛选出的目标请求仅对应登录成功这种情况时,该目标功能中登录失败对应的代码将不 会被运行,造成目标功能测试的不完全,所以测试服务器中还存储有登录成功与代码的对 应关系以及登录失败与代码的对应关系。
[0105] 步骤311,根据未测试目标功能,调整过滤算法;调整后的过滤算法筛选出的目标 请求的数量大于未调整前过滤算法筛选出的目标请求的数量。
[0106] 对于未测试目标功能,测试服务器调整该未测试目标功能对应的过滤算法,使得 通过调整后的过滤算法能够筛选出更多目标请求,从而提高目标功能的覆盖度。
[0107] 需要说明的是,用户也可以根据未测试目标功能,手动构造用于测试该未测试目 标功能的目标请求,并发送给测试服务器,从而实现对未测试目标功能的测试,本发明并不 对此进行限定。
[0108] 本实施例还通过在对目标功能进行检测的同时,计算代码覆盖率,根据该代码覆 盖率和预先维护的目标功能与代码的对应关系确定未测试目标功能,并根据未测试目标功 能对过滤算法进行相应调整,从而提高测试的全面性。
[0109] 请参考图4,其示出了本发明一个实施例所提供的测试装置的结构方框图。该测试 装置可以通过软件、硬件或者两者的结合实现成为图1A中测试服务器130的全部或者一部 分。该测试装置,包括:
[0110] 接收模块410,用于接收线上服务器发送的实时请求,实时请求是线上服务器接收 到的各个线上客户端发送的请求;
[0111] 筛选模块420,用于根据测试服务器中需要测试的目标功能,从实时请求中筛选出 用于测试目标功能的目标请求;
[0112] 测试模块430,用于根据目标请求对目标功能进行测试。
[0113] 综上所述,本实施例提供的测试装置,通过从线上服务器引流的实时请求中,筛选 出用于测试目标功能的目标请求,并使用该目标请求进行目标功能的测试;解决了测试服 务器根据线上服务器引流的所有实时请求进行测试时,只能对测试服务器整体性能进行评 估,无法对测试服务器中具体功能进行测试的问题;达到了根据需要测试的目标功能,有目 的的筛选出目标请求并进行测试,提高了测试效率,节约测试资源的效果。
[0114] 请参考图5,其示出了本发明另一实施例所提供的测试装置的结构方框图。该测试 装置可以通过软件、硬件或者两者的结合实现成为图1A中测试服务器130的全部或者一部 分。该测试装置,包括:
[0115] 接收模块510,用于接收线上服务器发送的实时请求,实时请求是线上服务器接收 到的各个线上客户端发送的请求;
[0116] 筛选模块520,用于根据测试服务器中需要测试的目标功能,从实时请求中筛选出 用于测试目标功能的目标请求;
[0117] 测试模块530,用于根据目标请求对目标功能进行测试。
[0118] 可选地,筛选模块520,包括:
[0119] 第一生成单元521,用于根据所述实时请求中携带的请求类型参数,生成各个实时 请求各自对应的请求文件,所述请求文件中携带有所述请求类型参数;
[0120] 文件筛选单元522,用于根据预设的所述目标功能各自所对应的过滤算法,从所述 请求文件中筛选出所述请求类型参数与所述目标功能对应的目标文件;
[0121] 该装置,还包括:
[0122] 请求构造模块540,用于根据所述目标文件中携带的所述请求类型参数,构造所述 目标请求。
[0123] 可选地,测试模块530,包括:
[0124] 第二生成单元531,用于根据所述目标功能、所述目标请求以及与所述目标功能对 应的测试点的标识生成测试文件;所述测试点用于检测所述目标请求是否被正确处理;
[0125] 分配单元532,用于根据所述标识将所述测试文件分配到对应的所述测试点。
[0126] 可选地,该装置,还包括:
[0127] 第一报告生成模块550,用于接收所述测试点生成的测试结果,并生成相应的测试 报告;
[0128] 和 / 或,
[0129] 第二报告生成模块560,用于接收所述测试点生成的日志信息,并生成相应的日志 报告。
[0130] 可选地,该装置,还包括:
[0131] 计算模块570,用于在对所述目标功能进行测试时,计算所述目标请求的代码覆盖 率;所述代码覆盖率是根据所述目标请求运行代码的行数和代码总行数确定的;
[0132] 确定模块580,用于根据所述代码覆盖率以及所述目标功能与代码的对应关系,确 定未测试目标功能;
[0133] 调整模块590,用于根据所述未测试目标功能,调整所述过滤算法;调整后的所述 过滤算法筛选出的所述目标请求的数量大于未调整前所述过滤算法筛选出的所述目标请 求的数量。
[0134] 综上所述,本实施例提供的测试装置,通过从线上服务器引流的实时请求中,筛选 出用于测试目标功能的目标请求,并使用该目标请求进行目标功能的测试;解决了测试服 务器根据线上服务器引流的所有实时请求进行测试时,只能对测试服务器整体性能进行评 估,无法对测试服务器中具体功能进行测试的问题;达到了根据需要测试的目标功能,有目 的的筛选出目标请求并进行测试,提高了测试效率,节约测试资源的效果。
[0135] 本实施例还通过根据实时请求中携带的请求类型参数生成实时请求对应的请求 文件,使得后续根据需要测试的目标功能筛选出目标请求时,只需要根据请求文件对应的 请求类型参数进行筛选即可,方便后续对目标请求的增加和删除,使得测试过程更加灵活 且更具目的性。
[0136] 本实施例还通过在对目标功能进行检测的同时,计算代码覆盖率,根据该代码覆 盖率和预先维护的目标功能与代码的对应关系确定未测试目标功能,并根据未测试目标功 能对过滤算法进行相应调整,从而提高测试的全面性。
[0137] 需要说明的是:上述实施例提供的测试装置在进行目标功能的测试时,仅以上述 各功能模块的划分进行举例说明,实际应用中,可以根据需
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1