软件测试工程师笔试题

软件测试题目 
一、 判断题 (每题2分,20) 
1、软件测试就是为了验证软件功能实现的是否正确,是否完成既定目标的活动,所以软件测试在软件工程的后期才开始具体的工作。 (初级) ( × ) 

2、发现错误多的模块,残留在模块中的错误也多。( √ ) (初级) 

3、测试人员在测试过程中发现一处问题,如果问题影响不大,而自己又可以修改,应立即将此问题正确修改,以加快、提高开发的进程。( × )(初级) 

4、单元测试通常应该先进行“人工走查”,再以白盒法为主,辅以黑盒法进行动态测试。 
( √ )(中级) 

5、功能测试是系统测试的主要内容,检查系统的功能、性能是否与需求规格说明相同。( √ )(中级) 

6、软件质量管理即QM由QA和QC构成,软件测试属于QC的核心工作内容。(√)(高级) 

7、软件测试只能发现错误,但不能保证测试后的软件没有错误。(√) 

8、软件就是程序。(X) 

9、测试只要做到语句覆盖和分支覆盖,就可以发现程序中的所有错误。(X) 

10、I18N测试是指对产品做出具有国际性的规划,而L10N测试则是指对软件做出符合本地需求更改工作。(√)【高级】 

二、 选择题 (每题2分 20 ) 
1、 进行软件质量管理的重要性有:(ABCD)【中级】 
A、维护降低成本 B、法律上的要求 C、市场竞争的需要 
D、质量标准化的趋势 E、软件工程的需要 F、CMM过程的一部分 
G、方便与客户进一步沟通为后期的实施打好基础 
2、以测试的形态分测试可以分为:(ABC)【中级】 
A、建构性测试 B、系统测试 C、专项测试 
D、单元测试 E、组件测试 F、集成测试 
3、选出属于黑盒测试方法的选项(ABC)【初级】 
A、测试用例覆盖 B、输入覆盖 C、输出覆盖 
D、分支覆盖 E、语句覆盖 F、条件覆盖 
4、编写测试计划的目的是:(ABC)【中级】 
A、使测试工作顺利进行 B、使项目参与人员沟通更舒畅 C、使测试工作更加系统化 
D、软件工程以及软件过程的需要 E、软件过程规范化的要求 F、控制软件质量 
5、依存关系有4种分别是:(ABCD)【高级】 
A、开始-结束 B、开始-开始 C、结束-开始 
D、结束-结束 E、开始-实施-结束 F、结束-审核-开始 
6、软件质量管理(QM)应有质量保证(QA)和质量控制(QC)组成,下面的选项属于QC得是:(ABC)【高级】 
A、测试 B、跟踪 C、监督 
D、制定计划 E、需求审查 F、程序代码审查 
7、实施缺陷跟踪的目的是:(ABCD)【中级】 
A、软件质量无法控制 B、问题无法量化 C、重复问题接连产生 
D、解决问题的知识无法保留 E、确保缺陷得到解决 F、使问题形成完整的闭环处理 
8、使用软件测试工具的目的:(ABC)【中级】 
A、帮助测试寻找问题 B、协助问题的诊断 C、节省测试时间 
D、提高Bug的发现率 E、更好的控制缺陷提高软件质量 F、更好的协助开发人员 
9、典型的瀑布模型的四个阶段是:(ABCD)【高级】 
A、分析 B、设计 C、编码 
D、测试 E、需求调研 F、实施 
10、PSP是指个人软件过程 ,是一种可用于( A )、( B )和( C )个人软件工作方式的自我改善过程。【高级】 
A、控制 B、管理 C、改进 
D、高效 E、充分 F、适宜 

三、 问答题 
1、 测试人员在软件开发过程中的任务是什么?(初级)(5分) 
答:1、寻找Bug; 
2、避免软件开发过程中的缺陷; 
3、衡量软件的品质; 
4、关注用户的需求。 
总的目标是:确保软件的质量。 
2、 在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?(初级)(6分) 
答:一条Bug记录最基本应包含:编号、Bug所属模块、Bug描述、Bug级别、发现日期、发现人、修改日期、修改人、修改方法、回归结果等等;要有效的发现Bug需参考需求以及详细设计等前期文档设计出高效的测试用例,然后严格执行测试用例,对发现的问题要充分确认肯定,然后再向外发布如此才能提高提交Bug的质量。 

