2021-04-15 测试面试题

编程知识 更新时间:2023-04-30 05:26:10

第一部分 基础知识部分

(1)请简单列举出你了解的计算机编程语言

C C++ JAVA PHP HTML PYTHON CSS

(2)请列举出你了解的熟悉的操作系统

WINDOWS Linux unix qnx

(3)简要说明一下数组和链表的区别

不同点:链表是链式的存储结构;数组是顺序的存储结构
链表通过指针来连接元素与元素,数组则是把所有元素按次序依次存储。

链表的插入删除元素相对数组较为简单,不需要移动元素,且较为容易实现长度扩充,但是寻找某个元素较为困难;

数组寻找某个元素较为简单,但插入与删除比较复杂,由于最大长度需要再编程一开始时指定,故当达到最大长度时,扩充长度不如链表方便。

相同:两种结构均可实现数据的顺序存储,构造出来的模型呈线性结构

(4)请分别解释一下TCP/IP,FtP和HTTP的含义

CP/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。关于TCP/IP和HTTP协议的关系,网络有一段比较容易理解的介绍:“我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如HTTP、FTP、TELNET等,也可以自己定义应用层协议。WEB使用HTTP协议作应用层协议,以封装HTTP 文本信息,然后使用TCP/IP做传输层协议将它发到网络上。”
  术语TCP/IP代表传输控制协议/网际协议,指的是一系列协议。“IP”代表网际协议,TCP和UDP使用该协议从一个网络传送数据包到另一个网络。把IP想像成一种高速公路,它允许其它协议在上面行驶并找到到其它电脑的出口。TCP和UDP是高速公路上的“卡车”,它们携带的货物就是像HTTP,文件传输协议FTP这样的协议等。
你应该能理解,TCP和UDP是FTP,HTTP和SMTP之类使用的传输层协议。虽然TCP和UDP都是用来传输其他协议的,它们却有一个显著的不同:TCP提供有保证的数据传输,而UDP不提供。这意味着TCP有一个特殊的机制来确保数据安全的不出错的从一个端点传到另一个端点,而UDP不提供任何这样的保证。
HTTP(超文本传输协议)是利用TCP在两台电脑(通常是Web服务器和客户端)之间传输信息的协议。客户端使用Web浏览器发起HTTP请求给Web服务器,Web服务器发送被请求的信息给客户端

(5)针对软件开发过程中的不同阶段,应该进行那些类型的软件测试

软件测试策略的确定过程通常经历 确定测试需求 、确定测试策略三个阶段组成。

(6)请列举出白盒测试中的集中逻辑覆盖方法

1.语句覆盖。 这个是起码要做到的覆盖了,程序里的每条可执行的语句都要至少执行一次。这个设计起来比较简单,用例数据很直观的就能看出来。但是语句里的判定,分支等就没什么意义了。可以说这样的 测试 是最低的要求了。
  2.判定覆盖。 每个判断的真假分支至少执行一次,就是真要至少取一次,假要至少取一次。这个设计起来也不难,覆盖率要比语句覆盖高近乎一倍,但是也在判定语句中也会遗漏许多路径,因为每个条件的取值是不在考虑范围内的。
   3.条件覆盖。 和判定覆盖思路一样,只是把重点从判定移动到条件上来了,每个判定中的每个条件可能至少满足一次,也就是每个条件至少要取一次真的,再取一次假的。同样它也会遗漏许多路径,条件取真假并不能满足判定也取到真假两次。
   4.判定条件覆盖。 既然上面的判定和条件多是片面的,那么这个两个覆盖相结合是呼之欲出判定条件覆盖。它要求判断中的每个条件所有可能至少出现一次,并且每个判定本身的判定结果也要出现一次。不要以为这样就行了,要看看条件,条件和判定不一样,判定取真假就覆盖了判定,可是条件取真假两次完全不能满足条件的各种组合。所以才有了5~。
   5.条件组合覆盖。 每个判定中条件的各种可能组合至少满足一次。条件各种可能都出现了,必然把判定给覆盖了,它覆盖了上面的4个哦,可是用例数量大大增加了!看项目情况定吧。
   6.路径覆盖。 概念比较好理解,把所有可能路径至少都走一遍,但是用例数量可想而知le
