测试工程师常见面试题及答案_测试工程师数据库面试题

测试工程师常见面试题及答案_测试工程师数据库面试题1、测试人员在软件开发过程中的任务是什么?(初级)(5分)答:1、寻找Bug;2、避免软件开发过程中的缺陷;3、衡量软件的品质;4、关注用户的需求。总的目标是:确保软件的质量。2、在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?(初级)(6分)答:一条Bug记录最基本应包含:编号、Bug所属模块、Bug描述、Bug级别、…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

1、 测试人员在软件开发过程中的任务是什么?(初级)(5分)
答:1、寻找Bug;
2、避免软件开发过程中的缺陷;
3、衡量软件的品质;
4、关注用户的需求。
总的目标是:确保软件的质量。
2、 在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?(初级)(6分)
答:一条Bug记录最基本应包含:编号、Bug所属模块、Bug描述、Bug级别、发现日期、发现人、修改日期、修改人、修改方法、回归结果等等;要有效的发现Bug需参考需求以及详细设计等前期文档设计出高效的测试用例,然后严格执行测试用例,对发现的问题要充分确认肯定,然后再向外发布如此才能提高提交Bug的质量。
 
3、 界面测试题及设计题。请找出下面界面中所存在的问题并分别列出;用黑盒测试的任何一种方法设计出此登陆窗体的测试用例。(中级)(6分)

 
答:1、窗体的标题栏中为空,没有给出标题。
2、用户名和密码控件的字体不一致并且没有对齐。
3、文本框的大小不一致没有对其。
4、确定和取消按钮控件的大小不一致。
 
