软件测试面试的题目.docx

上传人:b****4 文档编号:11583646 上传时间:2023-03-19 格式:DOCX 页数:12 大小:24.93KB
下载 相关 举报
软件测试面试的题目.docx_第1页
第1页 / 共12页
软件测试面试的题目.docx_第2页
第2页 / 共12页
软件测试面试的题目.docx_第3页
第3页 / 共12页
软件测试面试的题目.docx_第4页
第4页 / 共12页
软件测试面试的题目.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

软件测试面试的题目.docx

《软件测试面试的题目.docx》由会员分享,可在线阅读,更多相关《软件测试面试的题目.docx(12页珍藏版)》请在冰豆网上搜索。

软件测试面试的题目.docx

软件测试面试的题目

面试题

1、您认为做好测试用例设计工作的关键是什么?

参考答案:

测试用例应百分百覆盖需求。

白盒测试用例设计的关键是以较少的用例覆盖尽可能多的内部程序逻辑结果。

黑盒法用例设计的关键同样也是以较少的用例覆盖模块输出和输入接口。

不可能做到完全测试,以最少的用例在合理的时间内发现最多的问题。

2、您所熟悉的测试用例设计方法都有哪些?

请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。

参考答案:

1.等价类划分

划分等价类:

等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假定:

测试某等价类的代表值就等于对这一类其它值的测试.因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:

有效等价类和无效等价类.

2.边界值分析法

边界值分析方法是对等价类划分方法的补充。

测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部.因此针对各种边界情况设计测试用例,可以查出更多的错误.

使用边界值分析方法设计测试用例,首先应确定边界情况.通常输入和输出等价类的边界,就是应着重测试的边界情况.应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据.

参考答案:

3.错误推测法

基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法.

错误推测方法的基本思想:

列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例.例如,在单元测试时曾列出的许多在模块中常见的错误.以前产品测试中曾经发现的错误等,这些就是经验的总结.还有,输入数据和输出数据为0的情况.输入表格为空格或输入表格只有一行.这些都是容易发生错误的情况.可选择这些情况下的例子作为测试用例.

4.因果图方法

前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系,相互组合等.考虑输入条件之间的相互组合,可能会产生一些新的情况.但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多.因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例.这就需要利用因果图(逻辑模型).因果图方法最终生成的就是判定表.它适合于检查程序输入条件的各种组合情况.

4、什么是并发?

在lordrunner中,如何进行并发的测试?

集合点失败了会怎么样?

参考答案:

在同一时间点,支持多个不同的操作。

LoadRunner中提供IP伪装,集合点,配合虚拟用户的设计,以及在多台电脑上设置,可以比较好的模拟真实的并发。

集合点,即是多个用户在某个时刻,某个特定的环境下同时进行虚拟用户的操作的。

集合点失败,则集合点的才操作就会取消,

(五)写出bug报告当中一些必备的内容。

参考答案:

硬件平台和操作系统

测试应用的硬件平台(Platform),通常选择“PC”。

测试应用的操作系统平台(OS)。

a)版本

提交缺陷报告时通过该字段标识此缺陷存在于被测试软件的哪个版本。

b)Bug报告优先级

c)Bug状态

d)Bug的编号

e)发现人

f)提交人

g)指定处理人

h)概述

i)从属关系

j)详细描述

k)严重程度

l)所属模块

m)附件

n)提交日期

(六)简述一下缺陷的生命周期?

参考答案:

发现->提交->确认->分配->修复->验证->关闭

7、

(1)发现错误是软件测试的目的()

(2)白盒测试可以找出软件遗漏功能和代码错误功能。

()

(3)在设计测试用例时,应包括合理的应用条件和不合理的应用条件。

()

(4)软件缺陷一定是由编码引起的错误。

()

(5)文档测试是对系统提交给用户的文档进行验证,并不是一般性的审查活动。

()

参考答案:

错错对错对

(八)如何编写提交给用户的测试报告?

参考答案:

随着测试工作越来越受重视,开发团队向客户提供测试文档是不可避免的事情。

很多人会问:

“我们可以把工作中的测试报告提供给客户吗?

”答案是否定的。

因为提供内部测试报告,可能会让客户失去信心,甚至否定项目。

测试报告一般分为内部测试报告和外部测试报告。

内部报告是我们在测试工作中的项目文档,反映了测试工作的实施情况,这里不过多讨论,读者可以参考相关教材。

这里主要讨论一下外部测试报告的写法,一般外部测试报告要满足下面几个要求:

-根据内部测试报告进行编写,一般可以摘录;

-不可以向客户报告严重缺陷,即使是已经修改的缺陷,开发中的缺陷也没有必要让客户知道;

-报告上可以列出一些缺陷,但必须是中级的缺陷,而且这些缺陷必须是修复的;

-报告上面的内容尽量要真实可靠;

-整个测试报告要仔细审阅,力争不给项目带来负面作用,尤其是性能测试报告。

总之,外部测试报告要小心谨慎的编写。

(九)测试产品与测试项目的区别是什么?

习惯上把开发完成后进行商业化、几乎不进行代码修改就可以售给用户使用的软件成为软件产品,也就是可以买“卖拷贝”的软件,例如Windows2000。

而通常把针对一个或者几个特定的用户而开发的软件成为软件项目,软件项目是一种个性化的产品,可以是按照用户要求全部重新开发,也可以修改已有的软件产品来满足特定的用户需求。

项目和产品的不同特点,决定我们测试产品和测试项目仍然会有很多不同的地方:

-质量要求不同。

通常产品的质量要高一些,修复发布后产品的缺陷成本较高,甚至会带来很多负面的影响。

而做项目通常面向某一用户,虽然质量越高越好,但是一般只要满足用户要求就可以了。

-测试资源投入多少不同。

做软件产品通常是研发中心来开发,进度压力要小些。

同时由于质量要求高,因此会投入较多的人力、物力资源。

-项目最后要和用户共同验收测试,这是产品测试不具有的特点。

此外,测试产品与测试项目在缺陷管理方面、测试策略制定都会有很大不同,测试管理者应该结合具体的环境,恰如其分的完成工作。

(十)没有产品说明书和需求文档地情况下能够进行黑盒测试吗?

参考答案:

这个问题是国内测试工程师经常遇到的问题,根源就是国内软件开发文档管理不规范,对变更的管理方法就更不合理了。

实际上没有任何文档的时候,测试人员是能够进行黑盒测试的,这种测试方式我们可以称之为探索测试,具体做法就是测试工程师根据自己的专业技能、领域知识等不断的深入了解测试对象、理解软件功能,进而发现缺陷。

在这种做法基本上把软件当成了产品说明书,测试过程中要和开发人员不断的进行交流。

尤其在作项目的时候,进度压力比较大,可以作为加急测试方案。

最大的风险是不知道有些特性是否被遗漏

(11)在测试一个web页面时,页面显示为空白页,如何定位问题所在?

可能是哪些原因引起的?

参考答案:

1、本身页面代码就是空白的。

浏览器按F12查看

2,本地无网络,浏览器是否缓存是否为空白页

3,发送超时,接收超时,服务器超时。

4,域名错误,ip解析不了。

(12)软件的评审一般由哪些人参加?

其目的是什么?

参考答案:

在正式的会议上将软件项目的成果(包括各阶段的文档、产生的代码等)提交给用户、客户或有关部门人员对软件产品进行评审和批准。

其目的是找出可能影响软件产品质量、开发过程、维护工作的适用性和环境方面的设计缺陷,并采取补救措施,以及找出在性能、安全性和经济方面的可能的改进。

人员:

用户、客户或有关部门开发人员,测试人员,需求分析师都可以,就看处于评审那个阶段

(13)描述测试用例设计的完整过程?

参考答案:

需求分析+需求变更的维护工作;

根据需求得出测试需求;

设计测试方案,评审测试方案;

