测试笔试题
Liunx:
一、基础
1、 linux 下查看系统任务状态的命令是?
2、 Linux 下查看系统进程中是否有 tomcat 在运行的命令是?
3、 Linux 下查看系统硬盘空间的命令是?
4、 Linux 下强制删除有多级子目录(含文件)的目录/home/share 的命令是?
二、Shell
1、 将当前目录中所有后缀为.log 的日志行数统计追加到当前目录的 codelines.txt 文件中并
复制到/server/cache/目录下
网络:
1、 http 返回值的含义:
"304" : Not Modified 客户端有缓冲的文档并发出了一个条件性的请求,服务器告诉客
户,原来缓冲的文档还可以继续使用。
"404" : Not Found 无法找到制定资源。
"500" : Internal Server Error 服务器遇到了意料不到的情况,不能完成客户的请求。
"502" : Bad Gateway 服务器作为网关或者代理时,为了完成请求访问下一个服务器,但
该服务器返回了非法的应答。
2、 gzip 是应用在 http header 的哪个参数中的
3、 网站测试中 cache 技术的测试点都有哪些?
accept-Encoding
性能:
一、LoadRunner:
1、 等待 1 分钟时间用什么函数
2、将内容输出用什么函数
二、服务器和客户端的性能分析都从哪些角度来进行
DB:
一、表 Book 结构及前 19 条数据如下:
sid
1
2
3
4
5
6
7
8
9
name
中国科技之光
中国科技之光
中国科技之光
中国科技之光
中国科技之光
中国艺术之光
中国人文之光
中国体育之光
中国生物之光
type
科技
科技
科技
科技
科技
艺术
人文
体育
生物
ver
desc
1
2
3
4
5
1
1
1
1
你试试?
你试试?<
你试试?>
你试试?"
你试试? 我会的!
你试 哈飞"?
你试试? 我会的!
你试"哈飞"?
你试试<去哪儿>?
10
11
12
13
14
15
16
17
18
19
…
中国科技之光
中国科技之光
中国艺术之光
中国人文之光
中国体育之光
中国体育之光
中国生物之光
中国艺术之光
中国人文之光
中国科技之光
…
科技
科技
艺术
人文
体育
体育
生物
艺术
人文
科技
…
6
7
2
2
2
3
2
3
3
8
…
你试试<去哪儿>?
你试试<去哪儿>?
你试试<去哪儿>?
你试试<去哪儿>?
你试试?
你试试?我试试!
你试试?
你试试?不会的!
太多了 
搜索@lt 出来
…
create table Book
(
identity(1,1) primary key,
int
char(6) not null,
ExamNo
stuNo
writtenExam int
LabExam
int
not null,
not null
)
1、 请用 1 个 sql 获取图书 type 类型都有哪些(要求不重复)
select DISTINCT type from book
2、 请用 1 个 sql 获取每类图书 type 都有多少本
select count(type),type from book group by type
3、 请用 1 个 sql 获取超过 3 本的图书类型及对应数量
select count(type),type from book group by type having(count(type)>3)
4、 请用 1 个 sql 语句获取同一类图书类型 type 中出版版本最新的一组数据
select max(ver),type from book group by type having(max(ver))
5、 请用 1 个 sql 语句获取描述 desc 中包含 html 转义字符的记录【例如:
"><】
没有查询转义字符,查询了字符串
select * from book where desc like "%字符串%"
6、 请用 1 个 sql 语句获取描述 desc 中包含三个英文字母连写记录
7、 如果图书数据很多,执行上述查询速度不是很理想,请说出你对数据库表的优化建议
二、请写出 truncate 和 Delete、Drop 表数据的差别?
注意:这里说的 delete 是指不带 where 子句的 delete 语句
相同点
truncate 和不带 where 子句的 delete, 以及 drop 都会删除表内的数据
不同点:
1. truncate 和 delete 只删除数据不删除表的结构(定义)
drop 语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于
该表的存储过程/函数将保留,但是变为 invalid 状态.
2.delete 语句是 dml,这个操作会放到 rollback segement 中,事务提交之后才生效;如果有相应
的 trigger,执行的时候将被触发.
truncate,drop 是 ddl, 操作立即生效,原数据不放到 rollback segment 中,不能回滚. 操作不
触发 trigger.
3.delete 语句不影响表所占用的 extent, 高水线(high watermark)保持原位置不动
显然 drop 语句将表所占用的空间全部释放
truncate 语句缺省情况下见空间释放到 minextents 个 extent,除非使用 reuse storage;
truncate 会将高水线复位(回到最开始).
4.速度,一般来说: drop>; truncate >; delete
5.安全性:小心使用 drop 和 truncate,尤其没有备份的时候.否则哭都来不及
使用上,想删除部分数据行用 delete,注意带上 where 子句. 回滚段要足够大.
想删除表,当然用 drop
想保留表而将所有数据删除. 如果和事务无关,用 truncate 即可. 如果和事务有关,或者想触
发 trigger,还是用 delete.
如果是整理表内部的碎片,可以用 truncate 跟上 reuse stroage,再重新导入/插入数据
编程:
一、基础
1、请写出下面代码的输出
private static void addWorld(String msg) {
msg = msg + "world";
}
public static void main(String[] args) {
String msg = "Hello ";
addWorld(msg);
System.out.println(msg);
}
Hello
2、 请写出 String 类的包名
3、请写出下面代码的输出
try {
System.out.println("try");
return;
} finally {
System.out.println("finally");
}
Try
Finally
(PS:finally 总是运行)
4、 请优化下面代码的性能
String line = “”;
for (int i = 0; i < 10000; i++) {
line += “item_” + i;
}
for (int i = 0; i < 10000; i++)
{
}
String line = "item";
line +=+ i;
System.Console.WriteLine(line);
5、IdentityHashMap m = new IdentityHashMap();
m.put("abc", "a");
m.put("abcd".substring(0,3), "a");
m.put(new String("abc"), "a");
m.put(null, "a");
请问 m.size() 是 ?
二、程序
1. 写程序实现递归删除一个目录下的文件和文件夹
2. 请使用一种算法为下面的数组由小到大排序
int[] items = new int[]{1,3,5,7,9,2,4,6,8,0};
测试案例
一、如何测试只带 1 个用户名、密码框的登录界面?
1、请列举测试点及方法
2、 如果后台是使用 msql2000 数据库,验证登陆密码的程序是这样写的,请设计 test case
可以随意输入密码登陆
login 页面代码
……
……
verify 页面代码
dim rs,sql
dim name,pwd
name=request.form("name")
pwd=request.form("pwd")
if name="" or pwd="" then
response.redirect "login.asp"
end if
……
'关于身份验证的代码
sql="select * from user where name='"&name&"' and pwd='"&pwd&"'"
……
二、产生用户界面乱码的原因都有哪些?