白盒 测试 法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。

(7)请列举出黑盒测试中的集中设计用例的方法,并选其中一种方法进行简单解释

等价划分
边界值分析
错误推测法:
因果图:如果程序的功能说明中含有输入条件的组合情况,则一开始就可以选用因果图,如果在测试时必须考虑输入条件的各种组合,可使用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来设计测试用例,这就需要利用因果图,因果图方法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况

(8)请简要描述性能测试的目的,并列举几种常见的性能测试类型

一、验收性能测试

通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生产性能要求,具有以下特点:

1、主要目的是验证系统是否具有系统宣称的能力,包括确定用户场景、给出需要关注的性能指标、测试执行、测试分析几个步骤;

2、事先了解被测试系统的典型业务场景,并具有确定的性能目标;

3、已确定运行环境(硬件设备、软件设备、网络条件、基础数据等)。

二、负载测试(可置性测试)

在被测系统上不断增加压力,直到性能指标超过预定指标或者某种资源使用已经达到饱和状态,可以找到系统的处理极限,为系统调优提供数据,具有以下特点:

1、主要目的是找到系统处理能力的极限,描述为“在某条件下最多允许100个用户并发访问”,“在某条件下一小时内最多处理2000条数据”;

2、测试环境确定,也需要考虑被测系统的业务压力量和典型场景,使得测试结果具有业务上的意义;

3、一般用来了解系统的性能容量,或是配合性能调优来使用。

三、压力测试

测试系统在一定饱和状态下(CPU/内存等饱和),系统能够处理的会话能力以及系统是否出现错误,具有以下特点:

1、主要目的是检查系统处于压力情况下时应用的性能表现;

2、一般通过模拟负载等方法,使得系统的资源使用达到较高的水平。除CPU和内存使用率外,JVM可用内存、数据库连接数、数据库服务器CPU使用率等都可以作为压力的依据;

3、可用于测试系统的稳定性,基于这种原理:如果一个系统能够在压力环境下稳定运行一段时间,那么这个系统在平时的运行条件下也是冇问题的。

四、配置测试

通过对被测系统软硬件环境的调整,了解各种不同环境对系统性能影响的程度,从而找到系统各项资源的最优分配原则,具有以下特点:

1、主要目的是了解各种不同因素对系统性能影响的程度,从而判断出最值得进行的调优操作;

2、一般在对系统性能状况有初步了解后进行,在确定的环境、操作步骤和压力条件下进行,比较每次的测试结果找出影响最大的因素;

3、一般用于性能调优和规划能力。

(9)请列举你了解或熟悉的中间件

中间件:tomcat

原理: tomat是一个servlet容器,来处理http请求。在平时的使用中我们都会再浏览器中输入http地址来访问服务资源,比如格式http://host[":"port][abs_path]。从浏览器到服务端的一次请求都遵循http协议,在网络上其实走仍然是tcp协议,即我们常使用的socket来处理客户端和服务器的交互。根据输入的http地址可以知道服务器的IP地址和端口,根据这两个参数就可以定位到服务器的唯一地址。tomcat根据http地址端口后面的资源路径就可以知道反馈什么样的资源给浏览器。下面给出了一个非常简单的代码模拟了tomcat的简单实现

(10)请列举出你了解或实习的linux中的命令及含义

文件操作:

touch s.txt 创建一个空文件

locate命令
locate s.txt 搜索文件
updatebd 更新数据库

find命令
find /root -name test.txt 查找
find /root -name “*txt” 模糊搜索

grep命令 查看文件中相关内容

第二部分 编程基础部分

(11)请用任意语言写出求三角形分类的函数,输入参数为a,b,c分别表示三个边长,三角形分类为,等边,等腰与一般三角形,请自行定义函数并实现

