软件测试面试题——测试基础

01

软件测试的流程是什么?(测试流程)

(1)需求调查:全面了解系统概况、应用领域、软件开发周期、软件开发环境、开发组织、时间安排、功能需求、性能需求、质量需求及测试要求等。根据系统概况进行项目所需的人员、时间和工作量估计以及项目报价。

(2)制定初步的项目计划。

(3)测试准备:组织测试团队、培训、建立测试和管理环境等。

(4)测试设计:按照测试要求进行每个测试项的测试设计,包括测试用例的设计和测试脚本的开发等。

(5)测试实施:按照测试计划实施测试。

(6)测试评估:根据测试的结果,出具测试评估报告。

02

软件测试标准工作流程?(测试流程)

答案1:测试需求澄清;制定测试计划,任务分工明确;制定模块测试方案;编写测试用例;测试用例评审;测试环境测试数据准备;执行测试用例;缺陷提交跟踪闭环,交付功能稳定时在此阶段可进行性能、安全、易用性、兼容性等测试;输出测试报告,用户操作手册;产品或实施团队验收、用户验收;上线交付

答案2:获取测试需求;编写测试计划;指定测试方案;设计测试用例;执行测试;提交缺陷报告;测试分析与评审;提交测试总结

03

请回答以下测试的相关流程是什么?

需求测试—>概要设计测试—>详细设计测试—>单元测试—>集成测试—>系统测试—>验收测试

04

软件计划工作的目的是什么?工作的内容都包括什么?

(1)软件测试计划工作的目的是:知道测试过程的纲领性文件,包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅流通,跟踪和控制测试进度,应对测试过程中的各种变更。

(2)测试计划工作的内容从宏观上来说是规划测试活动的范围、方法和配置资源;从具体战术上是测试详细规格、测试用例

(3)最重要的是测试策略和测试方法(最好能先评审)。

05

测试计划编写6要素(5W1H)

why—为什么要进行这些测试;

what—测试哪些方面,不同阶段的工作内容;

when—测试不同阶段的起止时间;

where—相应文档,缺陷的存放位置,测试环境等;

who—项目有关人员组成,安排哪些测试人员进行测试;

how—如何去做,使用哪些测试工具以及测试方法进行测试

06

做好测试,要注意以下几点?

(1)熟悉需求。要将需求的每一个细节都熟悉到,才能够确保测试用例覆盖的全面。

(2)绘制脑图。要将分析好的需求,绘制成测试的思路图,条理清晰,方便测试。

(3)编写用例。根据分析好的需求,结合思维导图,编写测试用例。要充分测试每一个功能点,使用“等类价、边界值”等多种测试方法。

(4)跟踪bug。时刻跟进bug的修改进度。及时验证已经修复的bug。

(5)总结测试过程和遇到的问题,找到解决问题的方法,提升测试水平。

07

根据你的经验说说你对软件测试/质量保证的理解?

软件质量测试保证与测试是根据软件开发阶段的规格说明和程序的内部而精心设计的一批测试用例(即输入数据和预期的输出结果),并根据这些测试用例去运行程序,以发现错误的过程。它是对应用程序的各个方面进行测试以检查其功能、语言有效性及外观排布。

08

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

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

在这种做法的基础上,把软件当成了产品说明书,测试过程中要和开发人员不断的进行交流。尤其在做项目的时候,进度压力比较大,可以作为加急测试方案。最大的风险是不知道有些特性是否被遗漏。

09

软件产品质量特性是什么?

(1)功能性:功能完备性、功能正确性、功能适用性、功能性的依从性

(2)性能效率:时间特性、资源利用率、容量、性能效率的依从性

(3)兼容性:共存性、互操作性、兼容性的依从性

(4)易用性:可辨识性、易学性、易操作性、用户差错防御性、用户界面舒适性、易访问性、易用性的依从性

(5)可靠性:成熟型、可用性、容错性、易恢复性、可靠性的依从性

(6)信息安全性:保密性、完整性、抗抵赖性、可核查性、真实性、信息安全性的依从性

(7)维护性:模块化、易安装性、易替换性、可移植性的依从性

10

黑盒测试需要哪些技术和工具?

黑盒测试技术一般指设计测试案例技术,测试阶段,测试案例设计方面有常见的等价类,边界值,因果图,错误猜想,正交试验,容错,易用性,兼容性测试等;

工具有qc,数据库,ftp,fiddler,jira,jemeter等;测试阶段单元测试,集成测试,系统测试,回归测试,验收测试,上线后的试运行

