论文部分内容阅读
软件测试是为了发现错误而执行程序的过程,是保证软件质量的重要手段,是软件生命周期的重要阶段.软件测试已经越来越引起软件用户及开发人员的关注.据统计,目前在软件开发总成本中,用在测试上的开销要占30%~50%.测试本身是一项十分繁重的工作,纯粹手工测试已无法满足大规模软件的需求,越来越多的测试工作需要测试工具的支持.在已有的测试工具中,源代码测试工具有着重要的应用.而C语言作为一种表达能力强、目标代码效率高、可移植性好的语言,在软件开发中得到普遍使用.该文提出了一整套源代码自动分析测试的解决方案,讨论了一种基于程序插装的动态测试框架,分析了C程序流图的构造方法,并在此基础上给出了程序插装分析算法,最后描述了嵌入式软件测试支撑系统ETS其中单元测试子系统的ESUT KIT的具体实现.ESUT KIT主要由测试覆盖率分析、时间性能瓶颈分析和内存使用分析三个工具组成.测试覆盖率分析是一种结构测试技术,对评估测试的充分性、确定何时停止测试具有很大帮助.时间性能是一项常用的重要性能指标,它可以用来跟踪特定程序段的实际运行情况,是实时检测的有效手段.为提高软件的时间性能,往往需要找出软件中运行时间较长的程序段,即软件的时间性能瓶颈.在C语言中,引入了使用极为灵活的指针机制,它给程序带来了很大便利,但同时也制造了许多的麻烦.由于指针使用不当而引起的错误通常很难发现,定位错误也很困难,这时需要专门的工具来检测内存使用错误并给予准确定位.利用ESUT KIT子系统,软件开发人员和测试人员可以了解在源代码级别上的软件的质量,从而对代码进行改进,提高软件测试效率,降低开发成本.