3、 界面测试题及设计题。请找出下面界面中所存在的问题并分别列出;用黑盒测试的任何一种方法设计出此登陆窗体的测试用例。(中级)(6分) 


答:1、窗体的标题栏中为空,没有给出标题。 
2、用户名和密码控件的字体不一致并且没有对齐。 
3、文本框的大小不一致没有对其。 
4、确定和取消按钮控件的大小不一致。 

4、 黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点!(中级)(5分) 
答:黑盒测试的优点有: 
1)比较简单,不需要了解程序内部的代码及实现; 
2)与软件的内部实现无关; 
3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题; 
4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能; 
5)在做软件自动化测试时较为方便。 
黑盒测试的缺点有: 
1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%; 
2)自动化测试的复用性较低。 
白盒测试的优点有: 
帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。 
白盒测试的缺点有: 
1)程序运行会有很多不同的路径,不可能测试所有的运行路径; 
2)测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求; 
3)系统庞大时,测试开销会非常大。 
5、 根据自己的理解回答什么是软件测试,软件测试分为哪几个阶段。(初级)(5分) 
答:软件测试是一个为了寻找软件中的错误而运行软件的过程,一个成功的测试是指找到了迄今为止尚未发现的错误的测试。 
软件测试一般分为单元测试、集成测试和系统测试。 
6、 根据自己的理解什么是测试用例和测试规程,设计一个测试用例应当从哪几方面考虑?(中级)(10分) 
答:狭义的讲,一个测试用例就是测试人员用以测试被测软件的某个特性或特性组合的一组数据。这组数据可能是从用户处得来的实际的一组数据,也可能是测试人员专门设计出来的测试软件某些功能的一组数据。 
测试规程就是详细的对测试用例设计方法、测试方法、测试工具、测试环境和测试数据进行描述的文档,还可以包括能把某个或某一组测试用例应用到被测软件上完成某项测试的一系列的操作步骤。 
设计测试用例应当从以下几方面考虑:边界值,等价类划分,有效/无效值等。 
7、 什么是软件质量保证?软件质量保证人员与开发人员的关系如何?(高级) (10分) 
答:软件质量保证就是通过确保软件过程的质量,来保证软件产品的质量。 
软件质量保证人员和开发人员之间具有管理上的严格的独立性,两个小组的管理员都不能越权管理另一组,但都可以向更高层的管理者汇报软件开发中的问题 
四、 设计题 
1).输入三个整数,判断三个整数能否构成一个三角形,请用黑盒测试方法中的一种设计出相应的测试用例并详细说明所使用的黑盒测试方法。(中高级) (15分)


高级软件测试工程师笔试题

Question 1. (单选)

下列字符中,ASCII码值最小的是

1. a5a880faf6fc350ade2a4

2. A

3. x

4. Y

Question 2. (单选)

OSI(开放系统互联)参考模型的最低层是

1. 传输层6fe97759aab922cfa312

2. 网络层

3. 物理层

4. 应用层

Question 3. (单选)

计算机中,一个浮点数由两部分组成,它们是

1. 阶码和尾数5568161a8cd5792c152c

2. 基数和尾数

3. 阶码和基数

4. 整数和小数

Question 4. (单选)

存储400个24x24点阵汉字字形所需的存储容量是

1. 255KB4005f8da1360d149af1f

2. 75KB

3. 37.5KB

4. 28.125KB

Question 5. (单选)

用于保存计算机输入输出数据的材料及其制品称为

1. 输入输出媒体8f07f89ddb4c20a920bf

2. 输入输出通道

3. 输入输出接口

4. 输入输出端口

Question 6. (单选)

下面是关于解释程序和编译程序的论述,其中正确的一条是

1. 编译程序和解释程序均能产生目标程序ea6328a42e4c65f8a52f

2. 编译程序和解释程序均不能产生目标程序

3. 编译程序能产生目标程序而解释程序则不能

4. 编译程序不能产生目标程序而解释程序能

Question 7. (单选)

下面是与地址有关的四条论述,其中有错的一条是

1. 地址寄存器是用来存储地址的寄存器3f027327d8e85d8ecacd

2. 地址码是指令中给出源操作数地址或运算结果的目的地址的有关信息部分

3. 地址总线上既可传送地址信息,也可传送控制信息和其他信息

4. 地址总线上除传送地址信息外,不可以用于传输控制信息和其它信息