11

发现的缺陷越多,说明软件缺陷就多么?

这是一个比较常见的现象。测试工程师在没有找到缺陷前会绞尽脑汁的思考,但是找到一个后,会接二连三的发现很多缺陷,颇有个人成就感。其中的原因主要如下:

(1)代码复用、拷贝代码导致程序员容易犯相同的错误。类的继承导致所有的子类会包含基类的错误,反诬拷贝同一代码意味可能也复制了缺陷。

(2)程序员比较劳累是可以导致某些连续编写的功能缺陷,程序员加班是一种司空见惯的现象,因此体力不只是容易编写一些缺陷较多的程序,而这些连续潜伏缺陷恰恰是测试工程师大显身手的地方。

(3)“缺陷一个连着一个”不是一个客观规律,只是一个常见的现象。如果软件编写的比较好,这种现象就不常见了。测试人员只要严肃认真的测试程序就可以了。

12

软件产品质量特性是什么?

软件产品的质量特性有8个,分别为:

(1)功能性:功能完备性、功能正确性、功能适用性、功能性的依从性

(2)性能效率:时间特性、资源利用率、容量、性能效率的依从性

(3)兼容性:共存性、互操作性、兼容性的依从性

(4)易用性:可辨识性、易学性、易操作性、用户差错防御性、用户界面舒适性、易访问性、易用性的依从性

(5)可靠性:成熟型、可用性、容错性、易恢复性、可靠性的依从性

(6)信息安全性:保密性、完整性、抗抵赖性、可核查性、真实性、信息安全性的依从性

(7)维护性:模块化、易安装性、易替换性、可移植性的依从性

13

软件测试有哪些分类?(三种划分方式)

按照不同的划分方式,有不同的分类。

(1)按照开发阶段划分:

软件测试可分为:单元测试、集成测试、系统测试、确认测试和验收测试

(2)按照测试实施组织划分:

软件测试可分为开发方测试、用户测试、第三方测试。

(3)按照测试技术划分:软件测试可分为:白盒测试、黑盒测试、灰盒测试

也可划分为静态测试和动态测试

14

你觉得怎么才能最大限度地保证软件质量?

测试并不能够最大限度的保证软件的质量,软件的高质量是开发和设计出来的,而不是测试出来的,它不仅要通过对软件开发流程的监控,使得软件开发的各个阶段都要按照指定的规程进行,通过对各个阶段产物的评审,QA对流程的监控,对功能及配置的审计来达到开发的最优化。当然测试也是保证软件质量的一个重要方式,是软件质量保证工程的一个重要组成部分。

15

你在测试中发现一个bug,但开发经理认为这不是bug,你该怎么办

首先,将问题提交到缺陷管理库进行备案

然后,要获取判断的依据和标准:(1)根据需求说明书,产品说明、设计文档等,确认实际结果是否与计划又不一致的地方,提供缺陷是确认的直接依据;(2)如果没有文档依据,根据类似软件的一般特性来说明是否存在不一致的地方,来确认是否是缺陷;(3)根据用户的一般使用习惯,来确认是否是缺陷;(4)与设计人员,开发人员和客户代表等相关人员探讨,确认是否是缺陷;

继而,合理论述,客观严谨的向测试经理说明自己的判断理由

最后,等待测试经历做出最终的决定,如果仍然存在争议,可以向公司政策所提供的渠道,向上级反映,并由上级作出决定。

16

描述测试人员在每个软件生命周期中所负责的?

需求分析阶段:测试需要了解项目是干什么的、业务是什么?功能都有哪些?充分了解后有助于书写测试用例覆盖完整,评估测试工作范围提前安排;

概要设计阶段:测试需要了解软件的实现架构\原理,方便测试深入及定位问题

开发计划:测试需要掌握开发的计划,以便于书写测试的计划。评估测试的时间、风险,以达到上线的时间要求;

编码:编码阶段研发提测可能会分阶段提交,测试就可以介入进行集成测试;

提测:正式提测后,需要进行系统测试工作;

上线:上线后不算结束,测试需要进行线上跟踪测试,以防不可预知的问题出现。

17

测试分工有什么好处?

测试分工能避免人员思维局限性,同样一个案例,由不同人来执行,可能发现不同的问题,因为不同测试人员思维方式、能力、经验不一样,因此合理分工、交叉测试能避免遗漏Bug

18

进入正式测试前要做什么?

应该先进行冒烟测试,冒烟测试通过后才能进入正式测试,提前准备好数据和搭建好测试环境

