POSIX依从性测试技术及工具介绍

本文介绍了POSIX及其目的,主要关注POSIX.1标准。内容涵盖POSIX依从性测试的测试内容、范围和术语,详细讲解了Open POSIX Test Suite的测试用例组织、测试框架以及使用方法。同时,文章还提到了完整的POSIX认证流程和相关资源。
摘要由CSDN通过智能技术生成

什么是POSIX

在开始POSIX依从性测试技术介绍以前,我们必须了解什么是POSIX,POSIX是Portable Operating System Interface ofUnix的缩写。由IEEE(Institute ofElectrical and Electronic Engineering)开发,由ANSI和ISO标准化。POSIX 表示可移植操作系统接口,简单的说它的出现就是为了应对UNIX操作系统不断分支化所造成的应用程序无法兼容和共享使用问题,目的是提高在不同UNIX环境之间应用程序的可移植性,换句话说,为一个POSIX兼容的操作系统编写的程序,应该可以在任何其它的POSIX操作系统(即使是来自另一个厂商)上编译执行。而随着Windows、Linux操作系统的兴起、普适计算、云计算技术导致的终端运算设备小型化趋势使得UNIX操作系统的市场地位不断萎缩,就三大UNIX操作系统(AIX、Solaris、HP-UX)目前生存现状来看,在SUN倒下、HP安腾服务器推广不利的大环境下,SPARC和IA64架构小型机基本处于退出历史舞台的边缘。以上的一切都导致POSIX依从性测试认证的活跃程度慢慢的开始转向LSB(Linux Standards Base)依从性测试认证上来,就从POSIX标准和测试工具集的维护进度上我们也可以看出这一点。
POSIX标准簇本身来说是非常庞大的,在这些标准里面我们主要关注的是POSIX.1标准,其被广泛地接受,是用于源代码级别的可移植性标准。1003.1 提供一个操作系统的 C 语言应用编程接口(API)。最新的版本是 IEEE Std 1003.1, 2013 Edition The core of theSingle UNIX Specification(核心服务),就中国国家标准是《GB/T 14246.1-1993 信息技术 可移植操作系统界面 第一部分系统应用程序界面(POSIX.1)》,比较起来有一个较大的时间跨度。IEEE的标准可以从http://pubs.opengroup.org/onlinepubs/9699919799/toc.htm直接获取电子版本。另外,值得一提的是根据依从性测试的要求,对应的中国国家标准是《GB/T17548-1998信息技术 POSIX依从性的测试方法》,标准中规范了我们即将介绍的POSIX依从性测试技术的内容。

POSIX依从性测试

下面我们参照OSDL提供的Open POSIX Test Suite测试集来介绍一下POSIX依从性测试的主要方法和内容,Wiki站点是https://wiki.linuxfoundation.org/en/OpenPosixTest,项目源码可以在https://sourceforge.net/projects/posixtest/获得。,当然如果想要进行完整的POSIX认证请参考http://get.posixcertified.ieee.org/docs/testsuites.html提供的信息开展相关工作,其目前已经融入到了LSB认证中。

测试内容

Open POSIX Test Suite测试集所提供的针对POSIX依从性测试的主要内容包括基本定义(definitions)测试、接口功能实现(interfaces)测试和接口行为实现(behavior)测试。另外,它还包括了一个对于接口调用的功能测试(functional)和压力测试(stress),我们会在下文结合测试框架和源码着重介绍一下依从性相关的测试内容,对于接口级别的压力测试由于存在着LTP(Linux Test Project)这样一个更加优秀的工具(其实,它已经包含了Open POSIX Test Suite的stress集),我们就不过多介绍了。

测试范围

基本定义(definitions)测试测试范围包括:

aio.h - asynchronousinput and output (REALTIME)

errno.h - system errornumbers

sched.h - executionscheduling (REALTIME)

sys/mman.h - memorymanagement declarations

sys/shm.h - XSI sharedmemory facility

mqueue.h - messagequeues (REALTIME)

pthread.h - threads

signal.h - signals

time.h - time types

unistd.h - standardsymbolic constants and types

接口功能实现(interfaces)测试测试范围包括:

异步输入输出(aio_XXXXX)

消息队列(mq_XXXXX)

信号(sigXXXXX)

计时器(timer_XXXXX;clock_XXXXX)

系统线程(pthread_XXXXX)

执行时序安排(sched_XXXXX)

信号量(sem_XXXXX)

内存管理(mXXXXX)等接口。

说明:XXXXX代表在测试集目录下的一些子特性对应名称的目录名

接口行为实现(behavior)测试测试范围包括:

timers和WIFEXITED两类行

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值