测试基础知识考试题目(答案)

1. 请介绍一下软件测试流程

软件测试的基本流程为:

  1. 需求分析:需求分析和评审就是分析客户的需求可不可行,需要怎么进行测试。
  2. 编写测试计划:编写测试计划测试人员要测试哪些模块.在什么期限内,提交哪些文档。
  3. 编写测试用例:测试用例就是指导测试的文档。
  4. 执行测试:提交bug,回归测试。
  5. 编写测试总结报告。

2. 如何编写测试用例?

  1. 测试计划

首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相 应的测试需求报告,即制订黑盒测试的最高标准,以后所有的测试工作都将 围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不 合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测 试资源等。

  1. 测试设计

将测试计划阶段制订的测试需求分解、细化为若干个可执行的测试过程,并 为每个测试过程选择适当的测试用例(测试用例选择的好坏将直接影响到测 试结果的有效性)。

  1. 测试开发

建立可重复使用的自动测试过程。

  1. 测试执行

执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理。测试执行一般由单元测试、组合测试、集成测试、系统联调及回归测试等步 骤组成,测试人员应本着科学负责的态度,一步一个脚印地进行测试。

  1. 测试评估

结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的 工作进度及工作效率进行综合评价。

3. 如何编写一个缺陷?

可以参考以下文章,我绝对写得挺好的
如何写一个好的缺陷(Defect)报告

4. 请写出一个标准的缺陷跟踪处理过程

在执行用例的过程中发现了跟预期实际不符的情况,就提交缺陷,跟踪缺陷修改,跟踪缺陷流程主要有四个(一个正常的修改结束的流程,三个特殊处理流程)

  1. 新建 – 开启 – 修改 – 关闭 提交缺陷后开发人员确认修改后回归通过;

  2. 新建 – 拒绝 开发人员未确认缺陷拒绝修改,这个时候需要在确认需求理解正确(跟产品确认)和复现步骤(多次复现)的基础上, 跟开发人员沟通是否需要修改;

  3. 新建 – 开启 – 修改 – 重开 修改后提交的版本回归不通过,这是需要重新打开缺陷,为了加快缺陷正确修改,可以跟开发人员沟通,协助开发人员定位缺陷;

  4. 新建 – 开启 – 延期 部分开启的缺陷,由于无法复现, 难以修改,进度压力等原因,可能需要延期修改,这个时候,是否延期,是需要多方确认的(测试、产品、开发、领导)

5. 研发和测试有什么不可调和的矛盾?

  1. 提交的缺陷开发人员不认
  2. 提交了一个真的BUG,开发不做修改或者长时间未处理
  3. 若讲明之后还有争议,叫产品经理(需求人员)一起对该BUG进行处理,让产品经理给该BUG的处理方式;

6. 你所熟悉的测试用例设计方法有哪些?

  1. 等价类划分法

顾名思义,顾名思义,等价类划分,就是将测试的范围划分成几个互不相交的子集,他们的并集是全集,从每个子集选出若干个有代表性的值作为测试用例。

  1. 边界值分析法

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

  1. 错误推测

错误推测法是指:在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。
这种方法没有固定的形式,依靠的是经验和直觉,很多时候,我们都会不知不觉的使用到。

  1. 判定表法

又称为策略表,基于策略表的测试,是功能测试中最严密的测试方法。该方法适合于逻辑判断复杂的场景,通过穷举条件获得结果,对结果再进行优化合并,会得到一个判断清晰的策略表。

扩展资料:

功能测试方法还有很多,例如因果图法,状态转换测试法等,他们都略为复杂,像正交实验法一样,有各自的一套东西,不过本质都是通过画图,让我们更好的思考,最后转化成判定表。
实际上常用的是前面五种方法,包括:等价类划分法、边界值分析法、错误推测法、判定表法、正交实验法。
等价类划分法划分标准:

  1. 完备测试、避免冗余
  2. 划分等价类重要的是:集合的划分、划分为互不相交的一组子集,而子集的并是整个集合
  3. 并是整个集合:备性
  4. 子集互不相交:保证一种形式的无冗余性

7. 软件测试的原则

  1. 测试是上下文相关的,
  2. 不可穷尽测试;
  3. 测试应尽早介入;
  4. 杀虫剂悖论;
  5. 缺陷集群性(二八原则);
  6. 测试证明存在缺陷;
  7. 无错谬误;