def triangle(a,b,c):
if a <= 0 or b <= 0 or c <= 0:
print(‘三角形的三边必须是大于0的数’)
elif a + b <= c or b + c <= a or c + a <= b:
print(‘两边之和大于第三边’)
else:
print(‘输入的三条边符合组成三角形的编程规则!’)
a=float(input(‘请输入边长 a:’))
b=float(input(‘请输入边长 b:’))
c=float(input(‘请输入边长 c:’))

(12)某公司用数据库来管理员工的销售记录

第三部分 测试能力部分

(14)如果需要你对qq(或MSN)中"发送文件"功能进行测试的话,你能从那些方面进行测试

测试QQ发送文件,个人方法为以下:(注意:硬件方面采用目前常用办公主流标配)
1、将所要发送的文件分类,比如说可执行文件.exe,压缩包文件,文本文件,Word文档等
2、准备大小不等的文件,小则几K,大则根据需要自行决定
3、网络环境准备,己方与接受方的网络环境可相等,也可不等,建议二者兼有
4、开始发送,方法分为鼠标直接拖至对话框中发送和选择QQ对话框中发送功能按钮发送,发送类别分为直接发送和离线发送
5、测试发送大小不等的文件需要多长时间
6、测试发送类似于敏感文件是否有拦截或者自动更名功能,比如发送了可执行文件.exe,发送完毕后,获取对方接受后文件名是否更改
7、发送病毒文件(此条慎用),看是否具有提示功能
8、发送过程中突然重启机器,或者关闭网络,然后再次开启登录,看是否支持断点续传
9、打开视频通话功能的同时进行发送文件,此项属于压力测试一
10、在上条的基础上再次开启窗口式网络游戏,此项属于压力测试二
11、发送大号文件,一般情况下要求上700M,此项属于压力测试三

12、同时给多个人发送文件,看什么时候机器或者QQ处于暴死状态,压力测试四

(15)简述安装程序的测试要点

安装
1)软件在不同操作系统(Palm OS、Symbian、Linux、Android、iOS、Black Berry OS 6.0、Windows Phone 7)下安装是否正常。

2)软件安装后的是否能够正常运行,安装后的文件夹及文件是否写到了指定的目录里。

3)软件安装各个选项的组合是否符合概要设计说明

4))软件安装向导的UI测试

5)软件安装过程是否可以取消,点击取消后,写入的文件是否如概要设计说明处理

6)软件安装过程中意外情况的处理是否符合需求(如死机,重启,断电)

7)安装空间不足时是否有相应提示

8)安装后没有生成多余的目录结构和文件

9)对于需要通过网络验证之类的安装,在断网情况下尝试一下

10)还需要对安装手册进行测试,依照安装手册是否能顺利安装

(16)简述程序界面中如下类型控件的测试要点?(姓名,年龄,cmail,身份证号,密码)

姓名输入框:
1、重复
2、长度:例如支持100字符, 那需要测试100字符、101字符、100字符后输入一个汉字的情况, 最大长度的显示是否正常
3、哪些是支持的字符类型:数字、字母、汉字、字符!@!#、特殊字符(tab 回车键是否支持)
4、是否支持多行,保存是否成功,显示是否按输入的多行显示
5、字符中带有HTML标记对时,显示是否正常
6、字符串前后中带空格,前后的空格是否过滤, 中间的空格是否保留
7、最大长度显示是否正常
8、全角半角的字母、数字
9、字符串中带JS标记对, 比如
10、复制功能是否可用
11、粘贴功能是否可用、粘贴超过最大长度的字符串怎么显示?
12、多浏览器的兼容性