方案评审通过后,设计测试用例,再对测试用例进行评审;

(14)面试官问用安卓系统和ios系统进行软件测试,会有哪些不同

1.Android长按home键呼出应用列表和切换应用,然后右滑则终止应用;

2.多分辨率测试,Android端20多种,ios较少;

3.手机操作系统,Android较多,ios较少且不能降级,只能单向升级;新的ios系统中的资源库不能完全兼容低版本中的ios系统中的应用,低版本ios系统中的应用调用了新的资源库,会直接导致闪退(Crash);

4.操作习惯:

Android,Back键是否被重写,测试点击Back键后的反馈是否正确;应用数据从内存移动到SD卡后能否正常运行等;

5.push测试:

Android:

点击home键,程序后台运行时,此时接收到push,点击后唤醒应用,此时是否可以正确跳转;ios,点击home键关闭程序和屏幕锁屏的情况(红点的显示);

6.安装卸载测试:

Android的下载和安装的平台和工具和渠道比较多,ios主要有appstore,iTunes和testflight下载;

7.升级测试:

可以被升级的必要条件:

新旧版本具有相同的签名;新旧版本具有相同的包名;有一个标示符区分新旧版本(如版本号),对于Android若有内置的应用需检查升级之后内置文件是否匹配(如内置的输入法)

(15)LoadRunner分哪三部分?

参考答案:

用户动作设计;

场景设计;

测试数据分析;

(16)数据库内联接和外连接,自联接有什么区别?

参考答案:

内联接通常是2个表存在主外键关系时使用的,

内联接查询有2种方式实现,

1是在WHERE子句中指定联接条件

2是在FROM子句中使用join...on

内联接查询通常不仅仅联接2表,可以3表甚至更多的表

参与内联接的表的地位是平等的

而外联接中参与联接的表有主从之分。

以主表的每行数据去匹配从表的数据列,符合条件的数据将直接返回到结果集中,不符合的用NULL(空值)填充后再返回到结果集中

(17)测试计划工作的目的是什么?

测试计划工作的内容都包括什么?

其中哪些是最重要的?

参考答案:

软件测试计划是指导测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。

借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。

测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。

所以其中最重要的是测试测试策略和测试方法(最好是能先评审)

(18)当开发人员说不是BUG时,你如何应付?

参考答案:

开发人员说不是bug,有2种情况,一是需求没有确定,所以我可以这么做,这个时候可以找来产品经理进行确认,需不需要改动,3方商量确定好后再看要不要改。

二是这种情况不可能发生,所以不需要修改,这个时候,我可以先尽可能的说出是BUG的依据是什么?

如果被用户发现或出了问题,会有什么不良结果?

程序员可能会给你很多理由,你可以对他的解释进行反驳。

如果还是不行,那我可以给这个问题提出来,跟开发经理和测试经理进行确认,如果要修改就改,如果不要修改就不改。

其实有些真的不是bug,我也只是建议的方式写进TD中,如果开发人员不修改也没有大问题。

如果确定是bug的话,一定要坚持自己的立场,让问题得到最后的确认。

(19)如果一个bug只出现一次,该怎么处理?

(1)bug出现的同时立即截图留下异常的画面

(2)使用相同的环境、设备、测试步骤、方法,使用相同的输入数据,看能否重

(3)不能重现,则告诉项目经理发现bug的过程,分析优先级,讨论解决方案

(20)软件测试的缺陷等级如何划分?

参考答案:

A类—严重错误,包括以下各种错误:

1.由于程序所引起的死机,非法退出

2.死循环

3.数据库发生死锁

4.因错误操作导致的程序中断

5.与数据库连接错误

6.数据通讯错误

B类—较严重错误,包括以下各种错误:

1.程序接口错误

2.系统可被执行,但操作功能无法执行(含指令)

3.单项操作功能可被执行,但在此功能中某些小功能(含指令参数的使用)无法被执行(对系统非致命的)

4.在小功能项的某些项目(选项)使用无效(对系统非致命的)