8. 软件生命周期以及测试工程师在其中承担的具体工作?

  • 软件的生命周期
    软件生命周期(SDLC)是软件开始研制到最终被废弃不用所经历的各个阶段。在不同阶段里,由不同的组织、个人和资源进行着明确的任务。

详细请看下面的文章

熟悉软件的生命周期AND测试工程师的工作流程

9. 什么是软件测试,以及目的是什么?

  • 什么是软件测试?

    1. 软件测试(Software Testing),其经典定义或是标准定义:在规定的条件下对程序进行操作,以发现程序错误。

    2. 通俗来讲,就是通过“人工”或“自动化”的手段,来测试某个程序或系统,进而检验其是否满足规定的需求或是弄清预期结果与实际结果之间的差别。

  • 软件测试的目的是什么?

    软件测试吗,对吧,其最直观的目的肯定是通过对软件系统或程序的测试,发现其中的错误。

    软件测试的目的具体如下:

    ① 验证软件需求和功能是否得到了完整的实现

    ② 尽可能早的发现软件中的bug

    ③ 尽可能多的发现软件中的bug

    ④ 验证软件是否可以发布

    ⑤ 对软件的质量、性能、效率做出合理的评估

    ⑥ 预防用户使用可能出现的问题

    ⑦ 预防下个版本可能出现的问题

10. 验收测试包括哪些内容?

  1. 软件产品规格说明书的审核

    从客户的角度和立场进行审核工作。检验套用标准的正确性,不要和行业规范相抵触。审查、研究同类产品。验证产品规格说明书的完整性、准确性、一致性、合理性等特性。

  2. 软件产品规格说明书的验证

    (1)已经实现的特性标识为通过;

    (2)特性没有实现,报告bug并在报告中体现;

    (3)特性基本实现,但与产品说明书内容不一致,报bug并在报告中体现;

    (4)特性基本实现,但存在一些问题或错误。

  3. 用户界面和可用性测试

    • 用户界面的7个要素:符合标准和规范、直观性、一致性、灵活性、舒适性、正确性、实用性;

    • 易用性测试没有具体量化的指标,主观性较强。

  4. 兼容性测试

    • 软件兼容性测试是指验证软件之间是否正确地交互和共享信息;

    • 兼容性包括:硬件兼容、软件之间兼容、数据之间兼容。

  5. 可安装性和可恢复性测试

    可安装性测试:系统软件安装、应用软件安装、服务器的安装、客户端的安装、产品升级安装等等。

    可恢复性测试:恢复测试主要检查系统的容错能力。当系统出错时,能否在规定时间间隔内修正错误或重启系统。恢复测试首先要通过各种手段,让软件强制性地触发故障(BUG),然后验证系统是否能尽快恢复。

  6. 文档测试

    软件文档已成为软件的一个重要组成部分,而且种类很多,对文档的测试也变得必不可少。

11. 你了解哪些测试类型,并简要说明一下?

按测试策略分类

  1. 静态与动态测试
  2. 黑盒与白盒测试
  3. 手工和自动测试
  4. 冒烟测试
  5. 回归测试;

按测试阶段分类:单元测试、集成测试、系统测试;

12. 软件测试分为哪几个主要阶段,并简要谈谈各阶段的测试内容及方法?

单元测试:单元测试是针对软件设计的最小单位––程序模块甚至代码段进行正确性检验的测试工作,通常由开发人员进行。

集成测试:集成测试是将模块按照设计要求组装起来进行测试,主要目的是发现与接口有关的问题。由于在产品提交到测试部门前,产品开发小组都要进行联合调试,因此在大部分企业中集成测试是由开发人员来完成的。

系统测试:系统测试是在集成测试通过后进行的,目的是充分运行系统,验证各子系统是否都能正常工作并完成设计的要求。它主要由测试部门进行,是测试部门最大最重要的一个测试,对产品的质量有重大的影响。

验收测试:验收测试以需求阶段的《需求规格说明书》为验收标准,测试时要求模拟实际用户的运行环境。对于实际项目可以和客户共同进行,对于产品来说就是最后一次的系统测试。测试内容为对功能模块的全面测试,尤其要进行文档测试

13. 您发现了一个软件缺陷,但开发人员就是不改程序,您如何处理