年龄下拉框:
1)默认值(为空,提示选择,某一值)检查;
2)列表内容,是可变还是固定的,可变的最好要用SQL或其他方式验证正确性,不允许出现重复值;
3)列表中的排序方式,特别是选项过多时尤为重要;
4)列表过长是否提供滚动条支持,一般超过10个需要滚动条;
5)选择一个选项后是否可编辑,有的下拉菜单允许编辑选择,这还需要验证其合法性;
6)列表中文本的对齐方式,一般都是左对齐;
7)选择框的长度是否可变;
8)选择框的长度是否合适,是否会出现选择项后不能全部显示其内容;
9)下拉菜单获取焦点后,是否可以通过键盘操作,主要包括↑,↓,Home ,End ,PageUP ,PageDown等。

下拉菜单联动检查:
假设有A、B、C三个下拉菜单,A联动B,B联动C;这时需要检查:
1)A选择一个选项后,B下拉菜单内容应该是A中这一项所包括的所有内容;
2)选择B中的一个选项,C下拉菜单内容应该是B中这一项所包括的所有内容;
3)更改A中的内容,B,C菜单应该做相应改变;
4)更改B中内容,C菜单应做相应改变。
email:
邮箱格式:邮箱名@域名(a@b.c) 先根据常用的邮箱,总结出邮箱名的要求:

163网易邮箱规则
(提示信息不够全面,但是输入有误时有相应提醒)
(1)结尾形式有:@126 @163 @yeah
(2)长度:6~18个字符
(3)字符类型:字母,数字,下划线
(4)首尾限制:需字母开头,字母或数字结尾

2.QQ邮箱
(提示信息不够全面,但是输入有误时有相应提醒)
(1)结尾形式有:@qq @foxmail
(2)长度:3~18个字符
(3)字符类型:英文,数字,点,减号,下划线
(4)首尾限制:需a-z的英文字母(不分大小写)开头,英文字母或数字结尾

3.新浪邮箱
(提示信息很全面)
(1)结尾形式有:@sina @sina @vip.sina
(2)长度:4~16个字符
(3)字符类型:英文小写,数字,下划线
(4)首尾限制:下划线不能用在首尾



4.搜狐邮箱
(字符类型和长度提示信息简洁,但是点,减号,下划线表示形式不太美观,易懂)
(1)结尾形式有:@sohu
(2)长度:4~16位
(3)字符类型:英文,数字,(点),下划线,减号
(4)首尾限制:开头需为小写子字母,结尾没有限制(大小写字母,数字,点,下划线,减号均可)

5.Hotmail(微软)邮箱
(字符类型和长度均没有提示,体验很差)
(1)结尾形式有:@hotmail outlook
(2)长度:没有明确表示,大概为1~65位
(3)字符类型:字母,数字,点,下划线,减号
(4)首尾限制:开头需字母,结尾可用大小写字母,数字,下划线,减号,不可用点

身份证号码输入框:
1、非1位数字(包括空格、空)
2、非X和x的字母
3、18位合法的身份证号
4、17位数字、19位数字
5、15位合法的身份证号
6、14位数字、16位数字
7、号码中含有特殊字符、中文、字母(除最后一位是X或x)、全角字符、空格
8、全部为空格
9、输入框不可粘贴复制汉字 ,数字超过 18位

密码输入框:
1、输入错误的密码是否会有提示
2、输入空格或比复合规则的内容时是否会提示
3、两次密码不相同是是否有提示
4、密码是否有长度限制
5、密码是否区分大小写
6、密码为一些简单常用字符串时,是否提示修改?如:123456
7、密码存储方式是否加密

(17)假设某个系统的查询模块具有如下功能需求,通过"商品名称"“商品类型”“成交日期”"付款日期"几个条件查询所需的交易记录,请针对这个需求设计测试用例

一、假设查询因子:A,B,C,D,E(下拉框+复选框)

1、单独查询:A;B;C;D;E

  • 确保单独查询的正确性,这也是最基本的。

2、两个组合查询:AB;AC;AD;AE;BC;BD;BE;CD;CE;DE。

  • 确保两个组合查询的正确性,这保证了两两之间不会相互影响。

3、三个组合查询:ABC;CDE

  • 确保三个组合的正确性;因为我们已确保了单独及两个组合查询的正确性,所以不需要测试三个组合的全部级组合。