Question 8. (单选)

下列四个不同数制表示的数中,数值最大的是

1. 二进制数11011101b79421734892ff12784d

2. 八进制数334

3. 十进制数219

4. 十六进制数DA

Question 9. (单选)

当个人计算机以拨号方式接入Internet网时,必须使用的设备是

1. 网卡e76fc522772555b7c98f

2. 调制解调器(Modem)

3. 电话机

4. 浏览器软件

Question 10. (单选)

微机计算机硬件系统中最核心的部件是

1. 主板a126b2f4b23e5415eb55

2. CPU

3. 内存储器

4. I/O设备

Question 11. (单选)

为解决某一特定问题而设计的指令序列称为

1. 

文档cbf4caaed317fda73c03

2. 语言

3. 程序

4. 系统

Question 12. (单选)

下列关于系统软件的四条叙述中,正确的一条是

1. 系统软件与具体应用领域无关976aab52985ebbcd3a1b

2. 系统软件与具体硬件逻辑功能无关

3. 系统软件是在应用软件基础上开发的

4. 系统软件并不具体提供人机界面

Question 13. (单选)

微型计算机存储系统中,PROM是

1. 可读写存储器65e6e1edc0c241e73e84

2. 动态随机存取存储器

3. 只读存储器

4. 可编程只读存储器

Question 14. (单选)

下列几种存储器中,存取周期最短的是

1. 内存储器94728bc39a6dea6e2210

2. 光盘存储器

3. 硬盘存储器

4. 软件盘存储器

Question 15. (单选)

计算机能直接识别和执行的语言是

1. 机器语言c49eb8f757e6b7bd168a

2. 高级语言

3. 汇编语言

4. 数据库语言

Question 16. (单选)

与十进制数254等值的二进制数是

1. 11111110f9020d2abe7ebe61b7aa

2. 11101111

3. 11111011

4. 11101110

Question 17. (单选)

下列术语中,属于显示器性能指标的是

1. 速度7a99787bd16721579732

2. 可靠性

3. 分辨率

4. 精度

Question 18. (单选)

在计算机领域中通常用MIPS来描述

1. 计算机的运算速度74270fd093ffef459384

2. 计算机的可靠性

3. 计算机的可运行性

4. 计算机的可扩充性

Question 19. (单选)

在计算机网络中,表征数据传输可靠性的指标是

1. 传输率d7dbbb00f94bc016b14b

2. 误码率

3. 信息容量

4. 频带利用率

Question 20. (单选)

以下关于链式存储结构的叙述中哪一条是不正确的?

1. 结点除自身信息外还包括指针域,因此存储密度小于顺序存储结构e93e74d3df2927ba7099

2. 逻辑上相邻的结点物理上不必邻接

3. 可以通过计算直接确定第i个结点的存储地址

4. 插入、删除运算操作方便,不必移动结点

Question 21. (单选)

以下哪一个不是栈的基本运算

1. 删除栈顶元素ef840f0c742601105631

2. 删除栈底元素

3. 判断栈是否为空

4. 将栈置为空栈

Question 22. (单选)

以下关于广义表的叙述中,正确的是

1. 广义表是0个或多个单元素或子表组成的有限序列3c5ee48d0b53a46f4dcb

2. 广义表至少有一个元素是子表

3. 广义表不可以是自身的子表

4. 广义表不能为空表

Question 23. (单选)

如果一棵二叉树结点的前序序列是A、B、C,后序序列是C、B、A,则该二叉树结点的对称序

序列66ec4fa56eef4d8e6a7b

1. 必为A、B、C

2. 必为A、C、B

3. 必为B、C、A

4. 不能确定

Question 24. (单选)

在虚拟页式存储管理方案中,下面哪一部分完成将页面调入内存的工作?4ba8f0936ceb5dba427e

1. 缺页中断处理

2. 页面淘汰过程

3. 工作集模型应用

4. 紧缩技术利用

Question 25. (单选)

在DOS系统中,用于记录和管理磁盘数据区使用情况的数据结构8dba5425d6cac59244a7

1. 位图表

2. 空闲块表

3. 文件分配表

4. 文件控制块

Question 26. (单选)

PSP是?9c94d8d0cb8f9dd0bb5c

1. 团队软件过程

2. 个体软件过程

3. 过程改进过程

4. 质量管理过程

Question 27. (多选)

