Test(测试)执行软件以验证其满足指定的需求并检测错误的过程。检测已有条件之间的不同,并评价软件项的特性软件项的分析过程。软件工程过程的一个活动,它将软件在预定的条件下运行以判断软件是否符合预期结果。
"test"在英汉词典中的解释(来源:王朝词典):
test
KK: []
DJ: []
n.[C]
1. 试验
2. 化验;化验法;化验剂
3. 检验;检验标准
4. 测验;考察;小考
5. 考验
vt.
1. 试验;检验;测验[(+for/in/on)]
2. 化验,分析[(+for)]
3. 考验;考察
vi.
1. 受试验;受测验
2. 测得结果
3. (为鉴定而)进行测验[(+for)]
汇编指令Test属于逻辑运算指令
功能: 测试(两操作数作与运算,仅修改标志位,不回送结果)。
用法:Test对两个参数(目标,源)执行AND逻辑操作,并根据结果设置标志寄存器,结果本身不会保存。
TEST AX,BX 与 AND AX,BX 命令有相同效果,只是Test指令不改变AX和BX的内容,而AND指令会
把结果保存到AX中。
详细介绍:
语法:TEST r/m,r/m/data
影响标志:C,O,P,Z,S(其中C与O两个标志会被设为0)
运用举例:
1.Test用来测试一个位,例如寄存器:
test eax,100b;b后缀意为二进制
jnz ******;如果eax右数第三个位为1,jnz将会跳转
我是这样想的,jnz跳转的条件是ZF=0,ZF=0意味着ZF(零标志)没被置位,即逻辑与结果为1.。
2.Test的一个非常普遍的用法是用来测试一方寄存器是否为空:
test ecx, ecx
jz somewhere
如果ecx为零,设置ZF零标志为1,Jz跳转。
Linux test-e 该“文件名”是否存在
-f 该“文件名”是否为文件
-d 该“文件名”是否未目录
-b 该“文件名”是否一个块设备
-c 该“文件名”是否一个字符设备
-s 该“文件名”是否一个套接字文件
-p 该“文件名”是否一个FIFO(管道)文件
-L 该“文件名”是否一个连接文件
-r 检测该文件名是否具有“可读”属性
-w 检测该文件名是否具有“可写”属性
-x 检测该文件名是否具有“可执行”属性
-u 检测该文件名是否具有“SUID”属性
-g 检测该文件名是否具有“SGID”属性
-k 检测该文件名是否具有“Sticky bit”属性
-s 检测该文件名是否为“非空白文件”
-nt (newer than)判断file1 是否比file2 新
-ot (older than)判断file2 是否比file2 旧
-ef 判断file1与file2是否为统一文件,可用于判断硬连接。主要判断两个文件是否均指向同一个incode
-eq 两数值相等(equal)
-ne 两数值不等(not equal)
-gt n1大于n2(greater than)
-lt n1小于n2(less than)
-ge n1大于等于n2(greater than or equal)
-le n1小于等于n2(less than or equal)
test -z string 判断字符串是否为0,若string未空字符串,则为ture
test -n string 判断字符串是否非未0,若string空字符串,则为false
test str1=str2 判断str1是否等于str2,若相等,则回传true
test str1!=str2 判断str1是否等于str2,若不相等,则回传flase
-a (and)两个条件同事成立。
-o (or)两个条件任何一个成立。
! 条件反求,如test!-x file,当file不具有x时,回传flase