4、 黑盒测试和白盒测试是软件测试的两种基本方法,请分别说明各自的优点和缺点!(中级)(5分)
答:黑盒测试的优点有:
1)比较简单,不需要了解程序内部的代码及实现;
2)与软件的内部实现无关;
3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;
4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;
5)在做软件自动化测试时较为方便。
黑盒测试的缺点有:
1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;
2)自动化测试的复用性较低。
白盒测试的优点有:
帮助软件测试人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。
白盒测试的缺点有:
1)程序运行会有很多不同的路径,不可能测试所有的运行路径;
2)测试基于代码,只能测试开发人员做的对不对,而不能知道设计的正确与否,可能会漏掉一些功能需求;
3)系统庞大时,测试开销会非常大。
5、 根据自己的理解回答什么是软件测试,软件测试分为哪几个阶段。(初级)(5分)
答:软件测试是一个为了寻找软件中的错误而运行软件的过程,一个成功的测试是指找到了迄今为止尚未发现的错误的测试。
软件测试一般分为单元测试、集成测试和系统测试。
6、 根据自己的理解什么是测试用例和测试规程,设计一个测试用例应当从哪几方面考虑?(中级)(10分)
答:狭义的讲,一个测试用例就是测试人员用以测试被测软件的某个特性或特性组合的一组数据。这组数据可能是从用户处得来的实际的一组数据,也可能是测试人员专门设计出来的测试软件某些功能的一组数据。
测试规程就是详细的对测试用例设计方法、测试方法、测试工具、测试环境和测试数据进行描述的文档,还可以包括能把某个或某一组测试用例应用到被测软件上完成某项测试的一系列的操作步骤。
设计测试用例应当从以下几方面考虑:边界值,等价类划分,有效/无效值等。
7、 什么是软件质量保证?软件质量保证人员与开发人员的关系如何?(高级) (10分)
答:软件质量保证就是通过确保软件过程的质量,来保证软件产品的质量。
软件质量保证人员和开发人员之间具有管理上的严格的独立性,两个小组的管理员都不能越权管理另一组,但都可以向更高层的管理者汇报软件开发中的问题
四、 设计题
1).输入三个整数,判断三个整数能否构成一个三角形,请用黑盒测试方法中的一种设计出相应的测试用例并详细说明所使用的黑盒测试方法。(中高级) (15分

 

一、什么是软件测试

软件测试是为了发现错误而执行程序的过程,为保证软件质量而采取的措施。
或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例(输入以及预期的输出结果),并利用这些测试用例去运行程序,以发现程序中的错误。
二种思维:正向:验证程序是否正常执行以及是否达到用户预期的需求。
反向:为发现错误或缺陷而进行的一系列活动。
二、软件测试的目的

发现软件缺陷,提高软件质量
以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正错误和缺陷提高软件质量,回避因软件发布后由于潜在的缺陷和错误造成的隐患带来的商业风险。
三、什么是需求文档测试

需求文档是否符合用户要求、是否符合逻辑、技术是否能实现。
四、什么是设计文档测试

测试设计是否符合全部需求以及设计是否合理。
五、α测试是什么

是由一个用户在开发环境下进行的测试,可以是公司内部的用户在模拟实际操作环境下进行的受控测试,α测试不能由程序员和测试员完成。α测试发现的错误,可以在测试现场立即反馈给开发人员,由其分析和处理。目的是评价软件的功能、可使用性、可靠性、性能和支持。尤其注重产品的界面和特色。可在编码结束/子模块测试完成之后开始。有关手册应该在测试前完成。
六、β测试是什么

是软件的多个用户在实际使用环境下进行的测试。开发者通常不在当前。不能由程序员和测试员来完成。因此是开发者无法控制的环境下进行的软件现场应用。同时,用户记录下所有问题,包括真实的以及主管认定的,定期向开发者报告,开发者做修改,最终将软件产品交付给全体用户使用。Β测试更注重于产品的支持性,包括文档、客户培训和支持产品的生产能力。α测试ok后才开始β测试。
七、什么是驱动模块

驱动模块大多数称为是“主程序”,它接受测试数据并将数据传递到被测试模块,单元测试一个函数单元时,被测单元本身是不能独立运行的,需要为其传送数据,为此写驱动。
驱动模块主要完成以下内容:
1.接受测试输入
2.对输入进行判断
3.将输入传递给被测试单元,驱动被测单元执行
4.接受被测单元执行结果,并对结果进行判断
5.将判断结果作为用例执行结果输出测试报告
八、什么是桩模块

比如对函数A做单元测试时,被测的函数单元下还包含函数B,为了更好的定位错误,就要为函数B写桩,来模拟函数B的功能,保证其正确。
总结:单元测试中,测试一个模块时,需要设计驱动模块和桩模块。
运行被测试单元时,为了隔离单元,根据被测试的接口,开发相应的驱动程序和桩程序。
驱动模块:为模拟被测试单元的上级模块,能调用被测试模块。
桩模块:用以模拟被测模块工作过程中所调用的下层模块,桩模块由被测模块调用,一般只有很少的数据处理,以便于检测被测试模块下级模块的接口,他俩可以隔离被测试单元,又能使测试继续下去。
九、什么是白盒测试,有几种方法

又称为逻辑驱动测试,结构测试。知道产品内部的工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能。
主要方法:逻辑驱动测试、基路测试
白盒测试分为静态和动态测试2类:
静态:不执行程序,静态结构分析法、代码检查法、静态质量度量法
动态:基本路径测试、逻辑覆盖(语句覆盖、判断覆盖、条件覆盖、判断-条件覆盖、条件组合覆盖、路劲覆盖、)、域测试、符号测试等
十、软件缺陷等级划分

软件缺陷的等级可以用严重性和优先级来描述:
严重性:衡量缺陷对客户满意度影响的满意程度,分为
1.致命错误,可能导致本模块以及其他相关的模块异常,死机等问题;
2.严重错误,问题局限在本模块,导致模块功能失常或异常退出;
3.一般错误,模块功能部分失效;
4.建议模块,有问题提出人对测试模块的改进建议;
优先级:缺陷被修复的紧急程度;
1.立即解决(P1级):缺陷导致系统功能几乎不能使用或者测试不能继续,需立即修复;
2.高优先级(P2级):缺陷严重,影响测试,需优先考虑;
3.正常排队(P3级):缺陷需要正常排队等待修复;
4.低优先级(P4级):缺陷可以在有时间的时候被纠正;
———————
作者:xiongluo0628
来源:CSDN
原文:https://blog.csdn.net/xiongluo0628/article/details/81363106
版权声明:本文为博主原创文章,转载请附上博文链接!

 

1)软件的概念?

