来源:”http://blog.csdn.net/hedy20120808/article/details/13766781″
软件测试笔试题
一、填空题(共15题,每题2分,共30分)
1. int x, a = 1, b = 3, c = 5,执行x = ++a+b+++c++,x = ________。
2. HTML源文件必须以 ________ 和 ________ 作为扩展名。
3. 查找文件名含abc字符的文件的shell命令 ________。
4. 语句select floor(25.6), round(-39.1234, 3)的执行结果分别是 ________、________。
5. 数据库中的两张表tab1、tab2,tab1中有字段:id、name,tab2中有字段:id、score、class,两张表以id字段作为外键关联,找到名字为“李三”的人对应的班级和分数的一个SQL语句为 ________。
6. 对长度为N的线性表进行顺序查找,在最坏的情况下所需的比较次数为 ________。
7. 表达式1/3*3的结果 ________。
8. 网络不通的情况下,使用某命令测试网络的连通性,此命令通过 ________ 协议来实现。
9. 变量X、Y的值不通过临时变量的互换步骤是 ________。
10. 两个小组独立地测试同一个程序,第一组发现25个错误,第二组发现30个错误,在两个小组发现的错误中有15个是共同的,那么可以估计程序中的错误总数是 ________ 个。
11. 反映Web应用客户端交易处理性能的评估指标有很多,其中的三种有 ________ 。
12. 一组数据5、8、2、1顺序存入栈和队列中,从栈中取到的数据顺序是 ________,从队列中取到的数据顺序是 ________。
13. 项目组内讨论测试用例为什么很难100%覆盖测试需求的原因,甲认为输入量太大,乙认为输出结果太多,丙认为软件实现途径太多,丁认为测试依据没有统一标准,您认为以上观点中 ________、________ 是正确的。
14. 设有图书馆管理数据库:
图书(总编号C(6),分类号C(8),书名C(16),作者C(6),出版单位C(20),单价N(6,2))
读者(借书证号C(4),单位C(8),姓名C(6),性别C(2),职称C(6),地址C(20))
借阅(借书证号C(4),总编号C(6),借书日期D(8))
对于图书馆管理数据库,查询0001号借书证的读者姓名和所借图书的书名的SQL语句正确是:SELECT 姓名,书名 FROM 借阅,图书,读者 WHERE 借阅,借书证号=”0001″ AND ________。
15. 某软件公司在招聘软件测试师时,应聘者甲向公司作如下保证:
1)过自己测试的软件今后不会出现问题;2)在工作中对所有程序员一视同仁,不会因为在某个程序员编写的程序中发现的问题多,就重点审查该程序,以免不利于团结;3)承诺不需要其他成员,自己就可以独立进行测试工作;4)发扬咬定青山不放松的精神,不把所有问题都找出来就决不罢休。
您认为应聘者甲的保证 ________ 是正确的。
二、简答题(每题5分,共20分,编程语言选择Java/C/C++/Python)
1. 58北京总部办公楼4层高,有2部联动电梯,设备更新要换电梯,该电梯系统交付使用前需进行测试,请设计测试用例。
2. 某程序规定:“输入三个整数a,b,c分别作为三边的边长构成三角形,请通过程序能判定所构成的三角形的类型,比如判断是等边三角形”。请从测试角度出发,为该程序进行测试用例设计。
3. 数据库中有两张表tab1、tab2,tab1中有字段:id、name,tab2中有字段id、count、paytime,两张表以id作为外键关联,用一个SQL语句找到名字为“团购月饼”的团购项目里最近10个订购数大于5的订单。
4. 分析以下程序并回答问题:
#include <string.h>
void Strcpy(char *to, char *from) {
strcpy(to, from);
}
int main() {
char *s = NULL;
Strcpy(s, “abcdefg”);
return 0;
}
(1) 以上程序会产生哪些问题,这些问题应该采取何种方式避免?
(2) 此程序在linux服务上运行后会产生什么样的后果?
(3) 某程序员在此程序出现问题后,对此程序进行了追踪,请对以下每条追踪命令说明其作用,并请说明函数的调用栈顺序。
三、编程题(共30分,编程语言选择Java/C/C++/Python)
1. 寻找符合以下特点的字符串(8分):
简述:有字符串如”ABCD, AABCD, XB, BCAD, DOT, TDO, ZZZ, ABCDA, BCDAA, BDCA”,要将其中由相同字符组成的词归在一起,如果没有和其他相同字符组成的词则去掉,如上述的结果如下。组1:ABCD、BCAD、BDCA;组2:AABCD、ABCDA、BCDAA;组3:DOT、TDO。
2. 求二叉树中距离最远的两个结点(10分)
简述:给出实现思路及代码实现。
3. 2路归并算法(12分)
简述:请写出2路归并算法(把两个有序数组归并为一个有序数组)的思路及算法,并计算其时间复杂度。
四、应用题(共20分,编程语言选择Java/C/C++/Python)
1. 假如:刷信息超过列表页一半的ID没有了。但是统计结果表明:发现有3个发帖很多的ID,他们的发帖数目都超过了帖子总数目N的1/4。你能从信息ID列表中快速找出他们的ID吗?
2. 有一千万个URL在一个文本文件中,区分大小写、不重复。设计一个程序:实现对某一个URL的查找,输出URL是否存在。进阶:URL存在重复,输出URL出现的条目数。
要求:(1)算法尽量优化;
(2)不要求代码实现,用伪代码或直接描述算法。