软件测试常考面试题-软件测试面试宝典一篇全(11)

简介: 软件测试常考面试题-软件测试面试宝典一篇全(11)

三、请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收 测试的

区别与联系。

黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要

求。

白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规

格要求,所有内部成分是否以经过检查。

软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看做一个黑

盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,

检查程序的功能是否符合它的功能说明。因此黑盒测试又叫功能测试或数据驱动测试。黑盒

测试主要是为了发现以下几类错误:

1、是否有不正确或遗漏的功能?

2、在接口上,输入是否能正确的接受?能否输出正确的结果?

3、是否有数据结构错误或外部信息(例如数据文件)访问错误?

4、性能上是否能够满足要求?

5、是否有初始化或终止性错误?

软件的白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看做一个

打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,

对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状

态一致。因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行

如下检查:

1、对程序模块的所有独立的执行路径至少测试一遍。

2、对所有的逻辑判定,取“真”与取“假”的两种情况都能至少测一遍。

3、在循环的边界和运行的界限内执行循环体。

4、测试内部数据结构的有效性,等等。

单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、

很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下

某个特定函数的行为。

单元测试是由程序员自己来完成,最终受益的也是程序员自己。可以这么说,程序员有

责任编写功能代码,同时也就有责任为自己的代码编写单元测试。执行单元测试,就是为了

证明这段代码的行为和我们期望的一致。

集成测试(也叫组装测试,联合测试)是单元测试的逻辑扩展。它的最简单的形式是:

两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。从这一层意义上讲,组

件是指多个单元的集成聚合。在现实方案中,许多单元组合成组件,而这些组件又聚合成程

序的更大部分。方法是测试片段的组合,并最终扩展进程,将您的模块与其他组的模块一起

测试。最后,将构成进程的所有模块一起测试。

系统测试是将经过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能

提供系统方案说明书中指定功能的有效方法。(常见的联调测试)

系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并

且遵循系统设计。

验收测试是部署软件之前的最后一个测试操作。验收测试的目的是确保软件准备就绪,

并且可以让最终用户将其用于执行软件的既定功能和任务。

验收测试是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计

把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步

验证软件的有效性,这就是验收测试的任务,即软件的功能和性能如同用户所合理期待的那



样。




四、当开发人员说不是 G BUG  时,你如何应付?

开发人员说不是 bug,有 2 种情况,一是需求没有确定,所以我可以这么做,这个时候

可以找来产品经理进行确认,需不需要改动,3 方商量确定好后再看要不要改。二是这种情

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

如果被用户发现或出了问题,会有什么不良结果?程序员可能会给你很多理由,你可以对他

的解释进行反驳。如果还是不行,那我可以给这个问题提出来,跟开发经理和测试经理进行

确认,如果要修改就改,如果不要修改就不改。其实有些真的不是 bug,我也只是建议的方式

写进 TD 中,如果开发人员不修改也没有大问题。如果确定是 bug 的话,一定要坚持自己的



立场,让问题得到最后的确认。




五、为什么要在一个团队中开展软件测试工作?

因为没有经过测试的软件很难在发布之前知道该软件的质量,就好比 ISO 质量认证一样,测

试同样也需要质量的保证,这个时候就需要在团队中开展软件测试的工作。在测试的过程发

现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出

软件的质量情况。

六、如果有机会转成开发人员,你会去做开发工作吗?

如果公司确实需要我可以从事开发,但我还是喜欢做测试,我认为我更适合做测试。


八 、一份测试计划应该包括哪些内容?

背景、项目简介、目的、测试范围、测试策略、人员分工、资源要求、进度计划、参考文档、



常用术语、提交文档、风险分析。




九、针对于软件的行业背景,你如何理解软件的业务?

阅读用户手册了解软件的功能和操作流程;

看一些业务的专业书籍补充业务知识;

如果有用户实际的数据,可以拿实际的数据进行参考;

参考以前的用例和 BUG 报告;

在使用软件的过程中多思考;



多与产品经理交流。




十、测试用例应包括哪些内容?

编号、模块名称、编写人、日期、操作说明、输入数据、预期结果等。

如何定位测试用例 的作用?

组织性:编写、组织性、功能覆盖、重复性、跟踪、测试确认

测试过程中什么是最重要的?

需求、计划。

什么是兼容性测试?请举例说明如何利用兼容性测试列表进行测试。

主要验证软件产品在不同版本之间的兼容性。包括向下兼容和交错兼容,向下兼容是测试软

件新版本保留它早期版本功能的情况,交错兼容是验证共同存在的两个相关但不相同的产品

之间的兼容性。

对某软件进行测试,发现在 8 WIN98  上运行得很慢,怎么判别是该软件存在问题还是其软硬

件运行环境存在问题?

看软件的运行环境要求。如果符合要求则是程序存在问题,若不符合要求则是硬件系统存在

