[发明专利]一种测试用例聚类取样方法无效
申请号: | 201010139848.4 | 申请日: | 2010-04-06 |
公开(公告)号: | CN101814055A | 公开(公告)日: | 2010-08-25 |
发明(设计)人: | 赵志宏;严莎莉;陈振宇;章宸 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京天翼专利代理有限责任公司 32112 | 代理人: | 黄明哲 |
地址: | 210093 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 测试 用例聚类 取样 方法 | ||
技术领域
本发明属于软件测试领域,涉及软件测试结果的验证,首先根据执行路径对测试用 例进行聚类,然后从各个类簇中抽取测试用例来让人工检查测试结果,通过约简需要人 工检查结果的测试用例集来节约人力。本发明主要应用于测试输入的产生和测试用例的 执行可以自动完成,但测试结果需要人工比对的场景下,为一种测试用例聚类取样方法。
背景技术
传统的软件测试方法包括三个步骤:1)创建测试输入;2)执行测试用例;3)检 查测试结果。软件测试需要耗费大量的时间和人力,但它是确保软件质量的重要手段。 为了节约测试成本,研究人员设计出了一些自动化的工具来帮助生成测试输入,执行测 试用例和检查测试结果。然而,在操作型测试(如beta测试,领域测试)中,测试结果 多样化,无法事先精确的描述清楚,因此需要人工去验证,从而耗费大量的人力。
针对这种测试输入的产生和测试用例的执行可以自动完成,但测试结果需要人工验 证的情况,David Leon等人提出了基于观测的软件测试技术(Observation-Based Testing), 包括三个步骤:1)为所有测试用例创建好测试输入;2)执行所有的测试用例,并记录 下每个测试用例的执行路径;3)分析每个测试用例的执行路径信息,挑选测试用例来 让人工检查其测试结果是否符合需求。因此,基于观测的软件测试技术是通过减少需要 人工检查的测试用例数来节约人力,但同时尽可能挑出最多的失败用例以保持测试的有 效性。
2001年,William Dickinson等人用通过实验证明了聚类过滤技术是一种有效的基于 观测的软件测试技术,主要包括以下三个步骤:
1.运行所有的测试用例,记录下执行路径信息。
2.根据测试用例的执行路径来聚类,这样具有相似执行路径的测试用例就会被聚 到同一个类簇中。
3.从每个类簇中取样,挑选出来的测试用例构成了约简后的测试用例集。测试人 员只需要对这些测试用例进行验证即可。
其中第3步的取样方法会很大程度的影响测试用例集约简的效果。已经有学者提出 了以下几种取样方法:
1)从每个类簇中随机挑选一个(One-per-cluster Sampling):在最理想的情况下,相 同程序错误导致的失败测试用例都聚在同一个类簇中。要找出所有的程序错误,只需要 从每个类簇中随机挑选一个测试用例即可。但实际上聚类的效果不可能那么好,一个类 簇中可能混杂了成功测试用例和不同的程序错误导致的失败测试用例。另外,仅根据该 错误导致的一个失败测试用例,程序员很难进行错误定位。因此,取样的目标是尽可能 找出最多的失败测试用例。
2)从每个类簇中随机挑选多个(N-per-cluster Sampling):该方法旨在通过挑选更多 的测试用例来找出更多的失败用例。但是该方法只是“从每个类簇中随机挑选一个”的 简单扩展,它们本质上都是简单的随机抽样,并没有利用任何信息来指导抽样。
3)自适应取样(Adaptive Sampling):首先从每个类簇中随机挑选一个测试用例,然 后对所有这些测试用例的执行结果进行验证。如果一个测试用例失败了,则它所在类簇 中的所有剩余测试用例都会被挑选出来进行验证;否则,该测试用例成功了,则它所在 类簇中所有剩余测试用例都被过滤掉。William Dickinson等人通过实验证明,该自适应 挑选方法要比以上两种简单随机抽样更有效。在约简集大小一样的情况下,该方法能挑 选出更多的失败测试用例。然而,这种自适应取样技术的效果很大程度上依赖于第一次 随机挑选出的测试用例。如果从一个类簇中随机挑选出的测试用例验证结果为失败,那 么整个类簇都会被选中,即使该类簇中成功测试用例占了大部分;同样,如果从一个类 簇中随机挑选出的测试用例验证结果为成功,那么整个类簇都会被抛弃,即使该类簇中 失败测试用例占了大部分。
发明内容
本发明所要解决的技术问题是:现有的基于观测的软件测试技术在测试结果检查上 不够全面,需要改进现有的“自适应取样”技术,充分利用每个类簇中已被选中的测试 用例的执行频谱信息来帮助挑选测试用例,并决定何时停止从该类簇中取样。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010139848.4/2.html,转载请声明来源钻瓜专利网。