软件测试面试题(一)
前言
该篇是对软件测试基础知识的考核,注重对基础的理解和掌握
1.软件测试的定义
在规定的条件下对程序进行操作,以发现错误;也是对软件质量进行评估的一个过程。
2.软件测试的目的
检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别
1. 发现软件的缺陷和错误
2. 保证软件的质量,确保能够满足用户以及产品的需求
软件测试的目的是为了找bug,而不是验证软件没有bug
3.软件测试的对象
源程序、目标程序、数据及相关文档
4.软件测试的原则
1. 只能证明存在缺陷,不能证明不存在缺陷
2. 不能进行穷尽测试,要有测试停止的标准
3. 测试应当尽早介入,问题发现修复成本低
4. 测试存在集群现象,二八原则能够体现出
5. 测试依赖测试环境,要模拟用户使用场景
6. 测试的杀虫剂新鲜,可交换执行测试工作
7. 不存在缺陷是谬论,软件缺陷不可能没有
8. 扩展: 保存好测试文档和数据;一定要有测试计划和测试总结报告;测试工作应在专业测试人员指导下进行
5.测试停止的标准
1.测试超过预定时间
2.执行完了所有用例没有发现新的bug
3.单位时间内查出的bug数低于预定值
4.查出一定预定数量的bug
6.测试计划和测试报告的概念
1. 测试计划:规划测试工作时间进度资源的文件,包括工作量的估算、测试资源和进度安排、测试风险评估、测试策略制定等工作。
2. 测试报告:对测试工作的总结性文档
7.测试方法分类
按测试方法:黑盒测试、白盒测试、灰盒测试
按测试方向:功能测试、性能测试、安全测试、兼容性测试、UI/界面测试、易用性测试、稳定定测试
按阶段分类:单元测试、集成测试、系统测试、验收测试
验收测试:
● α测试
○ 是内版测试
○ 通常只在软件开发者内部交流
○ 一般而言,该版本软件的bug较多,普通用户最好不要安装
● β测试
○ 是公测版本,是对所有用户开放的测试版本
○ 通过一些专业爱好者的测试,将结果反馈给开发者,开发者们再进行有针对性的修改
● γ测试
○ 指的是软件版本正式发行的候选版。该版本已经相当成熟,与即将发行的正式版相差无几,成为正式版发布的候选版本
8.黑盒测试
黑盒测试又称为功能测试,主要检测软件的每一个功能是否能够正常使用。在测试过程中,将程序看成不能打开的黑盒子,不考虑程序内部结构和特性的基础上通过程序接口进行测试,检查程序功能是否按照设计需求以及说明书的规定能够正常打开使用。
9.白盒测试
指的是对源代码和程序结构的测试
10.灰盒测试
灰盒测试,是介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。
11.冒烟测试
冒烟测试就是对系统进行最基本功能的测试,保证基本的功能和流程能走通
12.回归测试
当修复一个BUG后,把之前的测试用例在新的代码下进行再次测试
13.随机测试
随机测试主要是对被测软件的一些重要功能进行复测,也包括测试那些当前的测试用例没有覆盖到的部分
14.探索性测试
探索性测试意味着同时设计测试和执行测试。测试人员通过测试来不断学习被测系统
15.软件质量模型
1. 功能性:功能的正确性 、功能的安全性 、功能的依从性
2. 可靠性:软件要有容错性、出现错误后可以很快恢复
3. 易用性:软件界面是否流程、提示是否友好、用户使用功能是否得当
4. 效率:软件一定是要高效的
5. 可维护性 :当一个软件投入运行应用后,需求发生变化、环境改变或软件发生错误时,进行相应修改所做努力的程度
6. 可移植性:适应不同的系统
16.测试用例评审的目的
1. 找到测试用例遗漏的测试场景,提升用例的覆盖度。
2. 找到测试用例写的不正确的地方,比如说预期结果写错了,测试点描述错误等。
3. 产品、开发阐述我们对需求的理解,如果理解不一致,可以提前发现,避免在转测试后才发现,降低修改的成本。
17.缺陷等级划分
一级:致命缺陷,使整个系统失效/不能运行/性能严重偏离
二级:严重缺陷,不会引起项目运行失败或对项目造成重大不良影响
三级:一般缺陷,不影响系统的正常使用,属于编程规范性错误
建议:建议类问题和程序优化类问题
疑问:不确定的问题
18.软件测试的工作内容
1. 需求分析
2. 检视代码,评审开发文档
3. 测试设计(测试文档、方案、用例、执行流程、输出管理、测试控制)
4. 测试执行,缺陷跟踪
5. 度量软件质量
。。。
19.软件缺陷的定义
1)从产品内部看,软件缺陷是软件产品开发或维护过程中所存在的错误、毛病等各种问题
2)从外部看,软件缺陷是系统所需要实现的某种功能的失效或违背
20.软件评审的目的
通过软件评审尽早地发现产品中的缺陷,还可以将问题记录下来,使其具有可追溯性。找出问题产生的根本原因,在将来的项目开发中进一步减少缺陷,有利于软件质量的提高。
21.对于软件测试,需要的软件评审有
需求评审:审查其是否完整、正确、清晰
设计评审
代码评审
文档评审
22.测试用例
测试用例是为了特定的测试目的而设计的测试条件、测试数据及与之相关的测试规程的一个特定的使用实例或场景。测试用例也可以被称为有效地发现软件缺陷的最小测试执行单元。
23.软件测试人员的职责
1)尽早地、尽可能地发现软件程序、系统或产品中的问题,并督促开发人员尽早地解决程序中的缺陷
2)能够全面、客观地评估软件质量,即使提供项目的当前质量状态
3)持续地提供软件产品和效率的反馈,暴露产品质量风险,引导团队关注质量
4)最质量工作的质量和效率负责,称为测试工作的负责人
5)成为测试专家,不断改进测试方法,提高测试效率,并能够指导开发人员或其他人员做好测试
6)对缺陷进行根本原因分析,抽象出缺陷模式,帮助团队做好缺陷预防
7)帮助团队建立质量保证体系,如督促编程规范的建立和实施
23.优秀的测试工程师应具备的素质
1. 责任感
2. 沟通能力
3. 技术能力
4. 自信心
5. 耐心
6. 怀疑精神
7. 适度的好奇心
8. 洞察力
9. 反向思维和发散思维能力
10. 记忆力

浙公网安备 33010602011771号