测试面试题 华宇 金融保险

第一部分 基础知识部分

(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 print(‘三角形的三边必须是大于0的数’)
elif a + b print(‘两边之和大于第三边’)
else:
print(‘输入的三条边符合组成三角形的编程规则!’)
a=float(input(‘请输入边长 a:’))
b=float(input(‘请输入边长 b:’))
c=float(input(‘请输入边长 c:’))

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

第三部分 测试能力部分

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

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,身份证 ,密码)

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

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

软件测试笔试题

一选择题

(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秒之内通过这座桥写出解决思路和计算过过程)

答:小明和弟弟先过,小明在回来 需要4秒
妈妈和爷爷过去 弟弟回来 需要15秒
小明和爸爸过去 小明回来 需要7秒
小明和弟弟回去 需要3秒

4+15+7+3=29

(2)如果电动剃刀中的电池用完了,剃刀就不呢能工作,我的剃刀不能工作,因此,电池一定是用完了

以下那句与以上论证相似(D)

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

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

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

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

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

(5)你认为一个测试工程师应具备那些素质和技能

(1)沟通能力
  测试人员需要与很多人员进行沟通,项目经理、开发人员、客户、市场人员等都是测试人员经常吵架的对象,而且在面对不同人员,你需要不同的语气、不同的态度,与客户要谈得来,处处为客户着想,客户就是上帝,与上帝说话要和颜悦色,与开发人员交往就需要技巧了,测试人员与开发人员往往是不共戴天的,双方在心理上经常较劲,因此在说话的语气或讲述一个问题的出发点时特别要注意。

(2)要有严谨、敢于承担责任、稳重的做事风格
  学数学的人最适合做测试工程师,他们思惟严密,什么问题都被他们考虑到,当然除了做事认真仔细,也要有承担责任的勇气,在漫长的项目实施过程中,或大或小的错误在所难免,可以原谅错误,但不喜欢狡辩,要敢于承认错误。

(3)具有怀疑与破坏的精神
  测试人员不能总是以常规的思路来测试软件,要设计一些非常规的、相反的测试用例来不断地折磨软件产品,要破坏性地测试,并且不要停止你的怀疑

(6)问题单都有那些属性h4>

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

(7)一个完整的测试方案包含那些要素h4>
  1. 测试的目的和目标

2.测试依赖条件

测试项目与其他平台的依赖关系,当前项目需要依赖的平台或环境需要集成进来。

3.测试范围

待测试的组件、核心功能,子功能可视项目需要编写。以及非测试范围。

4.测试等级

描述相关的测试等级(单元、子系统集成、集成测试)

5.测试类型

描述测试类型:

(1)黑盒、灰盒、白盒测试

(2)开发测试、验收测试、运行测试

(3)冒烟与回归测试

(4)手工、自动化测试

(5)基于模式的测试(系统启动、运行模式、降级模式、系统关闭)

(6)正常与异常测试(正例与反例)

(7)质量需求的测试,例如可用性测试、容量(负载、压力测试)、互操作性、性能、可靠性、健壮性、安全性、渗透测试、易用性测试。

(8)静态与动态测试

(9)时间或日期的测试

6.测试团相关人力资源

测试团队、测试人员包括职责、权限、相关资质(如专业知识、培训和经验,一般测试 作为第三方时需要)和人员配备水平。

7.测试过程

需求分析阶段

用例设计阶段

测试用例的选择标准(如:基于接口的、用例路径、边界值测试、错误推测法)

执行测试阶段

(1) 测试工作产品(如测试文档 、测试软件、测试数据输入、预期输出、测试硬件和测试环境)

(2) 测试任务(主要测试任务,如名称、目标、前置条件、输入、步骤、后置条件和输出)

(3) 测试完整性和严密性(根据测试等级来定)

(5) 测试技术(测试过程中使用的测试方法或技术,如边界值测试、等价类测试、模糊测试、渗透测试、链接测试、兼容测试)

测试的入口标准(开始测试前必须具备的标准)

测试暂停和重启标准(程序文档有相当多的失误或系统服务器异常或发现阻塞Bug。)

测试完成或结束标准(如根据不同层次的代码覆盖、如语句、分支或条件覆盖)

(6) 测试数据(要产生的测试数据的类型和数量)

8.环境

测试时需要使用的设备:测试机器及服务器、测试工具(测试管理工具等)、测试环境(软件环境和硬件环境)、测试设施(数据库等)。

9.测试进度计划

测试里程碑活动:项目开发周期、进度等。如需求分析、测试计划、用例评审、系统测试、验收测试等

10.评审、度量指标

与测试有关的评审、测试度量指标、状态 告(测试运行并通过的case百分比和数量)

11.参考资料

影响到测试或编写计划用到的所有相关文档,如项目需求文档等。

12.项目术语表

(8)查看接口的工具有那些一个工具的操作

Jmeter:接口测试、压力测试
soapui:接口测试
xShell、xftp:管理Linux系统
禅道:管理BUG
navicat:管理数据库

(9)如何定位bug,是前端还是后端的问题,用什么工具,还是利用别的h4>

通常可以利用抓包工具来进行分析。可以从三个方面进行分析:请求接口,传参,响应。

  1. 请求接口url是否正确

如果请求的接口url错误,为前端的bug

  1. 传参是否正确

如果传参不正确,为前端的bug

  1. 请求接口url和传参都正确,查看响应是否正确

如果响应内容不正确,为后端bug

  1. 也可以在浏览器控制台输入js代码调试进行分析

如果定位为后端的bug,可以进一步通过以下方法精确定位是哪里出bug:

  1. 查看 错日志,通过日志分析问题点

  2. 查看数据库确认数据的正确性

  3. 查看缓存是否正确

定位BUG属于前端还是后端,有什么方法p>

1.接口查看法

这种方法是最常用的,我们必须掌握的,常用于查看是后端返回给前端的数据有误,还是前端显示有误。

大多数浏览器都有自带的接口查看工具,如Chrome,FireFox等都可以通过F12开启抓包,在NetWork中可以看到当前页面发送的每个http请求。要想通过接口查看法来判断,你需要先了解Chrome浏览器的Network面板介绍。

2.日志查看法

当我们发现一个bug,并不确定这个bug属于前端还是后端,可以查看后端服务的日志,复现bug时,查看日志中有没有相关信息。基本可以认为,如果日志没有输出,很可能这个功能并没有与后端交互,也就不存在后端的问题。反之,如果日志有输出,可以进一步查看有无错误日志信息,进一步分析。

3.经验法

经验法就只能是慢慢积累了。负责的项目多了,自然对功能的实现过程有了解,也就明白如何分类bug了。在平常的工作和实践中慢慢总结,不要只是一味的点点点测测测,总结复盘很重要。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年3月10日
下一篇 2021年3月10日

相关推荐