19

回归测试要注意哪些问题?

回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误,因此首先要意识到回归测试的必要性,不要麻痹大意。而且回归测试假如时间非常紧,我们需要注意选择最合适的测试用例执行回归。

20

什么是敏捷测试?或者叫迭代测试?

敏捷、渐进、迭代测试就是说项目为了快速上线供客户使用,先出一个基础版本,再在

这个版本基础的上不断的进行迭代开发、测试、上线。我们公司基本上一个月有两个版本。

(0)

相关推荐

  • 测试理论

    常见英文单词一 工作中经常遇到的单词: bug(漏洞) percent(百分比) release(发布) test UAT(验收测试) build(构建)code 代码 list清单 deploy(发 ...

  • 软件测试设计技术概述

    对于咱们测试人员来说,日常的测试工作主要分以下几块:需求澄清.用例设计.用例执行和最后的质量评估. 其中最关键的部分就是用例设计,因为一个好的用例设计是区分高级测试和初级测试的分水岭,好的用例有助于快 ...

  • ​软件测试的工作流程是怎样的?

    软件测试是个复杂的过程,其涉及着大量的人员安排.资源准备.工作活动分配.工作活动实施.工作进度监控等.稍有疏漏就会影响测试工作的开展,进而影响到整个项目进度和产品质量的检测.那真正规范的测试流程到底是 ...

  • 软件测试可以带来哪些好处?

    提到软件测试,我们首先想到的是它能够验证软件的需求和功能是否满足,能够确认软件是否满足验收标准. 实际上,软件测试所能带来的好处远不止这些. 软件测试可以帮助我们是达成以下目的: 验证软件需求和功能是 ...

  • 共同学习下软件测试的流程

    近想从头回顾下软件测试,巩固下,从而更加有利于工作. 1.软件的周期 指的是从软件开始开发研制到最终废弃不用,所经历的各个阶段. 2.软件生命周期模型 2.1 瀑布型生命周期:--适用于非常大型的项目 ...

  • 面向对象软件测试与传统测试的不同之处

    由于面向对象技术具有封装.继承.多态等新的特性,带来了传统程序设计所不存在的错误,导致原来行之有效的软件测试技术对面向对象技术开发的软件有些力不从心. 面向对象软件测试与传统软件测试有以下不同: 测试 ...

  • 全网最全软件测试面试题含答案(性能测试 功能测试 接口测试 自动化测试)

    前言 因为篇幅有限,截图不代表所有资料,图中的资料我都放在公众号[程序员阿信]里面了,回复66就可以领取了. 性能测试方面 简述性能测试流程? 1.分析性能需求. 2.制定性能测试计划. 3.编写测试 ...

  • 软件测试面试题(面试前准备篇)

    目录 一.问题预测 1.让简单介绍下自己(每次面试开场) 2.让说下自己会的内容 3.看了哪些书籍(有问到) 4.了解过哪些技术博客/论坛(有问到) 5.是否了解软件测试需要掌握哪些知识(问到类似问题 ...

  • Java校招笔试题-Java基础部分(三)

    导语   Java 面试题集2021版 Java基础部分三 26.说说has a 与is a的区别   is-a表示的是属于的关系,也就是说马是属于动物的一种表示的是一种继承的关系.   has-a ...

  • 原创精卷:五语(下)第二单居家自学测试基础卷(2020版)

    相约荷香芬芳,浸润美文馨香 五语(下)第二单元居家自学测试基础卷 部编五语(下)第二单元居家自学测试基础卷(学生版)  时间:100分钟  命题:司徒青云 题号 一 22 二 10 三 8 四 11 ...

  • 少儿童儿科普知识问答105竞赛竞答试题测试含答案解析.doc

    PAGE \* MERGEFORMAT 8 少儿科普知识问答105竞赛试题含答案 1.为什么先看见闪电后听到雷声?(光波在空气中的传播速度比声速快) 2.中国第一个奥运会冠军是谁?(许海峰) 3.眼镜 ...

  • 20个软件测试面试题(上)

    20个软件测试面试题(上)

  • 20个软件测试面试题(下)

    20个软件测试面试题(下)

  • 中考道法过关检测题(考前基础测试第二关)

    过关检测(考前基础测试第二关) 1.友谊的作用: 2.新型的师生关系: 3.中华文化的影响:  4.合作的重要性(作用):  5.我们进行社会交往的基本要求:  6.我们在竞争中必须遵守的基本准则:  ...