以下哪些过程能够提高软件质量?f34c2313a503b15c7af7

1. 可行性分析

2. 需求评审

3. 测试

4. 代码走查

Question 28. (单选)

在CMM模型中,对软件成熟度有以下5个级别,请从低到高排序

a 初始级:软件过程的特点是无秩序的,偶尔甚至是混乱的。几乎没有什么过程是经过定义的,成功依赖于个人的努力。102a8d3be2bb36f44a70

b 优化级:

利用来自过程和来自新思想、新技术的先导性试验的定量反馈信息,使持续过程改进成为可能。

c 已定义级:管理活动和工程活动两方面的软件过程均已文档化、标准化、并集成到组织的标准软件过程。

d 已管理级:已采集详细的有关软件过程和产品质量的度量,无论软件过程还是产品均得到定量了解和控制。

e 可重复级:已建立基本的项目管理过程去跟踪成本、进度和功能性。必要的过程纪律已经就位,使具有类似应用的项目。能重复以前的成功。

1. acdbe6f7a3bb470f6a4ca0bc9

2. adceb

3. aecdb

4. abcde

Question 29. (单选)

可行性研究要进行一次_____需求分析

1. 详细的e0a11a242b5c2139e787

2. 全面的

3. 简化的、压缩的

4. 彻底的

Question 30. (单选)

在面向对象的系统中,系统责任的良好分配原则是

1. 在类之间均匀分配c22fc182d3067c8e17f5

2. 集中分配在少数控制类中

3. 根据交互图的消息进行分配

4. 根据个人喜好进行分配

Question 31. (单选)

int I=2;int x=(I++) + (I++) + (I++);执行结束后,X的值是

1. 6d39fd083f5ee1f02a7db

2. 7

3. 8

4. 9

Question 32. (单选)

char *p="ab"; sizeof(*p)=( )

1. 1ce68dad4d596841cd725

2. 2

3. 3

4. 4

Question 33. (单选)

下列关于程序效率的描述错误的是

1. 提高程序的执行速度可以提高程序的效率6c3abca69f4b1d876bbd

2. 降低程序占用的存储空间可以提高程序的效率

3. 源程序的效率与详细设计阶段确定的算法的效率无关

4. 好的程序设计可以提高效率

Question 34. (单选)

现在向银行存款,年利率为i,若希望在n年后从银行得到F元,现在应该存入的钱数为

1. i /(1+ F)nc0e3619e986cc630395b

2. F/(1+i n)

3. F/in

4. F/(1+i)n

Question 35. (多选)

以下哪些类型的文件可以通过数字签名加载到IE?

1. .date05ebd9336902c6ad097

2. .ico

3. .exe

4. .cab

Question 36. (单选)

在LINUX系统中,下列哪一个命令属于目录管理的常用命令?

1. pwde6ac95ea2c4514070709

2. pr

3. ln

4. find

Question 37. (单选)

如果互连的局域网高层分别采用TCP/IP协议与SPX/IPX协议,那么我们可以选择的互连设备应该是

1. 中继器0a8e5646eff628a52974

2. 网桥

3. 网卡

4. 路由器

Question 38. (单选)

LINUX下,解压缩文件的命令为?

1. tar zxvf 文件名669d7a23de9a5b55474f

2. unzip 文件名

3. CAT 文件名

4. VI 文件名

Question 39. (单选)

以下关于TCP/IP传输层协议的描述中,错误的是

1. TCP/IP传输层定义了TCP和UDP两种协议088d7d9bf78a6d843a6c

2. TCP协议是一种面向连接的协议

3. UDP协议是一种面向无连接的协议

4. UDP 

协议与TCP协议都能够支持可靠的字节流传输

Question 40. (单选)

关于因特网,以下哪种说法是错误的

1. 用户利用HTTP协议使用Web服务920cf82ab02f9bf592cc

2. 用户利用NNTP协议使用电子邮件服务

3. 用户利用FTP协议使用文件传输服务

4. 用户利用DNS协议适用域名解析

Question 41. (多选)

下列关于alpha 测试的描述中正确的是

1. alpha 测试需要用户代表参加52c750899b75b464c31c

2. alpha 测试不需要用户代表参加

3. alpha 测试是系统测试的一种

4. alpha 测试是验收测试的一种

Question 42. (多选)

测试设计员的职责有

1. 制定测试计划930e4141076981a385b2

2. 设计测试用例

