软件测试面精彩试题汇总情况.docx
《软件测试面精彩试题汇总情况.docx》由会员分享,可在线阅读,更多相关《软件测试面精彩试题汇总情况.docx(35页珍藏版)》请在冰豆网上搜索。
软件测试面精彩试题汇总情况
测试技术与人事问题解答
1.单元测试和集成测试的区别。
答:
根据软件开发阶段,测试可以分为单元测试、集成测试、系统测试和验收测试。
体现了测试由小到大、又至外、循序渐进的测试过程和分而治之的思想。
其中单元测试的粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”。
而集成测试界于单元测试和系统测试之间,起到“桥梁作用”,一般由开发小组采用白盒加黑盒的方式来测试,既验证“设计”,又验证“需求”。
白盒测试主要应用在单元测试阶段,主要是对代码级的测试,针对程序部逻辑结构,测试手段有:
语句覆盖、判定覆盖、条件覆盖、路径覆盖、条件组合覆盖
集成测试主要用来测试模块与模块之间的接口,同时还要测试一些主要业务功能。
2.个人觉得是bug开发人员说不是该怎么解决?
答:
在确保自己能重现BUG的过程之后,有两种情况,一是需求没有确定,可以找产品经理进行确认,需不需要改动,3方商量确定好后再看要不要改;二是这种情况不可能发生,所以不需要修改,这个时候,可以说出是BUG的依据?
如果被用户发现或出了问题,会有什么不良结果?
程序员可能会给你很多理由,可以对他的解释进行反驳。
如果还是不行,那可以提出来,跟开发经理和测试经理进行确认,如果要修改就改,如果不要修改就不改。
其实有些真的不是bug,也只是建议的方式写进TD中,如果开发人员不修改也没有大问题。
如果确定是bug的话,一定要坚持自己的立场,让问题得到最后的确认。
例如,在A界面执行某操作,预期结果是怎样的,如果有规定预期结果,而实际与预期结果不符,那么这就是问题,开发是赖不掉的;如果没有原始的需求规定的话,则在用户角度来考虑,不要以经常不经常用为理由,只要是问题,就不用去考虑经常不经常用,提出来就行了。
3.功能测试和性能测试的含意?
答:
功能测试也叫黑盒测试或数据驱动测试,只需考虑需要测试的各个功能,不需要考虑整个软件的部结构及代码.一般从软件产品的界面、架构出发,按照需求编写出来的测试用例,输入数据在预期结果和实际结果之间进行评测,进而提出更加使产品达到用户使用的要求。
(简而言之,功能测试时根据产品的需求验证系统的功能。
)
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
负载测试和压力测试都属于性能测试,两者可以结合进行。
通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。
压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。
(简而言之,性能测试验证系统是否达到了需求规定的硬件设备接口接入数量。
)
4.说一个你认为是bug,开发人员认为不是bug的例子。
答:
在测试某一软件时,我找到一个bug,但是软件需求说明书里并没有明确要求或提到,但是和这款软件相类似的产品中,别的软件有一些固定的规或者标准。
比如:
MyQQ中添加好友,对方同意后,发送方不会收到信息提示;而在QQ中好友添加成功后,双方都会收到消息提示。
5.软件测试主要注意哪些?
答:
不要钻牛角尖,保持积极乐观良好的心态,有效的沟通,实事,良好的语言组织(详细面熟重现bug的过程),找bug尽量避免主观臆断(排除由于操作失误而导致的缺陷)。
P.S.详细的请看word文档:
软件测试注意事项.doc
6.数据库问题:
查询表A将记录插入B表SQL如何写?
答:
先use调用表A所在的数据库,再查询:
select*fromA;
最后insertintoBvalues(记录1,记录2,记录3,···,记录N);
7.数据库左右连接简单讲述一下。
答:
左外连接关键字LEFTOUTERJOIN
左外连接:
要进行的连接查询中,对于左边的表即使右边没有对应的查询连接条件也要把左边的结果完全查出来放在结果集中,空出来的的字段用NULL表示
右外连接关键字RIGHTOUTERJOIN
右外连接:
要进行的连接查询中,对于右边的表即使左边没有对应的查询连接条件也要把右边的结果完全查出来放在结果集中,空出来的的字段用NULL表示
P.S.详细的请看word文档:
数据库左右连接.doc
8.功能测试中的个人职责?
答:
检测产品质量是否符合客户需求。
举个例子:
做一个购物的功能测试,站在客户的角度测试的购物流程能否正确正常的进行,客户要求的功能是否正确实现,产品数量价格等参数是否正确一致等等。
9.按开发阶段测试分为哪几个阶段?
按软件测试分为哪几个阶段?
答:
按照开发阶段划分,和开发过程相对应,测试过程会依次经历单元测试、集成测试、系统测试三个主要阶段。
按软件测试阶段可分为:
Alpha测试、Bata测试、验收测试和冒烟测试。
10.单元测试和系统测试的侧重点?
答:
单元测试的测重点是系统的模块,包括子程序的正确性验证等。
系统测试的测重点是整个系统的运行以及与其他软件的兼容性。
11.什么是白盒测试和黑盒测试?
答:
白盒测试:
是通过程序的源代码进行测试而不使用用户界面。
(这种类型的测试需要从代码句法发现部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正)
黑盒测试:
又被称为功能测试、数据驱动测试或基于规格说明的测试,是通过使用整个软件或某种软件功能来严格地测试,而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。
(测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作)
12.黑盒测试的测试方法有哪些?
答:
等价类划分方法、边界值分析方法、错误推测方法、因果图方法、判定表驱动分析方法
、正交实验设计方法、功能图分析方法等。
13.请写出软件测试步骤?
答:
测试过程按4个步骤进行,即单元测试、集成测试、确认测试和系统测试及发版测试。
开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。
集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。
确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。
系统测试把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测试。
14.如何区别白盒与黑盒?
答:
黑盒测试:
已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。
白盒测试:
已知产品的部工作过程,可以进行测试证明每种部操作是否符合设计规格要求,所有部成分是否经过检查。
15.BUG流程。
答:
提交(打开)缺陷→分配(转交)缺陷→确认缺陷→推迟处理→固定→处理缺陷→回归缺陷→关闭缺陷
P.S.详细的流程图见bug流程图
16.软件测试模型各优点缺点?
答:
如下表所示:
模型
优点
缺点
瀑布模型
文档驱动
由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发结果,从而增加了开发的风险;早期的错误可能要等到开发后期才能发现,从而带来严重的后果
快速原型模型
关注满足客户需求
可能导致系统设计差、效率低,难于维护
螺旋模型
风险驱动
风险分析人员需要有经验且经过充分训练
敏捷开发模型
开发早期反馈及时,易于维护
团队的组建较难,人员素质要求较高,良好的团队意识,有敏捷开发的经验
17.请写出电脑的组成及有哪些操作系统?
答:
计算机由硬件和软件两大部分组成。
(1)硬件的组成(输入设备,输出设备,存储器,运算器,控制器)
输入设备:
使计算机从外部获得信息的设备如鼠标,键盘,光笔,扫描仪,话筒,数码相机,摄像头,手写板
输出设备:
把计算机处理信息的结果以人们能够识别的形式表示出来的设备如显示器,打印机,绘图仪,音箱,投影仪
存储器:
如硬盘,光驱,U盘
运算器:
算术运算,逻辑运算
控制器:
如从存储器中取出指令,控制计算机各部分协调运行
控制器和运算器整合在CPU中
(2)软件的组成
软件定义:
程序和有关文档资料的合称
软件分类:
系统软件(使用和管理计算机的软件)和应用软件(专为某一应用编制的软件)
常见的系统软件有:
操作系统,数据库管理系统和程序设计语言
常见的应用软件有:
辅助教学软件,辅助设计软件,文字处理软件,信息管理软件和自动控制软件
操作系统:
DOS、OS/2、UNIX、XENIX、LINUX、Windows、Netware等。
18.一道关于冒泡法编程的问题。
答:
此题问题不明确,等问题补充完整再回答。
19.分页有哪几种方法,用SQL怎么分页?
答:
分页方案一:
(利用NotIn和SELECTTOP分页)
分页方案二:
(利用ID大于多少和SELECTTOP分页)
分页方案三:
(利用SQL的游标存储过程分页)
P.S.详细代码解释见SQL分页.txt
*19.drop,delete和truncate之间的区别?
答:
1.truncate和delete只删除数据不删除表的结构(定义)drop语句将删除表的结构
被依赖的约束(constrain),触发器(trigger),索引(index);依赖于该表的存储过程/函数
将保留,但是变为invalid状态。
2.delete语句是dml,这个操作会放到rollbacksegement中,事务提交之后才生效;如
果有相应的trigger,执行的时候将被触发。
truncate,drop是ddl,操作立即生效,原数据不放到rollbacksegment中,不能回滚。
操作不触发trigger。
3.delete语句不影响表所占用的extent,高水线(highwatermark)保持原位置不动,
drop语句将表所占用的空间全部释放。
truncate语句缺省情况下可以使空间释放到minextents个extent,除非使用reusestorage;truncate会将高水线复位(回到最开始)。
4.速度,一般来说:
drop>truncate>delete
5.安全性:
小心使用drop和truncate,尤其没有备份的时候。
否则哭都来不及使用上,想删除部分数据行用delete,注意带上where子句。
回滚段要足够大。
想删除表,当然用drop
想保留表而将所有数据删除。
如果和事务无关,用truncate即可.如果和事务有关,或者想触发trigger,还是用delete。
如果是整理表部的碎片,可以用truncate跟上reusestroage,再重新导入/插入数据。
6:
delete是DML语句,不会自动提交。
drop,truncate都是DDL语句,执行后会自动提交
7:
truncate只能对TABLE,delete可以是table,view,synonym
8:
TRUNCATETABLE的对象必须是本模式下的,或者有dropanytable的权限,而
DELETE则是对象必须是本模式下的,或被授予DELETEONSCHEMA.TABLE或DELETEANYTABLE的权限
20.数据库有哪几种表连接方式?
答:
连接、左外连接、右外连接、全外连接、(theta)连接、交叉连接。
21.SQL需要遵循哪些规则?
答:
命名规则、书写规则等。
22.如何定位使用cpu多的用户session?
答:
使用CPU多的用户session
SELECTa.SID,spid,status,SUBSTR(a.program,1,40)prog,a.terminal,a.SQL_TEXT,osuser,VALUE/60/100VALUE
FROMv$sessiona,v$processb,v$sesstatc
WHEREc.statistic#=12ANDc.SID=a.SIDANDa.paddr=b.addr
ORDERBYVALUEDESC;
selectsql_textfromv$sql
wheredisk_reads>1000or(executions>0andbuffer_gets/executions>30000);
23.如何定位重要的SQL?
答:
1.statspack--在你库上业务最忙得时候抓15分钟的report,看里面的topsql
2.top找到消耗资源多的pid
3.确定是oracle的应用进程还是后台进程
4.根据v$session,v$process,v$sqlarea定位
用oem带的topsession
SELECThash_value,executions,buffer_gets,disk_reads,parse_calls
FROMV$SQLAREA
WHEREbuffer_gets>10000000ORdisk_reads>1000000
ORDERBYbuffer_gets+100*disk_readsDESC
24.用SQL建立表并且筛选?
答:
createtable表名(列名数据类型,列名数据类型,列名数据类型);
select列名,列名from表名。
25.loadrunner的使用流程。
答:
制定测试计划→创建测试脚本→创建场景→运行场景→监控测试场景→分析测试结果
26.删除一行的具体操作(sql)。
答:
DELETE*FROM表名WHERE条件
27.Linux的基本命令。
答:
显示日期的指令:
date,显示日历的指令:
cal,简单好用的计算器:
bc,重要的几个热键[Tab],[ctrl]-c,[ctrl]-d,man,惯用的关机指令:
shutdown,切换执行等级:
init,改变文件拥有者:
chown,改变文件的权限:
chmod,变换目录:
cd,显示当前所在目录:
pwd,建立新目录:
mkdir,档案与目录的显示:
ls,复制档案或目录:
cp,移除档案或目录:
rm,移动档案与目录:
mv,由第一行开始显示档案容:
cat,观察文件类型:
file。
28.数据库的了解。
答:
熟练掌握SQLserver的操作,有一定的Oracle数据库的基础,能够独立完成数据库备份与恢复。
29.软件接口用什么自动化工具测?
答:
loadrunner。
30.LoadRunner怎么录制一个脚本,Loadrunner的分析指标。
31.LoadRunner的录制脚本怎么处理?
32.FTP学的怎么样?
答:
学的还不错,有装过FTP,使用过它的上传和下载功能。
33.OSI的各个层?
tcp/udp位于哪一层?
tcp/udp的优缺点?
答:
OSI分为7层,分别为应用层、表示层、会话层、运输层、网络层、物理链路层、物理层。
而tcp/udp属于运输层,TCP服务提供了数据流传输、可靠性、有效流控制、全双工操作和多路复用技术等。
与TCP不同,UDP并不提供对IP协议的可靠机制、流控制以及错误恢复功能等。
由于UDP比较简单,UDP头包含很少的字节,比TCP负载消耗少。
tcp:
提供稳定的传输服务,有流量控制,缺点是大,冗余性不好
udp:
不提供稳定的服务,小,开销小
34.进程有哪几种?
答:
系统进程、应用程序进程和恶意程序进程。
35.软件测试的定义?
答:
软件测试的经典定义是:
在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
36.测试问的比较多,比如测试流程,具体的测试方法,测试用例包括哪些,用的测试提交工具,给一个文本框如何测试?
答:
软件测试流程:
需求分析阶段→软件设计和编码阶段→集成、系统、验收测试阶段。
软件测试方法:
黑盒测试、白盒测试、灰盒测试、静态测试和动态测试。
测试用例包括:
用例编号、测试项描述、操作步骤、输入、预期结果、实际结果、测试结果、缺陷编号、回归测试结果、最终测试结果、测试人、测试时间、备注。
测试提交工具:
QC等。
文本框的测试容:
从输入数据的容、长度、类型及格式等几个方面来考虑。
37.常见的Linux命令:
用户、复制、删除、文本编辑器vi。
答:
useradd命令可以用于添加用户,格式:
useradd[选项]用户名。
cp命令可以用于复制文件或目录,格式:
cp[选项]…源文件或目录…目标文件或目录。
rm命令可以用于删除文件或目录,格式:
rm[选项]…源文件或目录…目标文件或目录。
文本编辑器vi:
执行单独的“vi”命令即可进入到vi编辑器的命令模式;在命令模式中,使用“a、i、o”等按键可以快速切换至输入模式,按esc键可返回命令模式;在命令模式中,按“:
”键可切换至末行模式。
38.缺陷报告的组成,缺陷报告应放在哪一阶段提交?
答:
实施测试和提交缺陷报告阶段。
39.一个完整的测试应该包括哪些测试文档?
答:
测试计划、测试策略、测试方案、漏测分析、测试用例、编写测试总结报告、缺陷报告、需求分析报告、各类评审文档,风险报告,测试日报周报。
40.在Linux查找日志文件的命令是什么,删除文件的命令是什么?
答:
查找日志文件的命令:
find/-name“*.log”
删除文件的命令:
rm命令可以用于删除文件或目录,格式:
rm[选项]…源文件或目录…目标文件或目录。
41.数据库表里的增删改查。
答:
增加:
insertinto数据表(字段1,字段2,字段3)values('值1','值2','值3')
删除:
deletefrom数据表whereid=你要删除的数据id
修改:
update数据表set字段1=‘值1’,字段2=‘值2’,字段3=‘值3’whereid=你要修改的数据ID
查询:
select(你要查询的字段,*代表全部字段)from表名where(你的查询条件)
42.测试用例应该包含哪些东西?
答:
测试用例包括:
功能名称、测试用例编号、用例说明、设计方法、用例级别、预置条件、操作步骤、预期结果、设计人员、评审人员、测试人员、测试结果、缺陷编号、备注。
43.使用过哪些项目管理软件?
答:
Mantis、QC
44.Java掌握什么程度?
答:
基本掌握Java语言,能够编写一些简单的程序。
45.什么是软件测试,软件测试流程。
答:
软件测试是指在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
软件测试流程:
需求分析阶段→软件设计和编码阶段→集成、系统、验收测试阶段。
46.B/S、C/S、OA什么意思。
答:
B/S结构,即Browser/Server(浏览器/服务器)结构
C/S结构,即Client/Server(客户机/服务器)结构
OA软件是OfficeAutomation的缩写,指办公室自动化或自动化办公
47.如何在本企业中使用远程桌面?
答:
方法一:
使用QQ的远程桌面功能,操作比较简单,只要双方都有QQ,并且联网即可。
方法二:
使用windows自带的远程桌面连接,是最好的方法.具体操作比较复杂.需要设置客户端和服务器端。
48.在XP系统中使用远程桌面时,如何将本机中的文件拷贝到远程电脑中。
答:
两种方法:
1.通过“网上邻居”。
把远程电脑的文件夹设成“共享”,然后在本机上通过网上邻居连接远程电脑进行拷贝。
2.在连接远程桌面的时候,点“选项>>”-》“本地资源”-》本地设备中在“磁盘驱动器”前面打钩。
这样,连接远程电脑之后,打开“我的电脑”,就可以看到本地电脑的所有硬盘驱动器,随便怎么拷贝都可以啦!
49.画流程图,1到100能被3整除的。
答:
如下图所示:
50.什么是双机热备,如何实现?
答:
双机热备这一概念包括了广义与狭义两种意义.
从广义上讲,双机热备(双机容错)就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务.当一台服务器出现故障时,可以由另一台服务器承担服务任务,从而在不需要人工干预的情况下,自动保证系统能持续提供服务
双机热备由备用的服务器解决了在主服务器故障时服务不中断的问题.但在实际应用中,可能会出现多台服务器的情况,即服务器集群
双机热备一般情况下需要有共享的存储设备.但某些情况下也可以使用两台独立的服务器
实现双机热备,需要通过专业的集群软件或双机软件
从狭义上讲,双机热备特指基于active/standby方式的服务器热备.服务器数据包括数据库数据同时往两台或多台服务器写,或者使用一个共享的存储设备.在同一时间只有一台服务器运行.当其中运行着的一台服务器出现故障无法启动时,另一台备份服务器会通过双机软件的诊测(一般是通过心跳诊断)将standby机器激活,保证应用在短时间完全恢复正常使用
51.C语言部分考循环体。
答:
C语言并没有学过,不过我学过java,循环体也很熟悉。
52.像素上的问题?
答:
问题不全,无法作答。
(像素和分辨率是两个概念)
53.字节所占空间?
答:
1字节=8位1KB=1024字节1MB=1024KB1G=1024MB
54.数据库的查询?
答:
使用select语句进行查询。
55.看Java代码写出程序运行结果?
答:
基本可以。
56.列举去年it界的三大事件,你的看法?
答:
事件一:
windowxp退役,我的看法:
现在的软件和硬件更新速度很快,而且软件的更新速度赶不上硬件的更新速度,而xp属于比较老的系统版本了,已经无法满足日新月异的软件和硬件的需要了,所以被淘汰是必然的,不过xp在历史上的地位还是值得肯定的,良好的稳定性和兼容性使它显得很受欢迎。
(当然不排除微软为了强制用户升级使用更高版本的windows的商业目的,毕竟软件的开发和维护需要的成本是十分巨大的。
)
事件二:
OpenSSL曝“心脏流血”漏洞,我的看法:
先介绍下这个漏洞,(心脏流血漏洞可以帮助黑客获得打开服务器的密钥,监听服务器数据和流量。
更糟糕的是,这并不是一个新的漏洞,“心脏流血”其实已经存在两年了,但具体何时被人发现其危险性尚不得而知。
),现在的开源软件确实很多,开源软件的使用方便而且免费,但是其安全问题一直是不容忽视的,而进行这方面的维护又需要投入大量的资金,所以开源的软件需要自己权衡利弊。
事件三:
iCloud曝严重漏洞引发艳照门事件,我的看法:
现在的公共云存储非常多,用户也很多,我自己也很喜欢用,比如XX云,免费空间大、分享方便、上传下载方便都是它的优势,而信息安全问题是大家普遍关注的,如果自己上传的一些比较重要或私人的东西,如果其安全性得不到保障,那么它的用户必然会越来越少。
57.写出三种开放式汇编平台,并写出其作用?
答:
此题不会。
58.你所用的图片查看器,写出其四个bug?
答:
59.软件测试对软件质量的影响?
答:
软件测试是程序的一种执行过程,目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性。
软件测试和软件质量是分不开的。
测试是手段,质量是目的。
对比国外可以看到,国外软件开发机构会把40%的工作花在测试上,测试费用则会占到软件开发总费用的30%到50%,对于一些要求高可靠性、高安全性的软件,测试费用则相当于整个软件项目开发费用的3至5倍。
因此,软件测试在软件生存期中占有非常突出的位置,是保证软件质量的重要手段。
软件项目的实践一再说明,为了确保软件产品能够符合用户的需要,必须着眼于整个软件生存周期,在各个阶段进行验证、