当前位置:问答库>论文摘要

题目:面向业务流程的测试用例生成方法与自动化测试判定技术研究

关键词:测试用例生成;测试数据生成;测试判定;业务流程;Web应用

  摘要


随着软件测试技术的发展,测试人员越来越关注如何提高测试效率,而目前的核心问题是如何提高测试用例生成、测试数据生成及测试判定技术的自动化程度。在基于模型的测试中,测试人员关注被测系统的业务流程,即软件对用户请求进行处理的行为流程。传统基于业务流程的测试用例生成方法往往独立地分析不同功能场景下的业务流程。事实上用户在使用软件时会自由地进行操作,使得软件的执行行为不局限于独立的业务流程内,而在这个过程中不同流程活动产生的数据可能会潜在地进行共享。传统基于流程独立性假设的测试用例生成方法由于忽略了流程之间的这种潜在关系,无法生成针对不同流程之间的活动迁移的测试用例。通常不同流程活动之间的数据共享通常使用系统内部的数据库或数据文件,因此在生成适应于跨流程活动的测试数据时必须综合考虑用户输入和系统数据库或数据文件中的数据之间的关系。如何提高测试判定自动化程度一直是测试领域关注的研究问题。在软件测试中,白盒测试关注的函数或接口由于有明确的输入和输出数据类型规格,其自动化程度要相比于黑盒测试更高。黑盒测试的判定往往需要测试人员关注测试用例及其执行结果,通过分析被测软件的需求和行为等判断测试是否发现了问题,这个过程通常需要较长的周期和大量资源投入。

本文研究针对Web应用系统,提出了一种基于业务流程模型的测试用例生成方法,支持描述不同业务流程中操作之间的迁移关系并生成活动上文模型,在此基础上利用路径搜索算法生成跨流程的测试用例。本文利用业务流程模型中的三类约束信息从Web应用系统参数自身取值、参数之间或参数与数据库之间的关联关系、测试场景对参数取值的影响等方面生成并筛选测试数据,并利用数据池技术提高测试数据复用性。本文提出的测试判定技术利用基于案例的推理方法,通过特征提取、相似度计算等方法,从与目标案例相似的基础案例的判定结果中推导出目标案例判定结果。针对Web应用系统的实验与案例分析表明:(1)本文提出的测试用例生成方法能够从跨流程性和潜在性两方面对传统方法生成的测试用例进行扩充,并且能够覆盖更多的活动上文信息,进而更易于发现系统故障;(2)本文提出的测试数据生成与筛选策略能够通过测试数据池复用测试数据,生成可用性高的测试数据;(3)相比于神经网络和支持向量机方法,基于案例的推理的测试判定技术在不同版本的被测系统下能够稳定且有效地进行判定。