3. 设计测试过程、脚本

4. 评估测试活动

Question 43. (单选)

软件质量的定义

1. 软件的功能性、可靠性、易用性、效率、可维护性、可移植性0b240ce177927d9f1e3e

2. 满足规定用户需求的能力

3. 最大限度达到用户满意

4. 软件特性的总和,以及满足规定和潜在用户需求的能力

Question 44. (单选)

软件测试的对象包括()

1. 目标程序和相关文档f73a996984b07c6af38d

2. 源程序、目标程序、数据及相关文档

3. 目标程序、操作系统和平台软件

4. 源程序和目标程序

Question 45. (单选)

软件测试类型按开发阶段划分是()

1. 需求测试、单元测试、集成测试、验证测试cb3aca1ae2046065e640

2. 单元测试、集成测试、确认测试、系统测试、验收测试

3. 单元测试、集成测试、验证测试确认测试、验收测试

4. 调试、单元测试、集成测试、用户测试

Question 46. (单选)

V模型指出,对程序设计进行验证

1. 单元和集成测试c689c1d0e3ad60d5ada9

2. 系统测试

3. 验收测试和确认测试

4. 验证测试

Question 47. (单选)

V模型指出,对系统设计进行验证

1. 单元测试80cab8c456f8c5746673

2. 集成测试

3. 功能测试

4. 系统测试

Question 48. (单选)

V模型指出,应当追朔到用户需求说明

1. 代码测试d8f918a4aaebcbf8bf7d

2. 集成测试

3. 验收测试

4. 单元测试

Question 49. (单选)

以下哪种测试与其余三种测试在分类上不同

1. 负载测试4a4d452035ffb93957f3

2. 强度测试

3. 数据库容量测试

4. 静态代码走查

Question 50. (单选)

白盒测试是()的测试

1. 基于功能035754953ba653fad4bf

2. 基于代码

3. 基于设计

4. 基于需求文档

Question 51. (问答)

找出下列函数存在的问题? 

char *_strdup( const char *strSource )c2b4aa3ad7b38e09fefe

{

static char str[MAX_STR_LEN];

strcpy(str, strSource);

return str;

}

1e345e339f375e6cd832

Question 52. (问答)

写出恰当的SQL语句:Table1是学生登记表,包括学生ID,学生姓名,性别,学生班级等信息。Table2是学生情况表,包括学生ID,学生家庭住址等信息。请查询得到所有“姓张的女同学的家庭住址”,并按姓名的升序进行排列。

Question 53. (问答)

请根据以下程序片段,设计最少的测试用例实现条件覆盖

If((A>1)AND(B=0))Then X=X/A65c712c49df56926c2fa

If((A=2)OR(X>1))Then X=X+1