软件是计算机系统中与硬件相互依存的一部分,包括程序、数据以及与其相关文档的完整集合。

2)软件测试的概念?

使用人工或自动手段来运行或测试某个系统的过程, 其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别

3)测试人员和开发人员区别?

①人员不同

测试:开发人员和测试人员   开发:只有开发人员

②所处阶段不同

测试:贯穿整个软件开发生命周期

调试:在软件开发编码阶段以及测试过程中对BUG进行调试

③对bug处理结果不同

测试:只找出错误,不解决

调试:找出错误并解决

4)什么是需求?

①用户解决问题或达到目标所需的条件或权能,

②系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能

5)测试生命周期模型?

V模型、W模型、瀑布模型、 螺旋模型、敏捷H模型

    软件测试流程

    1、需求分析,需求评审

    2、制定测试计划、计划评审

    3、编写测试用例、用例评审

    4、测试实施阶段、执行测试用例

     按照设计好的用例、准备好的数据和制定的测试策略,实施进行具体的测试过程

    5、测试评估阶段

     测试总结、缺陷分析、过程评估

    7)V模型?

    8)W模型?

    9)瀑布模型?

    10)需求评审内容?

    ①对需求的描述是否易于理解?

    ②受否存在有二义性的需求?

    ③是否定义了术语表,对特定含义的术语给予了定义?

    ④最终产品的每个特征是用唯一的术语描述的吗?

    ⑤需求是中的条件和结果是不是合理,有没有遗漏一些异常因果关系?

    ⑥需求中有没有包含不确定行描述,如:大约、可能、等

    ⑦每个规格是不是都有明确说明?

    ⑧环境搭建是否可能或有困难?

    11)需求分类?

    ①业务需求  ②用户需求  ③系统需求

    12)什么是测试用例?

      为实施测试而向被测试系统提供的输入数据、操作或各种环境设置以及期望结果的一个特定的集合。也就是解决要测什么、怎么测和如何衡量的问题

    13)什么是测试计划?

    软件测试计划就是在软件测试工作正式实施之前明确测试的对象,并且通过对资源、时间、风险、测试范围和预算等方面的综合分析和规划,保证有效的实施软件测试。

    14)用例优先级?

    ② 高:最常执行以保证功能性是稳定的,目标的行为和能力可以正常的工作,和重要的错误和边界被测试的测试用例的集合。

    ③ 中:这是使给出的功能区域或功能变得更详细,检查功能的多数方面包括边界,错误和配置测试的测试用例。
    ④ 低:这是通常最少被执行的测试用例。但这并不意味着这些测试都不重要,只是说他们在项目的生命期间里不是常常被运行,例如GUI,错误信息,可用性
    15)用例内容?

    主要分为三大部分:基本信息、用例主体、执行记录

    基本信息:项目名称、功能模块名、用例设计人、测试执行人、功能特性、测试目的、预置条件、参考信息

    用例主体:用例编号、测试对象、检查点、预置条件、用例说明、优先级、预期结果

    执行记录:测试结果、缺陷编号、备注

    16)用例执行结果?

    通过,不通过,未运行,无法运行

    17)测试计划内容?

    ①测试目的②测试背景 ③文件受众 ④术语和定义⑤测试参考文档

    ⑥测试提交文档  ⑦测试范围⑧测试策略⑨测试资源⑩测试进度里程碑

    ⑪系统错误、优先级⑫测试阶段进入退出标准和通过标准

    18)测试阶段?

    ①单元测试(组件测试)

    ②集成测试  :自顶向下集成测试  、 自底向上集成测试

                          集成策略:广度优先、深度优先

    ③系统测试

    ④验收测试

    19)黑盒测试方法?(写出15种以上)

    动态测试

    故障转移和恢复测试

    配置测试

    容量测试

    UI测试

    数据和数据库完整性测试

    易用性测试

    功能测试

    性能测试

    自动化测试

    健壮性测试

    稳定性测试

    场景测试

    逻辑测试

    随机测试

    集成测试

    系统测试

    验收测试

    冒烟测试

    兼容性测试

    逆向思维测试

    本地化测试

    接口测试

    回归测试

    Cookie测试

    Alpha测试

    Beta测试

    安全性和访问控制测试

    20)白盒和黑盒区别?

    白盒测试:是通过程序的源代码进行测试而不使用用户界面。

    黑盒测试:是通过使用整个软件或某种软件功能来严格地测试

    ①测试特点不同

    黑盒测试:测试功能

    白盒测试:测试程序接口与结构

    ②测试依据不同

    黑盒测试:需求规格说明书

    白盒测试:软件程序

    ③侧重点不同

    黑盒测试:关注功能逻辑实现

    白盒测试:关注内部代码结构

    21)测试类型?

    黑盒

    白盒

    灰盒

    22)回归测试?

    更新新版本以后确保老版本的功能依然可以使用

    23)alpha测试—内部测试(未公开)

    beta测试—用户公测

    24)冒烟测试?

    确保软件满足系统测试的要求

    25)系统测试标准?

    不存在致命或严重级别的BUG

    不存在优先级为P1的BUG

    遗留问题不能大于总BUG数的8%

    遗留问题不能明显影响用户使用

    26)集成模块?

    驱动模块、存根模块

    27)验收测试内容?

    合同验收测试、法规性验收测试、alpha测试、beta测试、确保实际效果与需求一致

    28)确认测试?

    缺陷修复后再对其进行测试,确保真正被修复

    29)设计用例原则?

    100%的覆盖需求

    编写测试用例的方法

    大纲法

    等价类

    边界值

    因果图

    场景法

    正交法

    错误推断法

    BUG的优先级

    P1应立即修复的问题

    P2在产品发布之前必须修复的问题

    P3如果时间允许应该修复的问题

    P4可以在发布版本中存在的问题

    P5可改可不改,无伤大雅

    32)BUG严重程度

    致命

    严重

    一般

    轻微

    建议

    33)常用的BUG管理工具

    禅道、JIRA、Bugfree、QC

    34)符合下边5个规则的才能叫做软件缺陷:

    ①软件未达到产品说明书标明的功能

    ②软件出现了产品说明书指明不会出现的错误

    ③软件功能超出产品说明书指明范围

    ④软件未达到产品说明书虽未指出但应达到的目标

    ⑤软件测试员认为软件难以理解、不易使用、运行速度缓慢,或者最终用户认为不好

    35)缺陷产生的原因

    程序设计错误、文档不完善、需求不断变化、软件的复杂性、沟通交流不够、工期短,任务大、软硬件支持不完善

    36)判断发现的问题是否是缺陷的方法

    ①通过参考文档来确认缺陷

    ②通过了解软件产品的行业背景(或参考同类典型软件)来发现缺陷

    ③通过沟通来确认和识别缺陷

    37)缺陷报告原则

    ①Correct(准确):每个组成部分的描述准确,不会引起误解;
    ②Clear(清晰):每个组成部分的描述清晰,易于理解;
    ③Concise(简洁):只包含必不可少的信息,不包括任何多余的内容;
    ④Complete(完整):包含复现该缺陷的完整步骤和其他本质信息;
    ⑤Consistent(一致):按照一致的格式书写全部缺陷报告。

    38)缺陷报告的用途是什么?

    ①记录缺陷

    ②缺陷分类

    ③缺陷跟踪

    39)缺陷报告的生命周期(处理流程)

    激活、待确认、已解决、待确认、重新激活、已关闭

    40)缺陷报告内容

    三部分:基本信息、缺陷主体、跟踪记录

    ①基本信息:编号、版本号、软件名称、编译号、测试人员、日期、指定处理人、硬件平台、操作系统、严重程度、优先级

    ②缺陷主体:缺陷概述、预置条件、详细描述、预期结果、实际结果

    ③跟踪记录:处理报告、处理日期、修改记录、返测人、返测版本、返测日期、返测记录

    OSI网络7层协议

    物理层

    数据链路层

    网络层

    会话层

    传输层

    表示层

    应用层

     

    TCP/IP协议的四层分类

    APP的兼容性测试包含哪些?

    浏览器

    系统

    分辨率

    网络
———————
作者:Johnny_Timmy
来源:CSDN
原文:https://blog.csdn.net/Johnny_Timmy/article/details/80496061
版权声明:本文为博主原创文章,转载请附上博文链接!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/234160.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号