5.业务流程不正确

6.功能实现不完整,如删除时没有考虑数据关联

7.功能的实现不正确,如在系统实现的界面上,一些可接受输入的控件点击后无作用;对数据库的操作不能正确实现;

8.报表格式以及打印内容错误(行列不完整,数据显示不在所对应的行列等导致数据显示结果不正确的错误)

C类—一般性错误,包括以下各种错误:

1.操作界面错误(包括数据窗口内列名定义、含义是否一致)

2.打印内容、格式错误(只影响报表的格式或外观,不影响数据显示结果的错误)

3.简单的输入限制未放在前台进行控制

4.删除操作未给出提示

5.已被捕捉的系统崩溃,不影响继续操作

6.虽然正确性不受影响,但系统性能和响应时间受到影响

7.不能定位焦点或定位有误,影响功能实现

8.显示不正确但输出正确

9.增删改功能,在本界面不能实现,但在另一界面可以补充实现。

D类—较小错误,包括以下各种错误:

1.界面不规范

2.辅助说明描述不清楚

3.输入输出不规范

4.长时间操作未给用户提示

5.提示窗口文字未采用行业术语

6.可输入区域和只读区域没有明显的区分标志

7.必填项与非必填项应加以区别

8.滚动条无效

9.键盘支持不好,如在可输入多行的字段中,不支持回车换行;或对相同字段,在不同界面支持不同的快捷方式

10.界面不能及时刷新,影响功能实现

(21)软件的安全性应从哪几个方面去测试?

(1)用户认证机制:

如数据证书、智能卡、双重认证、安全电子交易协议

(2)加密机制

(3)安全防护策略:

如安全日志、入侵检测、隔离防护、漏洞扫描

(4)数据备份与恢复手段:

存储设备、存储优化、存储保护、存储管理

(5)防病毒系统

E类—其他错误

1.光标跳转设置不好,鼠标(光标)定位错误

2.一些建议性问题

(22)逻辑题,一个是一个6L水的水壶,一个5L水的水壶,旁边有一个池塘,如何用这两个水壶,倒出3L水

6L壶装满水,倒进5L壶里,6L壶里剩下1L水,倒掉5L壶里的水,把6L壶里剩下的水倒进5L壶里

再把6L壶装满,倒水进5L壶,6L壶里剩下2L的水,倒掉5L壶里水,把6L壶里的水倒进5L壶里

再次装满6L壶,倒水进5L壶,此时6L壶里剩下的水为3L。

(23)想象一个登录框,包括ID、密码、登录、取消,记住密码(复选框),尽可能的写出你想到的测试点?

参看答案:

ID测试要点:

字符类型(包括:

数字、字母、汉字、特殊字符)

字符长度

默认值

空值

字符集

存在空格

复制、粘贴

密码测试要点:

密码长度(例如:

密码不能少于7个字符,最长不能超过20个字符)密码复杂度、强度(例如:

密码必须包含特殊字符、数字字母大小写等等,长度是否长)

密码字符类型(例如:

只允许输入数字、字母、特殊字符、下划线)

默认值

密码为空

字符集

存在空格

复制、粘贴

登录测试要点

①用户名和密码都符合要求(格式上的要求)

②用户名和密码都不符合要求(格式上的要求)

③用户名符合要求,密码不符合要求(格式上的要求)

④密码符合要求,用户名不符合要求(格式上的要求)

⑤用户名或密码为空

⑥数据库中不存在的用户名,不存在的密码

⑦数据库中存在的用户名,错误的密码

⑧数据库中不存在的用户名,存在的密码

⑨输入的数据前存在空格

⑩输入正确的用户名密码以后按[enter]是否能登陆

取消

鼠标左键点击“取消”按钮

鼠标左键双击“取消”按钮

鼠标右键点击“取消”按钮

鼠标右键双击“取消”按钮

鼠标指针移动到“取消”按钮”,按回车键鼠标指针停留在“取消”按钮上

记住密码

(复选框)

点击选中“记住密码”按钮,重新登录