Printf("X=%d

",x)

Question 54. (问答)

一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。e5bc528021116d4aac36

Question 55. (问答)

请列出关于一个印有文字的水杯,你能想到的测试用例 

 

 

 

 

 

 

1.白箱测试和黑箱测试是什么?什么是回归测试?

回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。回归测试包括两部分:函数本身的测试、其他代码的测试。 

2.单元测试、集成测试、系统测试的侧重点是什么?

    单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。

集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求,组装成为子系统或系统,进行集成测试。实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。

系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。

3.设计用例的方法、依据有那些?

    白盒测试:逻辑覆盖法,主要包括语句覆盖,判断覆盖,条件覆盖,判断-条件覆盖,路径覆盖

黑盒测试:等价划分类,边界值分析,错误推测法。

5.集成测试通常都有那些策略?

1、在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;

2、各个子功能组合起来,能否达到预期要求的父功能;

3、一个模块的功能是否会对另一个模块的功能产生不利的影响;

4、全局数据结构是否有问题;

5、单个模块的误差积累起来,是否会放大,从而达到不可接受的程度。

学网,收藏本篇文章 [1] [2] [3]

$False$

pan>7.一个缺陷测试报告的组成

缺陷的标题,缺陷的基本信息,复现缺陷的操作步骤,缺陷的实际结果描述,期望的正确结果描述,注释文字和截取的缺陷图象。

8.基于WEB信息管理系统测试时应考虑的因素有哪些?

9.软件本地化测试比功能测试都有哪些方面需要注意?

软件本地化测试的目的:

软件本地化测试的测试策略:1.本地化软件要在各种本地化操作系统上安装并测试。2.源语言软件安装在另一台相同源语言操作系统上,作为对比测试。3.重点测试因本地化引起的软件的功能和软件界面的错误。4. 

测试本地化软件的翻译质量。5.手工测试和自动测试相结合。 

11.需求测试注意事项有哪些?

一个良好的需求应当具有一下特点:

完整性:每一项需求都必须将所要实现的功能描述清楚,以使开发人员获得设计和实现这些功能所需的所有必要信息。 

正确性:每一项需求都必须准确地陈述其要开发的功能。

一致性:一致性是指与其它软件需求或高层(系统,业务)需求不相矛盾。

可行性:每一项需求都必须是在已知系统和环境的权能和限制范围内可以实施的。

无二义性:对所有需求说明的读者都只能有一个明确统一的解释,由于自然语言极易导致二义性,所以尽量把每项需求用简洁明了的用户性的语言表达出来。

健壮性:需求的说明中是否对可能出现的异常进行了分析,并且对这些异常进行了容错处理。

必要性:“必要性”可以理解为每项需求都是用来授权你编写文档的“根源”。要使每项需求都能回溯至某项客户的输入,如Use Case或别的来源。

可测试性:每项需求都能通过设计测试用例或其它的验证方法来进行测试。

可修改性:每项需求只应在S R S 中出现一次。这样更改时易于保持一致性。欢迎光临学网,点击这里查看更多文章教程 [1] [2] [3]

另外,使用目录表、索引和相互参照列表方法将使软件需求规格说明书更容易修改。

可跟踪性:应能在每项软件需求与它的根源和设计元素、源代码、测试用例之间建立起链接链,这种可跟踪性要求每项需求以一种结构化的,粒度好(f i n e - g r a i n e d )的方式编写并单独标明,而不是大段大段的叙述。

12.测试分析测试用例注意(事项)?

***************************************************************************************

有关内存的思考题

void GetMemory(char *p) 

p = (char *)malloc(100); 

void Test(void) 

char *str = NULL; 

GetMemory(str); 

strcpy(str, "hello world"); 

printf(str); 

请问运行Test 函数会有什么样的结果? 

答:程序崩溃。

因为GetMemory 并不能传递动态内存, 

Test 函数中的 str 一直都是 NULL。

strcpy(str, "hello world");将使程序崩

溃。

void GetMemory2(char **p, int num) 

*p = (char *)malloc(num); 

void Test(void) 

char *str = NULL; 

GetMemory(&str, 100);

strcpy(str, "hello");

printf(str); 

}

请问运行Test 函数会有什么样的结果?

答:(1) 能够输出hello (2) 内存泄漏

char *GetMemory(void) 

char p[] = "hello world"; 

return p; 

void Test(void) 

char *str = NULL; 

str = GetMemory();

printf(str); 

请问运行Test 函数会有什么样的结果?

答: 可能是乱码。

因为GetMemory 返回的是指向“栈内存”

的指针,该指针的地址不是 NULL, 但其原

现的内容已经被清除,新内容不可知。

void Test(void) 

char *str = (char *) malloc(100); 

strcpy(str, “hello”); 

free(str); 

if(str != NULL) 

strcpy(str, “world”); 

printf(str); 

请问运行Test 函数会有什么样的结果?

答:篡改动态内存区的内容,后果难以预

料,非常危险。

因为free(str);之后,str 成为野指针,

if(str != NULL)语句不起作用。

 

 

一.主观判断题(10分) 

1.软件测试的目的是尽可能多的找出软件的缺陷。(Y) 

2.只要我们做了充分的测试。就能保证软件没有BUG(n) 

3.验收测试是由最终用户来实施的。(Y) 

4.项目立项前测试人员不需要提交任何工件。(n) 

5.单元测试能发现约80%的软件缺陷。(Y) 

6.代码评审是检查源代码是否达到模块设计的要求。(Y) 

7.负载测试是验证要检验的系统的能力最高能达到什么程度。(n) 

8.测试人员要坚持原则,缺陷未修复完坚决不予通过。(Y) 

9.我们可以人为的使得软件不存在配置问题。(n) 

10.集成测试计划在需求分析阶段末提交(n) 

二.基础理论题:(35分) 

1.已建立二张个学生基本信息表,表的结构如下: 

Test1 

No Name Sex Age Department Place 

2002001 张三 男 20 计算机系 北京 

