2024年5月30日发(作者:)

TP测试

一.LTP介绍

Linux Test Project是一个测试Linux内核和内核相关特性的工具集合。该工

具的目的是通过把测试自动化引入到Linux内核测试,验证内核的稳定性、可靠

性和健壮性,提高Linux的内核质量。

1.功能测试

Linux Test Project(简称LTP)是目前较为流行的Linux基本功能测试工具

集。LTP包含了众多子功能测试模块,例如系统调用,系统命令,内存分配,磁

盘读写,文件系统,网络,数学运算测试等等。

为了达到快速检查内核变动的能力,繁重的内核测试任务需要有自动化的实

现。内核测试自动化的设计与普通应用程序测试自动化的设计并无太多区别,它

主要包含以下几个方面:内核源代码自动化的下载,自动化的编译,自动化的安

装,自动化的测试并报告测试结果。AutoTest是目前比较有名的自动化内核测试

项目,由Martin J. Bligh发起并维护。它实现了一套较为先进的自动测试框架,

并提供了一套接口供现有的测试工具(例如LTP)进行集成。当发现有新的Linux

内核需要测试时,AutoTest便会生成一系列的测试任务,然后把测试任务分配到

不同的Client Harness上进行环境准备和执行测试,最后把收集到的测试结果进

行分析和发布。

2.性能测试

LTP 工作组在设计Linux 内核压力测试脚本 时使用了这一设计

方法,为给系统提供足够的压力,LTP工作组对这个组合测试进行了分析,以确

定 Linux 内核的哪些部分在测试执行中得到了使用。然后,修改了组合测试,

在保持期望的高强度系统压力的同时提高代码覆盖率的百分比。最终得到的压力

测试涵盖了 Linux 内核的足够多部分,有助于稳定性声明,并且有系统使用情

况和内核代码覆盖情况的数据来支持它。

有两个开放源代码工具可以帮助进行 Linux 内核的代码覆盖率分析:

(1) gcov:一个由 LTP 维护的开放源代码工具。这个工具分析内核代码的覆

盖率,并报告哪些行、函数和分支被覆盖以及它们被访问了多少次。

(2) lcov:另一个由 IBM 开发,由 LTP 维护的开放源代码工具。 这个工

具由一组构建于基于文本的 gcov 输出之上的 Perl 脚本构成,以实现基于

HTML 的输出。输出包括覆盖率百分比、图表以及概述页,可以快速浏览覆盖

率数据。可以自LTP主页找到这两个工具。

lcov 工具会生成一棵完整的 HTML 树,其中包含有内核中代码的每一行以

及关于每一行执行了 多少次的数据(如果有的话)。这个工具会量化覆盖率数据

并生成关于内核中每一部分和 文件覆盖率的百分比数字。

内核的代码覆盖率分析只是在的设计和开发过程中用到,目的是

保证的可用性,我们在实际测试的时候就不需要再做内核的代码覆盖

率分析了。

LTP的目标:

的目标,是使用 LTP 测试套件对Linux 操作系统进行超长时间

的测试,重点在于Linux 用户环境相关的工作负荷,而并不是致力于证明缺陷。

这个应用程序组合了来自 LTP 的测试套件不同方面的多个测试以及内存和网

络传输负载生成器。在执行之前,测试会根据系统中存在多少物理和虚拟内存来

调整其总的内存使用情况。

的测试方法:

测试方法有两个的阶段:一个是“初始测试”,一个是“压力测试”。通过初始

测试是开始测试的必要条件。初始测试包括 LTP 测试套件在硬件和操作系统上

成功运转,这些硬件和操作系统将用于可靠性运转。LTP 测试套件包附带的驱

动程序脚本 用于验证内核。这个脚本串行地运行一组成包的测试,