深信服公司主要研发网络方面的产品,公司主要产品有网上行为管理助手,SSL VPN和广域网加速器等系列产品,因此面试的时候主要涉及到网络方面知识;另外深信服使用TD进行测试过程管理,使用VSS进行项目配置管理,并且经常使用到QTP和LR工具。如下4月13日四名新同事前往深信服面试后总结出来的经验,以备后用。面试分为笔试和技术面试两个部门,笔试大约一个半小时,面试大约半小时。
笔试题汇总如下:
1. Linux/Unix命令
列出12条命令供参考学习,其他的欢迎大家补充。
pwd
打印当前目录
cd
改变目录
ls
列出目录中文件
cat
显示文件内容
cp
复制文件
chmod
修改文件模式权限
rm
从系统中删除文件
mv
重命名文件
mkdir
创建目录
rmdir
删除目录
ps关于当前正在运行的进程的信息
netstat 显示网络状态
tar zip 打包文件 unzip 解压文件
tftp –r 文件名 IP –g 从TFTP服务器获取文件,或是用FTP命令获取文件
top 显示系统进程
df du 系统磁盘状态
2.图片异同/找茬
题目就是给出两幅基本一样的图片,让大家查处图片中的不同之处(有多处不同),这个主要是考察大家的观察能力。
3.随机测试的定义,什么时候适合做随机测试;单元测试,集成测试,系统测试的侧重点。随机测试是指没有书面测试用例、记录期望结果、检查列表、脚本或指令的测试。主要是根据测试者的经验对软件进行功能和性能抽查。随机测试是根据测试说明书执行用例测试的重要补充手段,是保证测试覆盖完整性的有效方式和过程。
最后的将要发布的版本更要重视随机测试。随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试样例(TestCase)没有覆盖到的部分。另外,对于软件更新和新增加的功能要重点测试。重点对一些特殊点情况点、特殊的使用环境、并发性、进行检查。尤其对以前测试发现的重大Bug,进行再次测试,可以结合回归测试(Regressive testing)一起进行。
单元测试的重点是系统的模块,包括子程序的正确性验证等。
集成测试的重点是模块间的衔接以及参数的传递等。
系统测试的重点是整个系统的运行以及与其他软件的兼容性。
4.怎么写好测试用例,好用例的标准。
这个问题不存在标准答案,大家可以根据自己的理解来进行回答,如下答案供参考。
1.易用性:是否方便使用,比如是否可以随便哪个人都可以拿来简单的看看就知道如何根据用例进行测试;
2.易维护性:是否方便维护,特别是当需求或者设计发生变化的时候,是否付出较少的成本就可以完成维护工作;
3.有效性:是否可以保证一个用例在整个产品的一个相对较长的生命周期中可以反复使用,保证有效性。
是用因果图,边界值,状态流程图等方法设计测试用例
好用例的标准,个人认为是能否发现新的未被发现过的缺陷
5. TCP包头构成?
每个TCP数据包也是由包头和实际数据组成,包头包含如下主要内容如下,大家可以根据情况画出示意图:
Source port(2字节)
发送端的端口号
Destination port(2字节)
接收端的端口号, TCP包头中只包含双方的端口号,双方的IP地址在IP包的包头,所以在TCP数据包的包头中没有IP地址。
Sequence number(4字节)
数据的顺序号,表示当前数据包中的数据起始顺序号,比如前一个数据包的SEQ为十六进制的:df d5 aa 3d ,数据包的实际数据长度为16字节,那么下一个数据包的SEQ就要在前一个数据包的SEQ基础上加上16,为:df d5 aa 4d
Acknowledgement number(4字节)
接收到对方的某个数据包后的回应顺序号。如果接收到了对方主动发送来的某个数据包,必须要返回对方一个ACK回应数据包,数据包的头部的Acknowledgement number部分根据对方发送数据的SEQ和实际数据长度,返回SEQ + 实际数据长度,表示已经接收到这个数据包。对方收到这个回应,根据数值计算后知道这个数据包已经被对方接收。如果接收不到ACK的回应,就意味着这个数据包已经在网上被丢失,需要重新发送此数据包。
6. C程序找错?
如变量未定义,函数没有返回值,不同类型变量之间赋值等简单错误。
7.分析算法
是用至少两种算法打印小于n(n )= 2的素数
8. Shell编程?
1.算出某个文件中,特定字符出现的次数
2.将1.txt,2.txt,
3.txt合并成一个文件
9.了解子网掩码。判断下面子网掩码对错,错在那里?
A. 255.255.255.240
B. 7.0.0.0
C. 255.255.255.242
D. 255.240.240.240
子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。
子网掩码的设定必须遵循一定的规则。与IP地址相同,子网掩码的长度也是32位,左边是网络位,用二进制数字“1”表示;右边是主机位,用二进制数字“0”表示。只有通过子网掩码,才能表明一台主机所在的子网与其他子网的关系,使网络正常工作。
子网掩码的术语是扩展的网络前缀码不是一个地址,但是可以确定一个网络层地址哪一部分是网络号,哪一部分是主机号,1 的部分代表网络号,掩码为 0的部分代表主机号。子网掩码的作用就是获取主机 IP的网络地址信息,用于区别主机通信不同情况,由此选择不同路。其中 A类地址的默认子网掩码为 255.0.0.0;B类地址的默认子网掩码为255.255.0.0;C类地址的默认子网掩码为:255.255.255.0。
10. Windows下常用命令netstat,nbstat,telnet,tracert??作用分别是什么?
netstat命令是查看网络状态(监视TFP)的命令;nbstat显示基于 TCP/IP 的 NetBIOS (NetBT) 协议统计资料、本地计算机和远程计算机的 NetBIOS 名称表和 NetBIOS 名称缓存;telnet为远程登录命令;tracert为跟踪路由信息命令。
arp 查询路由
11.各协议默认端口号如ftp,http,Telnet等分别是什么?
代理服务器常用以下端口:
(1). HTTP协议代理服务器常用端口号:80/8080/3128/8081/9080
(2). SOCKS代理协议服务器常用端口号:1080
(3). FTP(文件传输)协议代理服务器常用端口号:21,文件传输时使用的端口号20 (4). Telnet(远程登录)协议代理服务器常用端口:23
12.连接时的三次握手各发送什么命令,断开时是几次握手?
TCP的三次握手和四次断开
TCP的三次握手和四次断开
TCP是一个面向连接的服务,面向连接的服务是电话系统服务模式的抽象,每一次完整的数据传输
都必须经过建
立连接,数据传输和终止连接3个过程,TCP建立连接的过程称为三次握手,下面看一下三次握手的
具本过程
TCP三次握手过程
1 主机A通过向主机B 发送一个含有同步序列号的标志位的数据段给主机B ,向主机B 请求建立
连接,通过这个数据段,
主机A告诉主机B 两件事:我想要和你通信;你可以用哪个序列号作为起始数据段来回应我.
2 主机B 收到主机A的请求后,用一个带有确认应答(ACK)和同步序列号(SYN)标志位的数据段响
应主机A,也告诉主机A两件事:
我已经收到你的请求了,你可以传输数据了;你要用哪佧序列号作为起始数据段来回应我
3 主机A收到这个数据段后,再发送一个确认应答,确认已收到主机B 的数据段:"我已收到回复,
我现在要开始传输实际数据了
这样3次握手就完成了,主机A和主机B 就可以传输数据了.
3次握手的特点
没有应用层的数据
SYN这个标志位只有在TCP建产连接时才会被置1
握手完成后SYN标志位被置0
TCP建立连接要进行3次握手,而断开连接要进行4次,这是由于TCP的半关闭造成的,因为TCP连
接是全双工的(
即数据可在两个方向上同时传递)所以进行关闭时每个方向上都要单独进行关闭,这个单方向的关
闭就叫半关闭.
关闭的方法是一方完成它的数据传输后,就发送一个FIN来向另一方通告将要终止这个方向的连
接.当一端收到一个FIN,它必须
通知应用层TCP连接已终止了这个方向的数据传送,发送FIN通常是应用层进行关闭的结果.
4次断开
1 当主机A完成数据传输后,将控制位FIN置1,提出停止TCP连接的请求
2 主机B收到FIN后对其作出响应,确认这一方向上的TCP连接将关闭,将ACK置1
3 由B 端再提出反方向的关闭请求,将FIN置1
4 主机A对主机B的请求进行确认,将ACK置1,双方向的关闭结束.
由TCP的三次握手和四次断开可以看出,TCP使用面向连接的通信方式,大大提高了数据通信的可
靠性,使发送数据端
和接收端在数据正式传输前就有了交互,为数据正式传输打下了可靠的基础
名词解释
ACK TCP报头的控制位之一,对数据进行确认.确认由目的端发出,用它来告诉发送端这个序列号
之前的数据段
都收到了.比如,确认号为X,则表示前X-1个数据段都收到了,只有当ACK=1时,确认号才有效,当ACK=0时,确认号无效,这时会要求重传数据,保证数据的完整性.
SYN同步序列号,TCP建立连接时将这个位置1
FIN发送端完成发送任务位,当TCP完成数据传输需要断开时,提出断开连接的一方将这位置1
13.智力问题
经典的过桥问题;
天黑四人过桥,但是只有一个手电。A需要10分钟;B需要7分钟;C需要3分钟;D 需要1分钟,四人要过桥,如何得出最短时间
个人答案,仅供参考:C,D 一起过,C 回来 3 + 3 = 6
A,B 一起过,先过的D回来 10 + 1 =11
C,D 一起过 3
一共需要 6 + 11 + 3 =20分钟
14.FTP有传输文件的两种传输模式?
Binary模式和ASCII模式。
FTP站点有两种传输模式,主动模式和被动模式。
主动模式使用的身份验证端口是21,传输数据使用服务器的20端口;
被动模式则不同,它需要用户修改连接模式以适应服务器传输模式。
虽然使用的身份验证端口也是服务器的21端口,但是在传输数据时所使用的端口是由客户端和服务器端协商而成的,端口号也是不固定的。
面试题汇总如下:
1.请描述一下之前的工作内容?
逐条描述自己工作的内容,建议直接把工作重点描述出来即可,如果接口人需要了解详细内容,应当会进行追问。
2.怎么划分VLAN?
VLAN(Virtual Local Area Network)即虚拟局域网,是一种通过将局域网内的设备逻辑地而不是物理地划分成一个个网段从而实现虚拟工作组的新兴技术。如下为VLAN的4种划分方法。
A.根据端口来划分VLAN (使用得最多)
许多VLAN厂商都利用交换机的端口来划分VLAN成员。被设定的端口都在同一个广播域中。例如,一个交换机的1,2,3,4,5端口被定义为虚拟网AAA,同一交换机的6,7,8端口组成虚拟网BBB。这样做允许各端口之间的通讯,并允许共享型网络的升级。但是,这种划分模式将虚拟网限制在了一台交换机上。
B.根据MAC地址划分VLAN
C.根据网络层划分VLAN
D.根据IP组播划分VLAN
3.什么是RIP协议?最大距离?
RIP是路由信息协议(Routing Information Protocol)的缩写,采用距离向量(distance-vector)算法,是当今应用最为广泛的内部网关协议(Interior Gateway Protocol,简称IGP)。
在默认情况下,RIP使用一种非常简单的度量制度:距离就是通往目的站点所需经过的链路数,取值为1~15,数值16表示无穷大。RIP进程使用UDP的520端口来发送和接收RIP分组。RIP分组每隔30s以广播的形式发送一次,为了防止出现“广播风暴”,其后续的的分组将做随机延时后发送。在RIP中,如果一个路由在180s内未被刷,则相应的距离就被设定成无穷大,并从路由表中删除该表项。RIP分组分为两种:请求分组和相应分组。
4. Linux下的命令
参看笔试第1题。
5.原来CRM项目发现多少BUG和多少测试人员?
根据项目实际情况给予回答。
6.项目发布版本后是否出现BUG,是否漏测?
根据项目实际情况给予回答。
7. Linux命令行模式下怎么查看CPU的使用情况?
top命令即可。第三行(Cpus):分别表示了 CPU 当前的使用率;
8.临场发挥题
如果一个文字处理软件(如MS WORD或WPS),在将一句话“I am a student, my …”由5号字体变成4号字体时,如果只有第1个字母没有变,如何测试
考虑:1.是否由后面的空格造成;2.是否由大写造成;3.是否只有字母“I”不会被改变字体;4.是否只有第一个字符不会变…
9.以前测试过的产品,得到客户反馈情况(客户满意度,是否客户有发现新的问题)
10.前一个公司遇到的最郁闷的事,最高兴的事
11.Loadrunner的细节问题
12.缺陷变迁流程
根据自己的理解画出问题单的状态(包含8种状态:closed,suspend,new,open,reopen,rejected,fixed,verified)变迁图:
特殊流程
TD中的缺陷变迁是管理员可以根据实际情况定义的。如上为我公司的现在定义的缺陷状态,在答题中只要符合正常的缺陷状态走向我们就认为正确,一般完整流程(如下列出)每条加2分,特殊完整流程每条加1分,共10分。
new-rejected
new-open-fixed-verified-closed
new-open-fixed(-open-fixed)-verified-closed
new-open-fixed-verified-reopen-fixed-verified-closed
new-suspend
new-suspend-open-fixed-verified-closed
13.缺陷管理工具,哪点最好用,为什么
14.对加班的态度
15.top –p
16.free 命令是干什么用的?答:free是显示当前内存的情况
17.QTP有多少种协议?
18.LR如何做压力测试?
19.是否在TD上进行过用例编写和执行等操作?具体的excel模板有哪些构成?
20.TCP/UDP有什么区别?
TCP与UDP的类似点:
TCP(传输控制协议) UDP(用户数据报协议)
TCP和UDP都是属于传输层协议,负责承担数据传输的任务。
TCP与UDP的区别:
1.TCP属于可靠的面向连接服务,UDP是不可靠的无连接数据报服务
2.TCP需要经过三次握手才能建立一个安全连接,所以效率比较低,速度慢,但是安全性高;UDP不需要,就跟电报一样,不管你收没收到,所以效率高,但是不可靠。
例如我们网络中的DNS请求,就是用UDP发送的,还有QQ里用UDP直连方式语音,速度也是最快的
21.MAC地址有多少位?IP地址有多少位?
答:MAC地址为48bit位,12个十六进制制位。例如:00-15-F2-62-FB-79。
ipV4地址为32bit位,ipV6为128bit位。
22.FTP服务器如何搭建?
23.WEB服务器如何搭建?
24.邮件服务器如何搭建?
25. QTP如何参数化?你用QTP的时侯,用过HTTPS协议吗?
26.TD的测试用例的结构?
27.TCP中ACK是做什么用的?ACK多少字节?
英文缩写: ACK (ACKnowledge Character)
中文译名: 确认字符
分类: 传输与接入
解释: 在数据通信传输中,接收站发给发送站的一种传输控制字符。它表示确认发来的数据已经接受无误。
ACK:
TCP数据包首部中的确认标志,对已接收到的TCP报文进行确认。
在TCP/IP协议中,如果接受方成功的接收到数据,那么会回复一个ACK数据。通常ACK信号有自己固定的格式,长度大小,由接受方回复给发送方。其格式取决于采取的网络协议。当发送方接收到ACK信号时,就可以发送下一个数据。如果发送方没有收到信号,那么发送方可能会重发当前的数据包,也可能停止传送数据。具体情况取决于所采用的网络协议。ACK信号通常是一个ASCII字符(两个字节),不同的协议中ACK信号都不一样。
接受方确认成功的接收到数据?
28.就项目的情况,问了一些项目问题,都很简单:比如你们的测试团队有多大,测试进度被开发团队滞后怎么解决?现在很多做测试的都很不自觉,你认为怎么做比较好?
29.Linux系统文件是否被破坏如何判断?如何恢复被破坏系统文件?
30.Linux系统有哪几种shell?分别是什么?
查看/etc/shells ,Linux系统提供多种不同的Shell以供选择。常用的有Bourne Shell(简称sh)、
C-Shelll(简称csh)、Korn Shell(简称ksh)和Bourne Again Shell (简称bash)。
这是TurboLinux里带的SHELL:
/bin/bash
/bin/sh
/bin/ash
/bin/bsh
/bin/ksh
/bin/tcsh
/bin/csh
Shell的切换可以直接输入bash/sh/ash/ksh/......
退出用exit
31.根据OSI规定,网络划分为七层,从上到下依次是哪七层?各层分别有哪些协议?OSI的7层从上到下分别是
7 应用层
6 表示层
5 会话层
4 传输层
3 网络层
2 数据链路层
1 物理层
其中高层,既7、6、5、4层定义了应用程序的功能,下面3层,既3、2、1层主要面向通过网络的端到端的数据流。下面我给大家介绍一下这7层的功能:
(1)应用层:与其他计算机进行通讯的一个应用,它是对应应用程序的通信服务的。例如,一个没有通信功能的字处理程序就不能执行通信的代码,从事字处理工作的程序员也不关心OSI的第7层。但是,如果添加了一个传输文件的选项,那么字处理器的程序员就需要实现OSI的第7层。示例:telnet,HTTP,FTP,WWW,NFS,SMTP等。
(2)表示层:这一层的主要功能是定义数据格式及加密。例如,FTP允许你选择以二进制或ASII格式传输。如果选择二进制,那么发送方和接收方不改变文件的内容。如果选择ASII格式,发送方将把文本从发送方的字符集转换成标准的ASII后发送数据。在接收方将标准的ASII转换成接收方计算机的字符集。示例:加密,ASII等。
(3)会话层:他定义了如何开始、控制和结束一个会话,包括对多个双向小时的控制和管理,以便在只完成连续消息的一部分时可以通知应用,从而使表示层看到的数据是连续的,在某些情况下,如果表示层收到了所有的数据,则用数据代表表示层。示例:RPC,SQL等。
(4)传输层:这层的功能包括是否选择差错恢复协议还是无差错恢复协议,及在同一主机上对不同应用的数据流的输入进行复用,还包括对收到的顺序不对的数据包的重新排序功能。示例:TCP,UDP,SPX。(5)网络层:这层对端到端的包传输进行定义,他定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习的方式。为了适应最大传输单元长度小于包长度的传输介质,网络层还定义了如何将一个包分解成更小的包的分段方法。示例:IP,IPX等。
(6)数据链路层:他定义了在单个链路上如何传输数据。这些协议与被讨论的歌种介质有关。示例:ATM,FDDI等。
(7)物理层:OSI的物理层规范是有关传输介质的特性标准,这些规范通常也参考了其他组织制定的标准。连接头、针、针的使用、电流、电流、编码及光调制等都属于各种物理层规范中的内容。物理层常用多个规范完成对所有细节的定义。示例:Rj45,802.3等。
32.加密:对称加密和非对称加密有什么区别?对称加密有哪些算法?非对称加密有哪些算法?
二、对称加密
基于密钥的算法通常分为对称加密算法和非对称加密算法(公钥算法)。
对称加密算法就是加密用的密钥和解密用的密钥是相等的。比如著名的恺撒密码,其加密原理就是所有的字母向后移动三位,那么3就是这个算法的密钥,向右循环移位就是加密的算法。那么解密的密钥也是3,解密算法就是向左循环移动3位。
很显而易见的是,这种算法理解起来比较简单,容易实现,加密速度快,但是对称加密的安全性完全依赖于密钥,如果密钥丢失,那么整个加密就完全不起作用了。
比较著名的对称加密算法就是DES,其分组长度位64位,实际的密钥长度为56位,还有8位的校验码。DES算法由于其密钥较短,随着计算机速度的不断提高,使其使用穷举法进行破解成为可能。
三、非对称加密
非对称加密算法的核心就是加密密钥不等于解密密钥,且无法从任意一个密钥推导出另一个密钥,这样就大大加强了信息保护的力度,而且基于密钥对的原理很容易的实现数字签名和电子信封。
比较典型的非对称加密算法是RSA算法,它的数学原理是大素数的分解,密钥是成对出现的,一个为公钥,一个是私钥。公钥是公开的,可以用私钥去解公钥加密过的信息,也可以用公钥去解私钥加密过的信息。
比如A向B发送信息,由于B的公钥是公开的,那么A用B的公钥对信息进行加密,发送出去,因为只有B有对应的私钥,所以信息只能为B所读取。
牢固的RSA算法需要其密钥长度为1024位,加解密的速度比较慢是它的弱点。
另外一种比较典型的非对称加密算法是ECC算法,基于的数学原理是椭圆曲线离散对数系统,这种算法的标准我国尚未确定,但是其只需要192 bit 就可以实现牢固的加密。所以,应该是优于RSA算法的。33.如何测试LINUX下的DNS是否正常?
要测试DNS,可以找一台客户机,把它的DNS地址设成新建立的DNS服务器地址,然后试试上网,收信,下载等。也可以使用nslookup命令:运行nslookup,输入要查询的主机名,看是否返回正确的ip地址,在redhat 7.1以上版本中推荐使用dig命令。
34.LINUX下文件是以什么标识?
文件是以‘-’标识;文件夹是以‘d’标识。
35.三层交换机和二层交换机有什么区别?
二层交换技术是发展比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。
(1)由于交换机对多数端口的数据进行同时交换,这就要求具有很宽的交换总线带宽,如果二层交换机有N个端口,每个端口的带宽是M,交换机总线带宽超过N×M,那么这交换机就可以实现线速交换;
(2)学习端口连接的机器的MAC地址,写入地址表,地址表的大小(一般两种表示方式:一为BEFFER RAM,一为MAC表项数值),地址表大小影响交换机的接入容量;
(3)还有一个就是二层交换机一般都含有专门用于处理数据包转发的ASIC (Application specific Integrated Circuit)芯片,因此转发速度可以做到非常快。由于各个厂家采用ASIC不同,直接影响产品性能。
以上三点也是评判二三层交换机性能优劣的主要技术参数。
三层交换机,如果一点都不懂的人可以简单理解为二层交换机+路由的堆叠。
不过实际上三层交换机比二层交换机+路由的堆叠,要厉害得多。
三层交换机的最重要的功能是加快大型局域网络内部的数据的快速转发,加入路由功能也是为这个目的服务的。
人力资源问题 你为什么选择软件测试行业 因为之前有了解软件测试这个行业,觉得他的发展前景很好。也对 根据你以前的工作经验描述一下软件开发、测试过程,由那些角色负责,你做什么 要有架构师、开发经理、测试经理、程序员、测试员 我在里面主要是负责所分到的模块执行测试用例。 结合你以前的学习和工作经验,你认为如何做好测试。 根据我以前的工作经验,我认为做好工作首先要有一个好的沟通,只有沟通无障碍了,才会有好的协作,才会有跟好的效率,再一个就是技术一定要过关,做测试要有足够的耐心,和一个良好的工作习惯,不懂的就问,实时与同事沟通这样的话才能做好测试工作。 你觉得测试最重要的是什么 尽可能的找出软件的错误 怎样看待加班问题 加班的话我没有太多的意见,但是我还是觉得如果能够合理的安排时间的话,不会有太多时候会加班的。如果一个很有个性的程序员认为自己的BUG不是BUG,怎么解决? 首先我要确定我所提的在我认为是不是bug,如果我认为是的话我会在他面前重现这个bug和他讲这是个bug,和他沟通,或者我会找到我的直系领导让他解决。 为什么在团队中要有测试 因为软件有错误,如果没有专业的测试人员很难发现软件的一些错误。 在测试时代学习自己最大的收获是什么? 在测试时代我除了学习了测试的知识外,还看到了老师们对待测试的一种态度,明白了做任何工作都要有沟通,做测试的也要有很好的沟通才可以做好。知道自己在项目组中的位置,和开发的关系。 你对未来的规划 我想在工作中慢慢的积累经验,使自己强大起来,能够担任更重要的职务。 自己优势及缺点 我的优点是有足够的耐心对待每一件事情,善于观察事物,承受压力的能力很强。缺点可能就是我不是很爱说话,习惯做不习惯说,但是和人沟通还是没有问题的。 你为什么选择测试时代不选择51testing 因为相对比来看测试时代价钱相对公道,师资也不错,还有一个原因就是在网上查了一下测试时代的口碑不错,也是网放心过来的原因。 13.请谈谈您对测试工作的理解 我认为测试工作是找出软件产品的错误, 14.你认为测试人员需要具备哪些素质? 我认为做测试的应该要有一定的协调能力,因为测试人员要经常与开发接触处理一些问题,如果处理不好的话会引起一些冲突这样的话工作上就会做不好。还有测试人员要有一定的耐心,有的时候做的测试很枯燥乏味的。除了要有耐心之外还要细心,不放过每一个可能的错误。 15.你为什么能够做测试这一行。 虽然说我的测试技术还不是很纯熟,但是我觉得我还是可以胜任软件测试这个工作的,因为做软件测试不仅是要求技术好,还要有一定的沟通能力,耐心、细心等外在的因素。综合起来看我认为我是胜任这个工作的。 1测试的目的是什么? 测试的目的是找出软件产品中的错误,是软件尽可能的符合用户的要求。
一个常见的软件测试面试题 一个常见的软件测试面试题 考官从办公室(面试现场)随意选取一个简单物品,假定是一个喝水的带广告图案的花纸杯,让应聘人对它设计出尽可能多的测试用例。 测试项目:杯子 需求测试:查看杯子使用说明书 界面测试:查看杯子外观 功能度:用水杯装水看漏不漏;水能不能被喝到 安全性:杯子有没有毒或细菌 可*性:杯子从不同高度落下的损坏程度 可移植性:杯子再不同的地方、温度等环境下是否都可以正常使用 兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等 易用性:杯子是否烫手、是否有防滑措施、是否方便饮用 用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述 疲劳测试:将杯子盛上水(案例一)放24小时检查泄漏时间和情况;盛上汽油(案例二)放24小时检查泄漏时间和情况等 压力测试:用根针并在针上面不断加重量,看压强多大时会穿透 跌落测试:??杯子加包装(有填充物),在多高的情况摔下不破损 震动测试: 杯子加包装(有填充物),六面震动,检查产品是否能应对恶劣的铁路\公路\航空运输 测试数据: 测试数据具体编写此处略(最讨厌写测试数据了)。其中应用到:场景法、等价类划分法、因果图法、错误推测法、边界值法等方法 期望输出:
该期望输出需查阅国标、行标以及使用用户的需求 说明书测试: 检查说明书书写准确性 给大家提三个产品:1.手机 2.电饭锅 3.电梯 有兴趣的同学可以把答案写出来 一个常见的软件测试面试题 问题集 1.软件测试分哪两种方法?分别适合什么情况? 2.一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。 3.软件测试的类型有那些?分别比较这些不同的测试类型的区别与联系。 4.测试用例通常包括那些内容?着重阐述编制测试用例的具体做法 5.在分别测试winform的C/S结构与测试WEB结构的软件是,应该采取什么样的方法分别测试?他们存在什么样的区别与联系? 6.在测试winform的C/S结构软件时,发现这个软件的运行速度很慢,您会认为是什么原因?您会采取哪些方法去检查这个原因? 7.描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程8.如果您是测试组长,您会采取什么样的方式管理团队?在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员良好的人际关系的关键是什么? 问题解答: 1.软件测试分哪两种方法?分别适合什么情况? 软件测试方法一般分为两种:白盒测试与黑盒测试。白盒测试又称为结构测试、逻辑驱动测试或基于程序本身的测试,它着重于程序的内部结构及算法,通常不关心功能与性能指标;黑盒测试又被称为功能测试、数据驱动测试或基于规格说明的测试,它实际上是站在最终用户的立场,检验输入输出信息及系统性能指标是否符合规格说明书中有关功能需求及性能需求的规定。 2.一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。 计划阶段、设计阶段、白盒单元、白盒集成、黑盒单元、黑盒集成、系统测试、回归测
深圳市深信服电子科技有限公司:(部分笔试题) 招聘职位:技术支持工程师 面试反馈一: 1.Linux下查询路由的命令有哪些? 2.在Windows下,如何使用命令行实现IP地址与MAC地址的绑定? 答:在代理服务器端 捆绑IP和MAC地址,解决局域网内盗用IP: ARP -s 192.168.10.59 00-50-ff-6c-08-75 解除网卡的IP与MAC地址的绑定: arp -d 网卡IP 3.主机要获得其他主机的MAC地址用到什么协议? 答:ARP协议 4.DNS请求服务使用什么协议? 答: DNS使用的是“不可靠”协议UDP,使用这个协议的还有nfs wins netbios-over-tcp/ip 5.描述一下TCP三次握手的过程 6.谈谈你对对动态域名服务(花生壳一类的)工作原理的理解 7.IP地址202.101.100.137,子网掩码255.255.255.224,其网络地址和广播地址是什么 8.谈谈你所熟悉的路由协议,各自的主要作用是什么? 9.在路由表项中,network destinatio n、netmask、gateway、interface、metric各代表什么 意思? 10.请说明以下端口各自代表什么服务:80、21、53、443、23、1433、25、110 80:HTTP 21:FTP 53:DNS 443:SSL协议 23:TELNET 1433: SQL端口25: SMTP(邮件客户端发送服务器)110:POP3收邮件端口 11.两台电脑互连用什么线?线序是什么?电脑和交换机相连用什么线?线序是什么? 12.一台主机通过代理上网,主机IP是192.168.1.2,代理服务器的内网IP是192.168.1.2, 外网IP是222.123.23.11,主机访问SINA网站的过程。 a)数据包经过网关后,源IP:源端口: 目的IP:目的端口: b)SINA网发往网关,源IP:源端口: 目的IP:目的端口: c)网关发往主机,源IP:源端口: 目的IP:目的端口: 13.公司原来的WEB服务器使用一个固定的公网IP地址,现在为了节约成本,公司使用ADSL 拨号,并且配置硬件防火墙来保证Internet出口安全,如果你是网管,你有什么方法使外网可以访问公司WEB服务器 14.PC1在没有拨号时,可以ping通PC2,但是在拨号后就不能ping通PC2,是什么你觉得 原因造成的?有什么解决方法可以同时拨号,又能ping通PC2?
一、判断题 1.软件测试的目的是尽可能多的找出软件的缺陷。(Y) 2.Beta测试是验收测试的一种。(Y) 3.验收测试是由最终用户来实施的。(N) 4.项目立项前测试人员不需要提交任何工件。(Y) 5.单元测试能发现约80%的软件缺陷。(Y) 6.代码评审是检查源代码是否达到模块设计的要求。(N) 7.自底向上集成需要测试员编写驱动程序。(Y) 8.负载测试是验证要检验的系统的能力最高能达到什么程度。(N) 9.测试人员要坚持原则,缺陷未修复完坚决不予通过。(N) 10.代码评审员一般由测试员担任。(N) 11.我们可以人为的使得软件不存在配置问题。(N) 12.集成测试计划在需求分析阶段末提交。(N) 二、选折 1.软件验收测试的合格通过准则是:(ABCD) A.软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。B.所有测试项没有残余一级、二级和三级错误。 C.立项审批表、需求分析文档、设计文档和编码实现一致。 D.验收测试工件齐全。 2.软件测试计划评审会需要哪些人员参加?(ABCD) A.项目经理 B.SQA负责人 C.配置负责人 D.测试组 3.下列关于alpha测试的描述中正确的是:(AD) A.alpha测试需要用户代表参加 B.alpha测试不需要用户代表参加 C.alpha测试是系统测试的一种 D.alpha测试是验收测试的一种 4.测试设计员的职责有:(BC) A.制定测试计划 B.设计测试用例
C.设计测试过程、脚本 D.评估测试活动 5.软件实施活动的进入准则是:(ABC) A.需求工件已经被基线化 B.详细设计工件已经被基线化 C.构架工件已经被基线化 D.项目阶段成果已经被基线化 三、添空 1.软件验收测试包括:正式验收测试,alpha测试,beta测试。 2.系统测试的策略有:功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试,(有的可以合在一起,分开写只要写出15就满分哦) 3.设计系统测试计划需要参考的项目文挡有:软件测试计划,软件需求工件和迭代计划。 4.对面向过程的系统采用的集成策略有:自顶向下,自底向上两种。 5.(这题出的有问题哦,详细的5步骤为~~)通过画因果图来写测试用例的步骤为: (1)分析软件规格说明描述中,哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。 (2)分析软件规格说明描述中的语义,找出原因与结果之间,原因与原因之间对应的是什么关系?根据这些关系,画出因果图。 (3)由于语法或环境限制,有些原因与原因之间,原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号标明约束或限制条件。 (4)把因果图转换成判定表。 (5)把判定表的每一列拿出来作为依据,设计测试用例。 四、简答(资料是搜集整理的,感谢前辈的解题)无 1.区别阶段评审的与同行评审 同行评审目的:发现小规模工作产品的错误,只要是找错误; 阶段评审目的:评审模块阶段作品的正确性可行性及完整性 同行评审人数:3-7人人员必须经过同行评审会议的培训,由SQA指导 阶段评审人数:5人左右评审人必须是专家具有系统评审资格 同行评审内容:内容小一般文档< 40页,代码< 500行 阶段评审内容:内容多,主要看重点 同行评审时间:一小部分工作产品完成
01. 为什么要在一个团队中开展软件测试工作? 因为没有经过测试的软件很难在发布之前知道该软件的质量,就好比ISO质量认证一样,测试同样也需要质量的保证,这个时候就需要在团队中开展软件测试的工作。在测试的过程发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。 02. 您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作? 我曾经做过web测试,后台测试,客户端软件,其中包括功能测试,性能测试,用户体验测试。最擅长的是功能测试 03. 您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同04. 的测试类型的区别与联系(如功能测试、性能测试……) 测试类型有:功能测试,性能测试,界面测试。 功能测试在测试工作中占的比例最大,功能测试也叫黑盒测试。是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。 性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。 界面测试,界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印象。而且设计良好的界面能够引导用户自己完成相应的操作,起到向导的作用。同时界面如同人的面孔,具有吸引用户的直接优势。设计合理的界面能给用户带来轻松愉悦的感受和成功的感觉,相反由于界面设计的失败,让用户有挫败感,再实用强大的功能都可能在用户的畏惧与放弃中付诸东流。 区别在于,功能测试关注产品的所有功能上,要考虑到每个细节功能,每个可能存在的功能问题。性能测试主要关注于产品整体的多用户并发下的稳定性和健壮性。界面测试更关注于用户体验上,用户使用该产品的时候是否易用,是否易懂,是否规范(快捷键之类的),是否美观(能否吸引用户的注意力),是否安全(尽量在前台避免用户无意输入无效的数据,当然考虑到体验性,不能太粗鲁的弹出警告)?做某个性能测试的时候,首先它可能是个功能点,首先要保证它的功能是没问题的,然后再考虑该功能点的性能测试 04.您认为做好测试用例设计工作的关键是什么? 白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果 黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题 05. 请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。 黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。 白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。 软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,