2002002 李四 女 20 数学系 山东 

2002003 王五 男 21 计算机系 北京 

2002004 小红 女 21 数学系 河北 

2002005 小李 男 20 数学系 辽宁 

2002006 小王 男 22 计算机系 浙江 

Test2 

No Grade(N型) Courses 

2002001 67 英语 

2002002 81 数学 

2002003 75 操作系统 

2002004 91 网络 

2002005 70 数据库 

2002006 85 C语言 

1)用SQL语句找出是计算机系并籍贯是北京的学生的所有记录 

select * from test where department='计算机系' and place='北京'

2)用SQL语句把计算机系的学生的Department改为信息学院 

UPDATE test SET   department='信息学院' WHERE department='计算机系';

3)用SQL连接查询找出成绩大于等于75分的学生的No,Nname,Grade,Courses字段的记录 

select   distinct test.name1,test.number,test1.grade,test1.courses from test,test1

where test.number=test1.number and test1.grade>75

2.在数据库中如何实现并发控制,有哪两种方式? 

封锁和封锁协议

3.简述软件生命周期有那些阶段 

软件生命周期——需求分析——软件设计——程序编码——软件测试——运行维护

4.CMM软件成熟度模型有几个级别,分别是什么。 

5个级别,由低到高分别是: 

CMM1 初始级 

CMM2 可重复级 

CMM3 已定义级 

CMM4 已管理级 

CMM5 优化级

5.一个典型的B/S结构有哪些组件构成 

所谓B/S结构,就是只安装维护一个服务器(Server),而客户端采用浏览器(Browse)运行软件,即浏览器/服务器结构。

三.测试技能题:(30分) 

1.黑盒测试中设计测试用例一般有哪几种方法 

边界值、等价类划分、穷举法、因果图、场景法
2.Bug管理和版本控制一般用到哪些工具。 
BUG管理:TD或QC或bugzilla
版本控制:CVS、SVN、CSS
3.简述性能测试的一般步骤和目的? 
步骤:
步骤一:性能测试与数据收集
步骤二:性能瓶颈分析
步骤三:性能调优解决方案
目的:
l 最终的目的是最大限度地满足用户需求
 评价系统当前性能l
 预测系统未来性能l
l 寻找瓶颈,优化性能

4.在LR中使用IP欺骗的作用是什么? 
贴近用户实际使用环境。仿真效果好
有些系统不兼容相同IP的访问 


5.说出软件测试过程V模型,并说明它存在的缺点,可以画图。 

§ 测试是开发之后的一个阶段。
§ 测试的对象就是程序本身。
§ 实际应用中容易导致需求阶段的错误一直到最后系统测试阶段才被发现。

综合题:(15分) 
一个程序读入3个整数,a:输出最大值或最小值  
A:最大值:(最小值把“>”替换为“<”,“max”替换为“min”)
#include <stdio.h>
#definr max(x,y) (((x) > (y)) ? (x) : (y))
int main()
{
int a,b,c,d;
scanf(“%d,%d,%d”.&a,&b,&c);
d=max(a,max(b,c));
printf(“max=%d\n”,d)
}

 

 

 

有两个小组对同一个软件进行测试(测试的时间不清楚,软件的规模不清楚),A组测试出50个Bug;B组测试出55个Bug,提交汇总后发现其中有25个是相同的;我的问题是:请你估算一下这个软件还有多少个Bug没被发现?

 

   听一个同事说有次面试的时候主考官给他出了这样一道题,正好在很久以前看到过类似的资料,这里给大家共享出来,看看这种算法合理不。

 

  先说这个问题的答案是30,怎么算出来的呢?可以按照下面的公式:

  可以估计出的软件的缺陷共有:50*55/25=110个

  目前已经发现的有:50+55-25=80个

  没有发现的bug有:110-80=30个

 

  这个公式又是怎么得出来的呢,可以看看下面的推导过程:

 

  B---组A和组B都发现的缺陷数

  N1---组A发现的缺陷数

  N2---组B发现的缺陷数

  T---软件所有的缺陷数

 

  根据原理:组A发现的缺陷数占总缺陷数的比例等于组A和组B都发现的缺陷数占组B发现的缺陷数的比例,即N1/T=B/N2

 

  上面的公式改变形式即:T= N1*N2/B(软件总bug数)

 

  有了上面的公式再计算其它问题就容易了。

 


  • 4
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值