问题


相关文章
|
10月前
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
396 11
|
11月前
|
测试技术
软件测试的艺术:探索式测试的实践与思考
在软件开发的广阔海洋中,测试是确保航船稳健行驶的关键。本文将带你领略探索式测试的魅力,一种结合创造性思维和严格方法论的测试方式。我们将一起揭开探索式测试的神秘面纱,了解其核心概念、实施步骤和带来的效益。通过实际代码示例,你将学会如何将探索式测试融入日常的软件质量保证流程中,提升测试效率与质量。
|
10月前
|
测试技术 持续交付
探索软件测试中的自动化测试策略
随着软件开发周期的加速和市场需求的不断增长,传统的手动软件测试方法已难以满足现代软件开发的高效性和准确性要求。本文旨在探讨自动化测试在软件测试中的重要性、实施策略及其对提高软件质量的影响。通过分析自动化测试的优势与挑战,以及提供实用的自动化测试工具和框架选择指南,旨在帮助读者理解并应用自动化测试以提升软件开发效率和产品质量。
|
10月前
|
机器学习/深度学习 人工智能 监控
软件测试中的自动化测试策略与最佳实践##
在当今快速发展的软件行业中,自动化测试已成为确保软件质量和加速产品上市的关键工具。本文将探讨自动化测试的重要性,分析不同类型的自动化测试工具和框架,并深入讨论实施自动化测试的最佳实践。通过案例研究和数据分析,我们将揭示如何有效整合自动化测试到软件开发生命周期中,以及它如何帮助团队提高测试效率和覆盖率。 ##
166 1
|
11月前
|
机器学习/深度学习 前端开发 测试技术
探索软件测试中的自动化测试框架选择与优化策略####
本文深入探讨了在当前软件开发生命周期中,自动化测试框架的选择对于提升测试效率、保障产品质量的重要性。通过分析市场上主流的自动化测试工具,如Selenium、Appium、Jest等,结合具体项目需求,提出了一套系统化的选型与优化策略。文章首先概述了自动化测试的基本原理及其在现代软件开发中的角色变迁,随后详细对比了各主流框架的功能特点、适用场景及优缺点,最后基于实际案例,阐述了如何根据项目特性量身定制自动化测试解决方案,并给出了持续集成/持续部署(CI/CD)环境下的最佳实践建议。 --- ####
|
7月前
|
网络协议 Shell 网络安全
面试官想听的不仅是命令——如何结构化回答“容器无Shell时如何测试外网”?
“说说看,如果一个Pod的容器没有Shell,如何测试它能否访问外网?”
面试官想听的不仅是命令——如何结构化回答“容器无Shell时如何测试外网”?
|
11月前
|
测试技术 UED 开发者
软件测试的艺术与科学:探索有效的测试策略
在软件开发的宇宙中,测试是一颗璀璨的星辰,它不仅保障着产品的质量,也指引着项目的方向。本文将带你穿梭于测试的银河系,从基础的单元测试到复杂的集成测试,再到全面的系统测试,我们将一探究竟。你会发现,每一个测试阶段都是一次对代码深度和广度的挑战,也是一次对开发者耐心和智慧的考验。准备好了吗?让我们开始这段探索之旅,看看如何通过精心设计的测试案例来确保我们的软件能够在现实世界中稳健运行。
|
10月前
|
Java 测试技术 API
探索软件测试中的自动化测试框架
本文深入探讨了自动化测试在软件开发中的重要性,并详细介绍了几种流行的自动化测试框架。通过比较它们的优缺点和适用场景,旨在为读者提供选择合适自动化测试工具的参考依据。
|
10月前
|
数据管理 测试技术 持续交付
软件测试中的自动化测试策略与最佳实践
在当今快速迭代的软件开发环境中,自动化测试已成为确保软件质量和加速产品上市的关键手段。本文旨在探讨软件测试中的自动化测试策略,包括选择合适的自动化测试工具、构建有效的自动化测试框架以及实施持续集成和持续部署(CI/CD)。通过分析自动化测试的最佳实践,本文为软件开发团队提供了一系列实用的指南,以优化测试流程、提高测试效率并减少人为错误。
266 4
|
10月前
|
监控 测试技术 定位技术
探索软件测试中的自动化测试框架选择与实施###
本文不概述传统意义上的摘要内容,而是直接以一段对话形式引入,旨在激发读者兴趣。想象一下,你是一名勇敢的探险家,面前摆满了各式各样的自动化测试工具地图,每张地图都指向未知的宝藏——高效、精准的软件测试领域。我们将一起踏上这段旅程,探讨如何根据项目特性选择合适的自动化测试框架,并分享实施过程中的关键步骤与避坑指南。 ###
150 4

热门文章

最新文章

下一篇
日志分析软件