4、五个组合查询:ABCDE

  • 确保最大组合的正确性。

如果输入条件达到更多,可以考虑以下方法

1.单个条件遍历

2.默认条件查询

3.控件组合查询(两个组合、三个组合、五个组合),组合查询存在技巧,可以查看这些查询条件对应的后台表单是不是同一个数据表,可以把不同的数据表中的字段进行组合查询,特别考虑跨表单查询

4.全条件组合查询
5.根据需求或者业务规则选取重点条件组合查询
二、假设输入条件中包含:输入框
对于条件输入查询,先进行条件输入框的“输入验证”(可以放在单个条件查询验证里)
正常输入,查询结果检查;
异常输入,查询结果检查;如:空白字符、非法字符等
三、查询结果检查

  1. 当查询成功或者失败后,系统应给出必要的信息提示
    2.所有查询结果,必须进行一定顺序的排列,可以按照ID或按照名称来排列
    3.分页操作
    4.UI检查等等

(18)请简述缺陷描述的要点

测试环境:浏览器:全部/IE8,操作系统:win7 x64
测试数据:用户名,密码,相关的业务账号
重现步骤:缺陷发现的过程
缺陷等级:开发修复的顺序
缺陷说明:告诉开发,你所认为的缺陷是什么,取得理解上的一致实际结果与预期结果进行比较来说明这个缺陷

截图:
1.截大一点,最好截整个桌面或整个窗口
2.尽量注意不要包含不好的信息,比如群聊窗口
3.截图中强烈建议加上文字描述缺陷的位置和说明

一选择题

(1)对计算机软件和硬件资源进行管理和控制的软件是(D)

A.文件管理程序
B.输入输出管理程序
C.命令出来程序
D.操作系统

(2)在没有需求文档和产品说明书的情况下只有哪一种测试方法可以进行的(B)

A.错误推测法测试
B.路径分析测试
C.语句覆盖测试
D.条件覆盖测试

(3)某测试人员通过执行测试软件测试的方法对当前功能进行了测试,该测试人员使用的测试方法为©

A.静态测试
B.单元测试
C.黑盒测试

(4)编写测试计划的目的是(ABCDEF)多选题

A.使测试工作顺利进行
B.使项目参与人员沟通更顺畅
C.使测试工作更加系统化
D.软件工程以及软件过程的需要
E.软件过程规范化的要求
F.控制软件质量

(5)关于软件测试与软件开发的认识,不正确的使(B)

A.软件生命周期各个阶段都可能产生测试
B.软件测试使独立于软件开发的一个工作
C.软件开发的需求分析和设计阶段就应开始测试工作
D.测试越早进行,越有助于提高被测软件的质量

(6)当一个应用程序窗口被最小化后该应用的程序将会出现以下哪种情况(D)

A.被终止执行
B.继续在前台执行
C.被暂停执行
D.被转入后台执行

(7)下列方法中,不属于黑盒测试的是(A)

A.基本路径测试法
B.等价类测试法
C.边界值分析法
D.基于场景的测试方法

(8)对于维护软件的人员来说,使用质量是[]的结果(B)

A.功能性
B.可靠性
C.可维护性
D.效率

金融保险

逻辑测试部分

1.小明一家要过一座桥,且是晚上,如果没有手电筒的话谁也不敢过,可惜只带了一个手电筒,桥有很窄每次最多只能允许两个人通过,如果一个一个过的话小明要1秒,弟弟要三秒,爸爸要6秒,妈妈要8秒,爷爷要12秒,当两个人一起过时过桥所用的时间只能按满的那个人的时间计算,问小明一家人怎样才能在30秒之内通过这座桥?(要写出解决思路和计算过过程)

1.小明和弟弟过去,小明回来送手电筒,用时4秒
2.爷爷和妈妈过去,弟弟回来送手电筒,用时15秒
3.小明和爸爸过去,小明回来送手电筒,用时7秒
4.小明和弟弟过去,用时3秒
一共用时29秒

