云彩店邀请码|半壳|优胜
计算机系统运行过程中通常由于很多因素而运行失败,比如软件中的bug,硬件崩溃或网络中断。由于以下原因使得测试其运行失败的原因是一项重要而极具挑战性的工作:1)由于涉及到个人隐私使得用户输入和文件内容不可重现;2)重建完全相同的运行环境很困难;3)在多处理器并发执行下的非确定性。传统上,软件系统开发人员通过打印日志信息来跟踪系统的运行状态,以帮助在软件测试过程中确定可能发生在程序运行时的问题。此测试过程中涉及到的数据包括日志和源代码。人们通常利用系统产生的日志来排除故障或诊断问题。然而,可能有数以千计的在很短时间内发生的失败作业。由于软件系统的规模和复杂性越来越大,逐一的手动测试这些问题,发现异常情况并迅速解决是不可行的。由于许多失败的作业可能具有相同的原因,所以,分析日志间的关联性及对日志作业进行自动分类以帮助开发人员确定作业优先级是亟需解决的问题。此外,对每一类失败作业进行测试过程中,如何使得缺陷定位快速并高效也是棘手的问题。程序员通常需要基于从用户那里收集到的日志和相应的源代码来诊断产品运行时产生的错误。这里的日志和相应的代码即为软件测试过程涉及到的数据。这样的测试过程需要特殊的背景知识,并且费事费力。为了解决这些问题,本文重点研究针对软件测试过程数据关联性的分析与支持方法,开发出软件测试过程数据关联性分析与支持工具,通过分析日志与日志之间的关联、代码与代码间的关联、以及日志与相应代码之间的关联来提高测试运行时产生错误的原因的效率。对于日志与日志间的关联,本文描述了一种对作业进行分类的基于非结构化日志的分析技术。在该技术中,本文提出了一种并不依赖于特定应用背景知识、基于广义向量空间模型的文本聚类算法对日志间关联性进行分析。在对日志聚类完成之后,本文相应地基于代码与代码间的关联、以及日志与源代码间的关联提出了针对每一类错误进行错误诊断的代码动态分析技术,以帮助开发人员更快更高效地定位缺陷错误,并加以修复。该工具既不需要重新执行源程序也不需要了解日志的语义信息。最后,本文通过实验验证了工具对测试过程数据关联性分析功能的性能、准确性以及有效性,实验表明本工具可帮助软件开发人员快速高效地定位软件缺陷并解决问题。
来源:半壳优胜鲸鱼幸运星转载请保留出处和链接!
本文链接:http://87cpy.com/261489.html
本站部分内容来源网络如有侵权请联系删除