不选中“记住密码”按钮,重新输入密码登录

输入已存在ID和错误密码,勾选“记住密码”,点击登录输入错误ID和正确密码,勾选“记住密码”,点击登录输入正确ID和正确密码,勾选“记住密码”,点击登录输入错误ID和错误密码,勾选“记住密码”,点击登录.

(23)访问一个完整http请求会经历哪些问题

参考答案:

1.域名解析

2.发起TCP的3次握手

3.建立TCP连接后发起http请求

4.服务器端响应http请求,浏览器得到html代码

5.浏览器解析html代码,并请求html代码中的资源

6.浏览器对页面进行渲染呈现给用户。

(24)https和http请求的区别?

https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议

25:

http有哪些请求方式,get和post请求有什么区别

参看答案:

get传输数据是通过URL请求,以field(字段)=value的形式,置于URL后,并用"?

"连接,多个请求数据间用"&"连接,如http:

//127.0.0.1/Test/login.action?

name=admin&password=admin,这个过程用户是可见的;post传输数据通过Http的post机制,将字段与对应值封存在请求实体中发送给服务器,这个过程对用户是不可见的;

Get传输的数据量小,因为受URL长度限制,但效率较高,Post可以传输大量数据,所以上传文件时只能用Post方式;

post较get安全性较高,get是不安全的,因为URL是可见的,可能会泄露私密信息,如密码等.

get方式只能支持ASCII字符,向服务器传的中文字符可能会乱码,post支持标准字符集,可以正确传递中文字符。

(26)cookie与session区别

参考答案:

cookie数据存放在客户的浏览器上,session数据放在服务器上;

cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,考虑到安全应当使用session;

session会在一定时间内保存在服务器上。

当访问增多,会比较占用你服务器的性能。

考虑到减轻服务器性能方面,应当使用COOKIE;

单个cookie在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能超过3K;

Cookie和Session的方案虽然分别属于客户端和服务端,但是服务端的session的实现对客户端的cookie有依赖关系的,上面我讲到服务端执行session机制时候会生成session的id值,这个id值会发送给客户端,客户端每次请求都会把这个id值放到http请求的头部发送给服务端,而这个id值在客户端会保存下来,保存的容器就是cookie,因此当我们完全禁掉浏览器的cookie的时候,服务端的session也会不能正常使用。

(27)http请求和http响应包含哪些内容

参考答案:

请求报文包含三部分:

a、请求行:

包含请求方法、URI、HTTP版本信息

b、请求首部字段

c、请求内容实体

响应报文包含三部分:

a、状态行:

包含HTTP版本、状态码、状态码的原因短语

b、响应首部字段

c、响应内容实体

(33)你所熟悉的软件测试类型有哪些?

参考答案:

测试类型有:

功能测试、性能测试、界面测试

  功能测试在测试工作中占有比例最大,功能测试也叫黑盒测试。

  性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

负载测试和压力测试都属于性能测试,两者可以结合进行。

  界面测试,界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印象。

  区别在于,功能测试关注产品的所有功能,要考虑到每个细节功能,每个可能存在的功能问题。

性能测试主要关注产品整体的多用户并发下的稳定性和健壮性。

界面测试则关注与用户体验相关内容,用户使用该产品的时候是否已用,是否易懂,是否规范(用户无意输入无效的数据,当然考虑到体验性,不能太粗鲁的弹出警告)。

做某个性能测试的时候,首先它可能是个功能点,首先要保证她的功能是没有问题的,然后再考虑性能的问题。

(34)、接口测试用例的编写要点有哪些?

1、测试每个参数类型不合法的情况(类型不合法容易遗漏null型)

2、测试每个参数取值范围不合法的情况

3、测试参数为空的情况

4、测试参数前后台定义的一致性

5、测试每个参数的上下限(这里容易出现致命的BUG,如果程序处理不当,可能会程序导致崩溃)

6、如果两个请求有严格的先后顺序,需要测试调转顺序的情况

 

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1