2.如果电动剃须刀中的电池用完了,剃须刀就不能正常工作,我的剃须刀不能正常工作,因此,电池一定是用完了,以上那句与以上论证相似?©

(A)如果马拉多纳上场,阿根廷队就一定会赢,阿根廷队输了,所以马拉多纳一定没上场
(B)一个证据没有被破坏除非它不能被接受。这个证据不能被接受,因此,它被破坏了。
©如果某甲犯罪了,他的指印可以在现场找到。某甲没有犯罪,所以,某甲的指印没有在现场找到。
(D)老葛是我的叔叔,小菲是老葛的侄女。因此,小菲是我的姐姐。

3、有甲、乙、丙三个学生,一个出生在北京,一个出生在上海,一个出生在武汉。他们中一个是学国际金融专业的,一个是学工商管理专业的,一个是学外语专业的。其中:

1甲不是学国际金融的,乙不是学外语的。
2学国际金融的不出生在上海。
3学外语的出生在北京。
4乙不出生在武汉。
请根据已知的条件,判断甲的专业:©
(A)国际金融。
(B)工商管理。
©外语。
(D)三种专业都可能。

4、小杨,小方和小孙在一起,一位是经理,一位是教师,一位是医生。小孙比医生年龄大,小杨和小方都是不同岁,教师比小方年龄小。

根据上述资料可以推理出的结论是: ©
A.小杨是经理,小方是教师,小孙是医生:
B.小杨是教师,小方是经理,小孙是医生;
C.小杨是教师,小方是医生,小孙是经理;
D.小杨是医生,小方是经理,小孙是教师:

5.你认为一个测试工程师应该具备哪些素质和技能

答:
(1)沟通能力
测试人员需要与很多人员进行沟通,项目经理、开发人员、客户、市场人员等都是测试人员经常吵架的对象,而且在面对不同人员,你需要不同的语气、不同的态度,与客户要谈得来,处处为客户着想,客户就是上帝,与上帝说话要和颜悦色,与开发人员交往就需要技巧了,测试人员与开发人员往往是不共戴天的,双方在心理上经常较劲,因此在说话的语气或讲述一个问题的出发点时特别要注意。
(2)要有严谨、敢于承担责任、稳重的做事风格
学数学的人最适合做测试工程师,他们思惟严密,什么问题都被他们考虑到,当然除了做事认真仔细,也要有承担责任的勇气,在漫长的项目实施过程中,或大或小的错误在所难免,可以原谅错误,但不喜欢狡辩,要敢于承认错误。
(3)具有怀疑与破坏的精神
测试人员不能总是以常规的思路来测试软件,要设计一些非常规的、相反的测试用例来不断地折磨软件产品,要破坏性地测试,并且不要停止你的怀疑。
(4)善于自我总结、自我督促

6.问题单都有哪些属性?

答:
我所知道的有:产品模块、所属项目、所属版本、bug标题、步骤及测试数据、bug及日志截图、类型及严重程度、系统/浏览器

7.一个完整的测试方案包含哪些要素?

答:
测试计划、人员分配、时间安排、测试方法的确定、测试工具的确定、测试报告

8.查看接口的工具有哪些?说一个工具的操作

答:

  1. jmeter与soapui都支持
    2.jmeter的用法:新建一个线程组,天剑http类型的请求→填上接口地址和数据→添加查看结果树→进行运行→查看结果,进行分析
    9.如何定位bug,是前端还是后端的问题,用什么工具,还是利用别的?
    答:
    如果是功能性的问题,那么就是后端问题,如果是界面的效果或者是按钮问题,那么也许是前端问题,分析问题,有的时候需要开发的协作

更多推荐

2021-04-15 测试面试题

本文发布于:2023-04-22 11:54:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/6cdcd89f04e600853b0ed4b5faed4626.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:面试题   测试

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 95915文章数
  • 24251阅读数
  • 0评论数