软件测试在软件开发过程中占据重要地位。随着敏捷开发,测试驱动开发等新型软件开发模型兴起,基本路径测试作为白盒测试的重要部分,受到广泛重视。但是现在测试用例生成主要人工完成,测试工具完成单元测试居多,缺少自动化和开源的工具实现。而大型化的商业测试软件更多的关注测试流程的管理等内容。<br> 本文提出了一个基于开源工具Elsa的对C++语言进行基本路径测试的工具,首先针对目前基本路径测试在软件开发周期中的应用情况提出了几个系统设计的目标。结合这些目标分别从架构设计,用户与用例分析等情况对系统进行了整体设计.用户在使用时,可以通过将要测试的源文件提交,便能够获得抽象语法树,生成的基本路径等信息。并对选用的关键算法一遗传算法,使用马尔科夫链方法在算法层面上进行了分析和数学证明。<br> 本文重点对Elsa生成的抽象语法树的分析实现程序插桩,遗传算法的封装生成基本路径以及web service的封装应用进行了分析和实现,详细阐述了基本路径测试的工具的实现过程,并对各设计难点进行了大量分析。在Linux平台上,使用gsoap,Elsa,tomcat,galib等一整套开源架构完整的实现了相关功能。在流图处理过程中,有效利用了visitor模式对各种节点类型进行了处理。<br> 最后,与前一版本工具进行了比较,对本工具进行了测试。