14. 什么是黑盒测试和白盒测试,以及两者的不同(请不要只回答概念,请举例不同)

一、测试方式不同

  1. 黑盒测试:功能测试,是通过测试来检测每个功能是否都能正常使用。

  2. 白盒测试:称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。

二、测试目的不同

  1. 黑盒测试:把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
  2. 白盒测试:通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试。在程序不同地方设立检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。

在这里插入图片描述

三、测试原则不同

  1. 黑盒测试:以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。

  2. 白盒测试:一个模块中的所有独立路径至少被测试一次。所有逻辑值均需测试true和false两种情况。

15. 什么是回归测试?以及回归测试的目的和策略?

回归测试(Regreesion Testing)

回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。自动回归测试将大幅降低系统测试、维护升级等阶段的成本。

目的: 验证缺陷得到了正确的修复,同时对系统的变更,没有影响以前的功能

策略:
  1) 完全重复测试
  重新执行所有在前期测试阶段建立的测试用例,来确认问题修改的正确性和修改的扩散局部影响性
  2) 选择性重复测试
  即有选择地,重新执行部分在前期测试阶段建立的测试用例,来测试被修改的程序
    a) 覆盖修改法
    即针对被修改的部分,选取或重新构造测试用例验证没有错误再次发生的用例选择方法
    b)周边影响法
    该方法不但包含覆盖修改法确定的测试用例,还需要分析修改的扩散影响,对哪些收到修改间接影响的部分选择测试用例验证它没有受到不良影响,该方法比覆盖修改法更充分一点.
    c)指标达成法
    这是一种类似于单元测试的方法,在重新执行测试前,先确定一个要达成的指标,如修改的部分代码,100%的覆盖,与修改有关的接口 60%的覆盖等,基于这种要求选择一个最小的测试用例集合

16. 如何测试一个水杯?

  • 功能测试

    1. 能否装水;

    2. 能否盛放开水;

    3. 能否盛放冰水;

    4. 能否盛放其他液体饮品:如碳酸饮料、酒精饮料、果汁、牛奶等;

    5. 能盛放多少液体;

    6. 能否放进冰箱、微波炉;

    7. 能否粗略计量液体;

    8. 是否配备滤网、搅拌匙;

    9. 能否使用明火加热;

    10. 使用了何种材质;

  • 界面测试

    1. 杯子大小、形状是否符合设计图;

    2. 杯子的重量;

    3. 杯子外观是否符合相关法规和大众审美;

    4. 杯子图案是否合理;

    5. 杯子图案是否容易变色、脱色;

    6. 杯子有哪些颜色;

    7. 是否具有细小装饰物;

  • 性能测试

    1. 能否盛放有腐蚀性、有毒性的液体;

    2. 能否保温,能保温多久;

    3. 装水一定时间后是否会漏水、渗水;

    4. 能否反复使用多久;

    5. 在反复交替浸泡开水和冰水情况下,能使用多久;

    6. 杯盖拧紧后是否会漏水,能够反复拧多少次;

    7. 若有滤网,能够过滤多大物体;

    8. 若配有搅拌匙,搅拌匙能否将杯中液体充分搅拌;

    9. 杯体装饰、图案是否能够耐受高温、低温、腐蚀等极端情况;

    10. 杯子能够承受多大的压力、拉力;

    11. 在什么高度掉落安然无恙;

    12. 在什么高度掉落会有损坏但仍可使用;

    13. 是否方便饮用杯中饮品;

    14. 是否方便清洗;

  • 安全性测试

    1. 制作材料是否安全无毒;

    2. 是否容易滋生细菌;

    3. 是否杯体是否平滑、无缺口、无裂痕;

    4. 杯子材料接触各类可饮用液体时是否依然安全无毒、不生成有害物质;

    5. 杯子摔碎时,是否飞溅碎片;

    6. 杯子在接触高温、低温、高压、低压、腐蚀性等环境时能否保持完好;

    7. 是否防滑;

    8. 是否隔热,隔热性如何;

    9. 清洗时,洗涤用品残留量是否合格;

  • 可用性测试

    1. 杯子是否容易烫手

    2. 杯子是否好端,好拿

    3. 杯子的水是否容易喝到

    4. 杯子是否有防滑措施

猜你喜欢

转载自blog.csdn.net/weixin_45908488/article/details/124005923