1、测试技术与人事问题解答1.单元测试和集成测试的区别。答:根据软件开发阶段,测试可以分为单元测试、集成测试、系统测试和验收测试。体现了测试由小到大、又内至外、循序渐进的测试过程和分而治之的思想。其中单元测试的粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计” 。而集成测试界于单元测试和系统测试之间,起到“桥梁作用” ,一般由开发小组采用白盒加黑盒的方式来测试,既验证“设计” ,又验证“需求” 。白盒测试主要应用在单元测试阶段,主要是对代码级的测试,针对程序内部逻辑结构,测试手段有:语句覆盖、判定覆盖、条件覆盖、路径覆盖、条件组合覆盖集成测试主要用来测试模块与模块之间的接口,
2、同时还要测试一些主要业务功能。2.个人觉得是 bug 开发人员说不是该怎么解决?答:在确保自己能重现 BUG 的过程之后,有两种情况,一是需求没有确定,可以找产品经理进行确认,需不需要改动,3 方商量确定好后再看要不要改;二是这种情况不可能发生,所以不需要修改,这个时候,可以说出是 BUG 的依据?如果被用户发现或出了问题,会有什么不良结果?程序员可能会给你很多理由,可以对他的解释进行反驳。如果还是不行,那可以提出来,跟开发经理和测试经理进行确认,如果要修改就改,如果不要修改就不改。其实有些真的不是 bug,也只是建议的方式写进 TD 中,如果开发人员不修改也没有大问题。如果确定是bug 的话
3、,一定要坚持自己的立场,让问题得到最后的确认。例如,在 A 界面执行某操作,预期结果是怎样的,如果有规定预期结果,而实际与预期结果不符,那么这就是问题,开发是赖不掉的;如果没有原始的需求规定的话,则在用户角度来考虑,不要以经常不经常用为理由,只要是问题,就不用去考虑经常不经常用,提出来就行了。3. 功能测试和性能测试的含意?答:功能测试也叫黑盒测试或数据驱动测试,只需考虑需要测试的各个功能,不需要考虑整个软件的内部结构及代码.一般从软件产品的界面、架构出发,按照需求编写出来的测试用例,输入数据在预期结果和实际结果之间进行评测,进而提出更加使产品达到用户使用的要求。 (简而言之,功能测试时根据产
4、品的需求验证系统的功能。 )性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。 (简而言之,性能测试验证系统是否达到了需求规定的硬件设备接口接入数量。 )4. 说一个你认为是 bug,开发人员认为不是 bug 的例子。答:在测试某一软件时,我找到一个 bug,但是软件需求说明书里并没有明确要求或提到,但是和
5、这款软件相类似的产品中,别的软件有一些固定的规范或者标准。比如:MyQQ 中添加好友,对方同意后,发送方不会收到信息提示;而在 QQ 中好友添加成功后,双方都会收到消息提示。5. 软件测试主要注意哪些?答:不要钻牛角尖,保持积极乐观良好的心态,有效的沟通,实事求是,良好的语言组织(详细面熟重现 bug 的过程) ,找 bug 尽量避免主观臆断(排除由于操作失误而导致的缺陷)。P.S.详细的请看 word 文档:软件测试注意事项 .doc6. 数据库问题:查询表 A 将记录插入 B 表 SQL 如何写?答:先 use 调用表 A 所在的数据库,再查询:select * from A;最后 ins
6、ert into B values(记录 1,记录 2,记录 3,记录 N);7. 数据库左右连接简单讲述一下。答:左外连接关键字 LEFT OUTER JOIN左外连接:要进行的连接查询中,对于左边的表即使右边没有对应的查询连接条件也要把左边的结果完全查出来放在结果集中,空出来的的字段用 NULL 表示右外连接关键字 RIGHT OUTER JOIN右外连接:要进行的连接查询中,对于右边的表即使左边没有对应的查询连接条件也要把右边的结果完全查出来放在结果集中,空出来的的字段用 NULL 表示P.S.详细的请看 word 文档:数据库左右连接.doc8. 功能测试中的个人职责?答:检测产品质量
7、是否符合客户需求。举个例子:做一个购物网站的功能测试,站在客户的角度测试网站的购物流程能否正确正常的进行,客户要求的功能是否正确实现,产品数量价格等参数是否正确一致等等。9. 按开发阶段测试分为哪几个阶段?按软件测试分为哪几个阶段?答:按照开发阶段划分,和开发过程相对应,测试过程会依次经历单元测试、集成测试、系统测试三个主要阶段。按软件测试阶段可分为:Alpha 测试、Bata 测试、验收测试和冒烟测试。10单元测试和系统测试的侧重点?答:单元测试的测重点是系统的模块,包括子程序的正确性验证等。系统测试的测重点是整个系统的运行以及与其他软件的兼容性。11. 什么是白盒测试和黑盒测试?答:白盒测
8、试:是通过程序的源代码进行测试而不使用用户界面。 (这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正)黑盒测试:又被称为功能测试、数据驱动测试或基于规格说明的测试,是通过使用整个软件或某种软件功能来严格地测试, 而并没有通过检查程序的源代码或者很清楚地了解该软件的源代码程序具体是怎样设计的。 (测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作)12黑盒测试的测试方法有哪些?答:等价类划分方法、边界值分析方法、错误推测方法、因果图方法、判定表驱动分析方法、正交实验设计方法、功能图分析方法等。13. 请写出软件测试步骤?答:测试过程按
9、 4 个步骤进行,即单元测试、集成测试、确认测试和系统测试及发版测试。开始是单元测试,集中对用源代码实现的每一个程序单元进行测试,检查各个程序模块是否正确地实现了规定的功能。 集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。系统测试把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测试。14. 如何区别白盒与黑盒?答:黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。白盒测试:已知产品的内部工作过程,可以进行测试证明
10、每种内部操作是否符合设计规格要求,所有内部成分是否经过检查。15. BUG 流程。答:提交(打开)缺陷分配(转交)缺陷确认缺陷推迟处理固定处理缺陷回归缺陷关闭缺陷P.S.详细的流程图见 bug 流程图16. 软件测试模型各优点缺点?答: 如下表所示:模型 优点 缺点瀑布模型 文档驱动由于开发模型是线性的,用户只有等到整个过程的末期才能见到开发结果,从而增加了开发的风险;早期的错误可能要等到开发后期才能发现,从而带来严重的后果快速原型模型 关注满足客户需求 可能导致系统设计差、效率低,难于维护螺旋模型 风险驱动 风险分析人员需要有经验且经过充分训练敏捷开发模型 开发早期反馈及时,易于维护 团队的
11、组建较难,人员素质要求较高,良好的团队意识,有敏捷开发的经验17. 请写出电脑的组成及有哪些操作系统?答:计算机由硬件和软件两大部分组成。 (1)硬件的组成(输入设备,输出设备,存储器,运算器,控制器) 输入设备:使计算机从外部获得信息的设备如鼠标,键盘,光笔,扫描仪,话筒,数码相机,摄像头, 手写板 输出设备:把计算机处理信息的结果以人们能够识别的形式表示出来的设备如显示器,打印机,绘图仪,音箱,投影仪 存储器:如硬盘,光驱,U 盘 运算器:算术运算,逻辑运算 控制器:如从存储器中取出指令,控制计算机各部分协调运行 控制器和运算器整合在 CPU 中 (2)软件的组成 软件定义:程序和有关文档
12、资料的合称 软件分类:系统软件(使用和管理计算机的软件)和应用软件(专为某一应用编制的软件) 常见的系统软件有:操作系统,数据库管理系统和程序设计语言 常见的应用软件有:辅助教学软件,辅助设计软件,文字处理软件,信息管理软件和自动控制软件操作系统:DOS、OS/2、UNIX、XENIX、LINUX、Windows、Netware 等。18. 一道关于冒泡法编程的问题。答:此题问题不明确,等问题补充完整再回答。19. 分页有哪几种方法,用 SQL 怎么分页?答:分页方案一:(利用 Not In 和 SELECT TOP 分页)分页方案二:(利用 ID 大于多少和 SELECT TOP 分页)分页
13、方案三:(利用 SQL 的游标存储过程分页)P.S.详细代码解释见 SQL 分页.txt*19.drop,delete 和 truncate 之间的区别?答:1. truncate 和 delete 只删除数据不删除表的结构(定义) drop 语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index); 依赖于该表的存储过程/函数将保留,但是变为 invalid 状态。2.delete 语句是 dml,这个操作会放到 rollback segement 中,事务提交之后才生效;如果有相应的 trigger,执行的时候将被触发。truncate,drop
14、是 ddl, 操作立即生效,原数据不放到 rollback segment 中,不能回滚。 操作不触发 trigger。3.delete 语句不影响表所占用的 extent, 高水线(high watermark)保持原位置不动,drop 语句将表所占用的空间全部释放。truncate 语句缺省情况下可以使空间释放到minextents 个 extent,除非使用 reuse storage; truncate 会将高水线复位(回到最开始)。4.速度,一般来说: droptruncate delete5.安全性:小心使用 drop 和 truncate,尤其没有备份的时候。否则哭都来不及使用上
15、,想删除部分数据行用 delete,注意带上 where 子句。回滚段要足够大。想删除表,当然用drop想保留表而将所有数据删除。 如果和事务无关,用 truncate 即可. 如果和事务有关,或者想触发 trigger,还是用 delete。如果是整理表内部的碎片,可以用 truncate 跟上 reuse stroage,再重新导入/插入数据。6:delete 是 DML 语句,不会自动提交。drop,truncate 都是 DDL 语句,执行后会自动提交7:truncate 只能对 TABLE,delete 可以是 table,view,synonym8:TRUNCATE TABLE 的
16、对象必须是本模式下的,或者有 drop any table 的权限, 而DELETE 则是对象必须是本模式下的,或被授予 DELETE ON SCHEMA.TABLE 或 DELETE ANY TABLE 的权限20. 数据库有哪几种表连接方式?答:内连接、左外连接、右外连接、全外连接、 (theta)连接、交叉连接。21. SQL 需要遵循哪些规则?答:命名规则、书写规则等。22. 如何定位使用 cpu 多的用户 session?答:使用 CPU 多的用户 sessionSELECT a.SID, spid, status, SUBSTR (a.program, 1, 40) prog, a
17、.terminal,a.SQL_TEXT, osuser, VALUE / 60 / 100 VALUEFROM v$session a, v$process b, v$sesstat cWHERE c.statistic# = 12 AND c.SID = a.SID AND a.paddr = b.addrORDER BY VALUE DESC;select sql_text from v$sql where disk_reads 1000 or (executions 0 and buffer_gets/executions 30000);23.如何定位重要的 SQL?答:1.stats
18、pack- 在你库上业务最忙得时候抓 15 分钟的 report,看里面的 top sql2.top 找到消耗资源多的 pid3.确定是 oracle 的应用进程还是后台进程4.根据 v$session,v$process,v$sqlarea 定位用 oem 带的 top sessionSELECT hash_value, executions, buffer_gets, disk_reads, parse_callsFROM V$SQLAREAWHERE buffer_gets 10000000 OR disk_reads 1000000ORDER BY buffer_gets + 100
19、* disk_reads DESC24.用 SQL 建立表并且筛选?答:create table 表名 (列名 数据类型,列名 数据类型,列名 数据类型) ;select 列名,列名 from 表名。25. loadrunner 的使用流程。答:制定测试计划创建测试脚本创建场景运行场景监控测试场景分析测试结果26. 删除一行的具体操作(sql) 。答:DELETE * FROM 表名 WHERE 条件27. Linux 的基本命令。答:显示日期的指令: date,显示日历的指令:cal,简单好用的计算器:bc,重要的几个热键Tab,ctrl-c, ctrl-d,man,惯用的关机指令:shut
20、down,切换执行等级: init,改变文件拥有者:chown,改变文件的权限:chmod,变换目录:cd,显示当前所在目录:pwd,建立新目录:mkdir,档案与目录的显示:ls,复制档案或目录:cp,移除档案或目录:rm,移动档案与目录:mv,由第一行开始显示档案内容:cat,观察文件类型:file。28.数据库的了解。答:熟练掌握 SQL server 的操作,有一定的 Oracle 数据库的基础,能够独立完成数据库备份与恢复。29. 软件接口用什么自动化工具测?答:loadrunner。30. LoadRunner 怎么录制一个脚本,Loadrunner 的分析指标。31.LoadRu
21、nner 的录制脚本怎么处理?32FTP 学的怎么样?答:学的还不错,有装过 FTP,使用过它的上传和下载功能。33. OSI 的各个层?tcp/udp 位于哪一层?tcp/udp 的优缺点?答:OSI 分为 7 层,分别为应用层、表示层、会话层、运输层、网络层、物理链路层、物理层。而 tcp /udp 属于运输层,TCP 服务提供了数据流传输、可靠性、有效流控制、全双工操作和多路复用技术等。与 TCP 不同,UDP 并不提供对 IP 协议的可靠机制、流控制以及错误恢复功能等。由于 UDP 比较简单,UDP 头包含很少的字节,比 TCP 负载消耗少。 tcp: 提供稳定的传输服务,有流量控制,
22、缺点是包头大,冗余性不好 udp: 不提供稳定的服务,包头小,开销小34. 进程有哪几种?答:系统进程、应用程序进程和恶意程序进程。35.软件测试的定义?答:软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。36.测试问的比较多,比如测试流程,具体的测试方法,测试用例包括哪些,用的测试提交工具,给一个文本框如何测试?答:软件测试流程:需求分析阶段软件设计和编码阶段集成、系统、验收测试阶段。软件测试方法:黑盒测试、白盒测试、灰盒测试、静态测试和动态测试。测试用例包括:用例编号、测试项描述、操作步骤、输入、预期结果、实际结果、
23、测试结果、缺陷编号、回归测试结果、最终测试结果、测试人、测试时间、备注。测试提交工具:QC 等。文本框的测试内容:从输入数据的内容、长度、类型及格式等几个方面来考虑。37.常见的 Linux 命令:用户、复制、删除、文本编辑器 vi。答:useradd 命令可以用于添加用户,格式:useradd 选项 用户名。cp 命令可以用于复制文件或目录,格式:cp 选项 源文件或目录 目标文件或目录。rm 命令可以用于删除文件或目录,格式:rm 选项 源文件或目录 目标文件或目录。文本编辑器 vi:执行单独的“vi”命令即可进入到 vi 编辑器的命令模式;在命令模式中,使用“a、i、o”等按键可以快速切
24、换至输入模式,按 esc 键可返回命令模式;在命令模式中,按“:”键可切换至末行模式。38.缺陷报告的组成,缺陷报告应放在哪一阶段提交?答:实施测试和提交缺陷报告阶段。39.一个完整的测试应该包括哪些测试文档?答:测试计划、测试策略、测试方案、漏测分析、测试用例、编写测试总结报告、缺陷报告、需求分析报告、各类评审文档,风险报告,测试日报周报。40.在 Linux 查找日志文件的命令是什么,删除文件的命令是什么?答:查找日志文件的命令:find / -name “*.log”删除文件的命令:rm 命令可以用于删除文件或目录,格式:rm 选项 源文件或目录 目标文件或目录。41.数据库表里的增删改
25、查。答:增加:insert into 数据表(字段 1,字段 2,字段 3) values(值 1,值 2,值 3)删除:delete from 数据表 where id=你要删除的数据 id修改:update 数据表 set 字段 1=值 1,字段 2=值 2,字段 3=值 3 where id=你要修改的数据 ID查询:select(你要查询的字段,*代表全部字段) from 表名 where (你的查询条件)42.测试用例应该包含哪些东西?答:测试用例包括:功能名称、测试用例编号、用例说明、设计方法、用例级别、预置条件、操作步骤、预期结果、设计人员、评审人员、测试人员、测试结果、缺陷编号
26、、备注。43.使用过哪些项目管理软件?答:Mantis、QC44.Java 掌握什么程度?答:基本掌握 Java 语言,能够编写一些简单的程序。45.什么是软件测试,软件测试流程。答:软件测试是指在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。软件测试流程:需求分析阶段软件设计和编码阶段集成、系统、验收测试阶段。46.B/S、C/S、OA 什么意思。答:B/S 结构,即 Browser/Server(浏览器/服务器)结构C/S 结构,即 Client/Server(客户机/服务器)结构OA 软件是 Office Automation 的缩写,
27、指办公室自动化或自动化办公47.如何在本企业中使用远程桌面?答:方法一:使用 QQ 的远程桌面功能,操作比较简单,只要双方都有 QQ,并且联网即可。方法二:使用 windows 自带的远程桌面连接,是最好的方法.具体操作比较复杂.需要设置客户端和服务器端。48.在 XP 系统中使用远程桌面时,如何将本机中的文件拷贝到远程电脑中。答:两种方法:1.通过“网上邻居” 。把远程电脑的文件夹设成“共享” ,然后在本机上通过网上邻居连接远程电脑进行拷贝。2.在连接远程桌面的时候,点“选项”- “本地资源”-本地设备 中在“磁盘驱动器”前面打钩。这样,连接远程电脑之后,打开“我的电脑” ,就可以看到本地电
28、脑的所有硬盘驱动器,随便怎么拷贝都可以啦!49.画流程图,1 到 100 能被 3 整除的。答:如下图所示:50.什么是双机热备,如何实现?答:双机热备这一概念包括了广义与狭义两种意义.从广义上讲,双机热备(双机容错)就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服务.当一台服务器出现故障时,可以由另一台服务器承担服务任务,从而在不需要人工干预的情况下,自动保证系统能持续提供服务双机热备由备用的服务器解决了在主服务器故障时服务不中断的问题.但在实际应用中,可能会出现多台服务器的情况,即服务器集群双机热备一般情况下需要有共享的存储设备.但某些情况下也可以使用两台独立的服务器开始n=1a=3n输出 an=n+1n33结束是否