经典软件测试面试试题菁选

首页 / 试题 / | 2023-03-20 00:00:00

经典软件测试面试试题

  在日常学*和工作生活中,我们都可能会接触到试题,试题可以帮助主办方了解考生某方面的知识或技能状况。一份好的试题都是什么样子的呢?以下是小编为大家整理的经典软件测试面试试题,仅供参考,大家一起来看看吧。

  1、什么是兼容性测试?兼容性测试侧重哪些方面?

  2、我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?

  3、检查系统是否有中毒的特征;

  4、检查软件/硬件的配置是否符合软件的推荐标准;

  5、确认当前的系统是否是独立,即没有对外提供什么消耗CPU资源的服务;

  6、如果是C/S或者B/S结构的软件,需要检查是不是因为与服务器的连接有问题,或者访问有问题造成的;

  7、在系统没有任何负载的情况下,查看性能监视器,确认应用程序对CPU/内存的访问情况。

  8、测试的策略有哪些?黑盒/白盒,静态/动态,手工/自动,冒烟测试,回归测试,公测(Beta测试的策略)

  9、正交表测试用例设计方法的特点是什么?

  10、用最少的实验覆盖最多的.操作,测试用例设计很少,效率高,但是很复杂;

  11、对于基本的验证功能,以及二次集成引起的缺陷,一般都能找出来;但是更深的缺陷,更复杂的缺陷,还是无能为力的;

  12、具体的环境下,正交表一般都很难做的。大多数,只在系统测试的时候使用此方法。

  13、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程?标记就是Bugzilla的状态转换图。

  14、你觉得bugzilla在使用的过程中,有什么问题?标记界面不稳定;根据需要配置它的不同的部分,过程很烦琐。流程控制上,安全性不好界定,很容易对他人的Bug进行误操作;没有综合的评分指标,不好确认修复的优先级别。

  15、描述测试用例设计的完整过程?需求分析+需求变更的维护工作;根据需求,得出测试需求;设计测试方案,评审测试方案;方案评审通过后,设计测试用例,再对测试用例进行评审;


经典软件测试面试试题菁选扩展阅读


经典软件测试面试试题菁选(扩展1)

——经典软件测试面试试题

经典软件测试面试试题

  在日常学*和工作生活中,我们都可能会接触到试题,试题可以帮助主办方了解考生某方面的知识或技能状况。一份好的试题都是什么样子的呢?以下是小编为大家整理的经典软件测试面试试题,仅供参考,大家一起来看看吧。

  1、什么是兼容性测试?兼容性测试侧重哪些方面?

  2、我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?

  3、检查系统是否有中毒的特征;

  4、检查软件/硬件的配置是否符合软件的推荐标准;

  5、确认当前的系统是否是独立,即没有对外提供什么消耗CPU资源的服务;

  6、如果是C/S或者B/S结构的软件,需要检查是不是因为与服务器的连接有问题,或者访问有问题造成的;

  7、在系统没有任何负载的情况下,查看性能监视器,确认应用程序对CPU/内存的访问情况。

  8、测试的策略有哪些?黑盒/白盒,静态/动态,手工/自动,冒烟测试,回归测试,公测(Beta测试的策略)

  9、正交表测试用例设计方法的特点是什么?

  10、用最少的实验覆盖最多的.操作,测试用例设计很少,效率高,但是很复杂;

  11、对于基本的验证功能,以及二次集成引起的缺陷,一般都能找出来;但是更深的缺陷,更复杂的缺陷,还是无能为力的;

  12、具体的环境下,正交表一般都很难做的。大多数,只在系统测试的时候使用此方法。

  13、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程?标记就是Bugzilla的状态转换图。

  14、你觉得bugzilla在使用的过程中,有什么问题?标记界面不稳定;根据需要配置它的不同的部分,过程很烦琐。流程控制上,安全性不好界定,很容易对他人的Bug进行误操作;没有综合的评分指标,不好确认修复的优先级别。

  15、描述测试用例设计的完整过程?需求分析+需求变更的维护工作;根据需求,得出测试需求;设计测试方案,评审测试方案;方案评审通过后,设计测试用例,再对测试用例进行评审;


经典软件测试面试试题菁选(扩展2)

——性能测试面试试题菁选

2021性能测试面试试题

  在*时的学*、工作中,我们都可能会接触到试题,试题有助于被考核者了解自己的真实水*。什么样的试题才是科学规范的试题呢?以下是小编为大家整理的2021性能测试面试试题,希望能够帮助到大家。

  1、如何识别系统瓶颈?

  从TPS指标分析,TPS即系统单位时间内处理事务的数量。当前随着用户数的增长期系统每秒可处理的事务数是否也会增长。

  2、如何发现数据库的相关问题?

  通过运行某些相应的已获取的SQL语句,判断是否由于数据库索引所导致的事务响应过长的问题发生。

  3、think_time的作用是什么?

  ①降低当前运行时压力,环节对应用服务器所造成的压力;

  ②模拟真实生产用户操作,考察对服务器所造成的影响。

  4、进行参数化的目的是什么?

  ①减少脚本的大小;

  ②便于脚本的维护,从而更加真实的'模拟生产环境的数据。

  5、容量测试方法中为什么要以逐步递增的方式进行?

  虚拟用户数随着负载时间的延长而增加,可以帮助确定系统响应时间减慢的准确时间以及准确的用户数。

  6、假设在测试过程中某些事务的响应时间过长,问题可能出现的原因有哪些?

  ①LoadRunner客户机器是否已无法承载当前运行压力导致LoadRunner无法及时获取从服务端返回的信息;

  ②Tink_time是否已忽略;

  ③确定当前被测系统架构,是否为在每次测试过程中清楚缓存所导致。

  7、如何发现应用服务器的相关问题?

  ①通过某些事务的运行,判断是否在应用代码层未进行调优导致事务响应事件过长;

  ②通过实时监控工具(nmon等)监控分析:

  (1)系统在运行过程中其CPU是否稳定运行或CPU耗用是否过高;

  (2)在系统运行过程中其内存是否存在内存泄漏现象;

  (3)打开相应日志、分析在运行过程中是否存在交易报错并获取错误原因查看是否由于代码原因导致交易错误发生。

  8、简述性能测试流程?

  ①分析性能需求:挑选用户使用最频繁的场景来测试,比如:登陆,搜索,下单等等。确定性能指标:比如:事务通过率为100%,TOP99%是5秒,最大并发用户为1000人,CPU和内存的使用率在70%以下;

  ②制定性能测试计划,明确测试时间(通常在功能稳定后,如第一轮测试后进行)和测试环境和测试工具;

  ③编写测试用例;

  ④搭建测试环境,准备好测试数据;

  ⑤编写性能测试脚本;

  ⑥性能测试脚本调优。设置检查点、参数化、关联、集合点、事务,调整思考时间,删除冗余脚本;

  ⑦设计测试场景,运行测试脚本,监控服务器;

  ⑧分析测试结果,收集相关的日志提单给开发;

  ⑨回归性能测试;

  ⑩编写测试报告。


经典软件测试面试试题菁选(扩展3)

——Spring高频面试试题

Spring高频面试试题

  无论是在学校还是在社会中,我们都不可避免地要接触到试题,借助试题可以检测考试者对某方面知识或技能的掌握程度。那么你知道什么样的试题才能有效帮助到我们吗?以下是小编为大家收集的Spring高频面试试题,仅供参考,大家一起来看看吧。

  一、什么是Spring框架?Spring框架有哪些主要模块?

  Spring框架是一个为Java应用程序的开发提供了综合、广泛的基础性支持的Java*台。Spring帮助开发者解决了开发中基础性的问题,使得开发人员可以专注于应用程序的开发。

  Spring框架本身亦是按照设计模式精心打造,这使得我们可以在开发环境中安心的集成Spring框架,不必担心Spring是如何在后台进行工作的。

  Spring框架至今已集成了20多个模块。这些模块主要被分如下图所示的核心容器、数据访问/集成,、Web、AOP(面向切面编程)、工具、消息和测试模块。

  二、使用Spring框架能带来哪些好处?

  下面列举了一些使用Spring框架带来的主要好处:

  1、DependencyInjection(DI)方法使得构造器和JavaBeanproperties文件中的依赖关系一目了然。

  2、与EJB容器相比较,IoC容器更加趋向于轻量级。这样一来IoC容器在有限的内存和CPU资源的情况下进行应用程序的开发和发布就变得十分有利。

  3、Spring并没有闭门造车,Spring利用了已有的技术比如ORM框架、logging框架、J2EE、Quartz和JDKTimer,以及其他视图技术。

  4、Spring框架是按照模块的形式来组织的。由包和类的编号就可以看出其所属的模块,开发者仅仅需要选用他们需要的模块即可。

  5、要测试一项用Spring开发的应用程序十分简单,因为测试相关的环境代码都已经囊括在框架中了。更加简单的是,利用JavaBean形式的POJO类,可以很方便的利用依赖注入来写入测试数据。

  6、Spring的Web框架亦是一个精心设计的WebMVC框架,为开发者们在web框架的选择上提供了一个除了主流框架比如Struts、过度设计的、不流行web框架的以外的有力选项。

  7、Spring提供了一个便捷的事务管理接口,适用于小型的本地事物处理(比如在单DB的环境下)和复杂的共同事物处理(比如利用JTA的复杂DB环境)。

  三、什么是控制反转(IOC)?什么是依赖注入?

  1、控制反转是应用于软件工程领域中的,在运行时被装配器对象来绑定耦合对象的一种编程技巧,对象之间耦合关系在编译时通常是未知的。

  在传统的编程方式中,业务逻辑的流程是由应用程序中的早已被设定好关联关系的对象来决定的.。

  在使用控制反转的情况下,业务逻辑的流程是由对象关系图来决定的,该对象关系图由装配器负责实例化,这种实现方式还可以将对象之间的关联关系的定义抽象化。而绑定的过程是通过“依赖注入”实现的。

  2、控制反转是一种以给予应用程序中目标组件更多控制为目的设计范式,并在我们的实际工作中起到了有效的作用。

  3、依赖注入是在编译阶段尚未知所需的功能是来自哪个的类的情况下,将其他对象所依赖的功能对象实例化的模式。

  这就需要一种机制用来激活相应的组件以提供特定的功能,所以依赖注入是控制反转的基础。否则如果在组件不受框架控制的情况下,框架又怎么知道要创建哪个组件?

  4、在Java中依然注入有以下三种实现方式:

  1)构造器注入;

  2)Setter方法注入;

  3)接口注入;

  四、请解释下Spring框架中的IoC?

  Spring中的org。springframework。beans包和org。springframework。context包构成了Spring框架IoC容器的基础。

  BeanFactory接口提供了一个先进的配置机制,使得任何类型的对象的配置成为可能。ApplicationContex接口对BeanFactory(是一个子接口)进行了扩展。

  在BeanFactory的基础上添加了其他功能,比如与Spring的AOP更容易集成,也提供了处理messageresource的机制(用于国际化)、事件传播以及应用层的特别配置,比如针对Web应用的WebApplicationContext。

  五、BeanFactory和ApplicationContext有什么区别?

  BeanFactory可以理解为含有bean集合的工厂类。BeanFactory包含了种bean的定义,以便在接收到客户端请求时将对应的bean实例化。

  BeanFactory还能在实例化对象的时生成协作类之间的关系。此举将bean自身与bean客户端的配置中**出来。BeanFactory还包含了bean生命周期的控制,调用客户端的初始化方法(initializationmethods)和销毁方法(destructionmethods)。

  从表面上看,applicationcontext如同beanfactory一样具有bean定义、bean关联关系的设置,根据请求分发bean的功能。但applicationcontext在此基础上还提供了其他的功能:

  1)提供了支持国际化的文本消息;

  2)统一的资源文件读取方式;


经典软件测试面试试题菁选(扩展4)

——嵌入式软件开发工程师面试试题

嵌入式软件开发工程师面试试题

  无论是在学校还是在社会中,我们很多时候都不得不用到试题,借助试题可以检验考试者是否已经具备获得某种资格的基本能力。大家知道什么样的试题才是好试题吗?下面是小编为大家整理的嵌入式软件开发工程师面试试题,仅供参考,希望能够帮助到大家。

  1、什么是*衡二叉树?编写一个删除*衡二叉树的程序?

  2、写一个程序,求有向有权图两点之间的最小权?

  3、根据你的理解,写出Cstring类的`构造函数和析构函数?

  4、使用C语言实现对ini文件的访问,使程序可以对int,double,字符串类进行读写。

  5、n×n个方格(n为任意整数),定义若两个格有公共边则称两个格相邻。现将 个格中的N个格子图黑,使每个格子都与黑格子相邻。试编程,使N最小。

  1、static变量和static 函数各有什么特点?

  3、描述一下嵌入式基于ROM的运行方式基于ram的运行方式有什么区别。

  4、task 有几种状态?

  5、task 有几种通讯方式?

  6、C函数允许重入吗?

  7、嵌入式操作系统和通用操作系统有什么差别?


经典软件测试面试试题菁选(扩展5)

——软件测试笔试题目菁选

软件测试笔试题目

  在学*和工作中,我们经常接触到试题,试题是考核某种技能水*的标准。你知道什么样的试题才是好试题吗?下面是小编帮大家整理的软件测试笔试题目,仅供参考,希望能够帮助到大家。

  一、判断题

  1、软件测试的目的是尽可能多的找出软件的缺陷。(Y)

  2、Beta 测试是验收测试的一种。(Y)

  3、验收测试是由最终用户来实施的。(N)α测试是指软件开发公司组织内部人员模拟各类用户行对即将面市软件产品(称为α版本)进行测试,试图发现错误并修正。α测试的关键在于尽可能逼真地模拟实际运行环境和用户对软件产品的操作并尽最大努力涵盖所有可能的 用户操作方式。经过α测试调整的软件产品称为β版本。紧随其后的β测试是指软件开发公司组织各方面的典型用户在日常工作中实际使用β版本,并要求用户报告异常情况、提出批评意见。然后软件开发公司再对β版本进行改错和完善。 一般包括功能度、安全可靠性、易用性、可扩充性、兼容性、效率、资源占用率、用户文档八个方面。

  4、项目立项前测试人员不需要提交任何工件。(Y)

  5、单元测试能发现约80%的软件缺陷。(Y)

  6、代码评审是检查源代码是否达到模块设计的要求。(N) 指通过阅读代码来检查源代码与编码标准的符合性以及代码质量的活动。

  7、自底向上集成需要测试员编写驱动程序。(Y)

  8、负载测试是验证要检验的系统的能力最高能达到什么程度。(N)负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行

  9、测试人员要坚持原则,缺陷未修复完坚决不予通过。(N)

  10、代码评审员一般由测试员担任。(N)由若干程序员和测试员组成审查小组

  11、我们可以人为的使得软件不存在配置问题。(N)

  12、集成测试计划在需求分析阶段末提交。(N)

  二、选折

  1、软件验收测试的合格通过准则是:(ABCD)

  A、 软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。

  B、 所有测试项没有残余一级、二级和三级错误。

  C、 立项审批表、需求分析文档、设计文档和编码实现一致。

  D、 验收测试工件齐全。

  2、软件测试计划评审会需要哪些人员参加?(ABCD)

  A、项目经理B、SQA 负责人C、配置负责人D、测试组

  3、下列关于alpha 测试的描述中正确的是:(AD)

  A、alpha 测试需要用户代表参加B、alpha 测试不需要用户代表参加

  C、alpha 测试是系统测试的一种D、alpha 测试是验收测试的一种

  4、测试设计员的职责有:(BC)

  A、制定测试计划B、设计测试用例C、设计测试过程、脚本D、评估测试活动

  5、软件实施活动的进入准则是:(ABC)

  A、需求工件已经被基线化B、详细设计工件已经被基线化C、构架工件已经被基线化

  D、项目阶段成果已经被基线化

  三、添空

  1、软件验收测试包括: 正式验收测试,alpha测试,beta测试。

  2、系统测试的策略有: 功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文挡测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试,(有的可以合在一起,分开写只要写出15就满分哦)

  3、设计系统测试计划需要参考的项目文挡有:软件测试计划,软件需求工件和迭代计划。

  4、对面向过程的系统采用的集成策略有:自顶向下,自底向上两种。

  四、简答

  1、区别阶段评审的与同行评审

  ① 同行评审目的:发现小规模工作产品的错误,只要是找错误;

  ② 同行评审人数:3-7人人员必须经过同行评审会议的培训,由SQA指导

  ③ 同行评审内容:内容小一般文档 < 40页, 代码 < 500行

  ④ 同行评审时间:一小部分工作产品完成

  ⑤ 阶段评审目的:评审模块阶段作品的正确性 可行性 及完整性

  ⑥ 阶段评审人数:5人左右评审人必须是专家 具有系统评审资格

  ⑦ 阶段评审内容: 内容多,主要看重点

  ⑧ 阶段评审时间: 通常是设置在关键路径的时间点上!

  2、什么是软件测试

  为了发现程序中的错误而执行程序的过程

  3、简述集成测试的过程

  系统集成测试主要包括以下过程:

  1、构建的确认过程。

  2、 补丁的确认过程。

  3、 系统集成测试测试组提交过程。

  4、 测试用例设计过程。

  5、 测试代码编写过程。

  6、 Bug的报告过程。

  7、 每周/每两周的构建过程。

  8、 点对点的测试过程。

  9、 组内培训过程。

  4、怎么做好文档测试

  ① 仔细阅读,跟随每个步骤,检查每个图形,尝试每个示例。

  ② 检查文档的编写是否满足文档编写的目的

  ③ 内容是否齐全,正确

  ④ 内容是否完善

  ⑤ 标记是否正确

  5、白盒测试有几种方法

  总体上分为静态方法和动态方法两大类。

  静态:关键功能是检查软件的表示和描述是否一致,没有冲突或者没有歧义

  动态:语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。

  6、系统测试计划是否需要同行审批,为什么

  需要,系统测试计划属于项目阶段性关键文档,因此需要评审。

  7、Alpha测试与beta的区别

  Alpha测试 在系统开发接*完成时对应用系统的测试;测试后仍然会有少量的设计变更。这种测试一般由最终用户或其它人员完成,不能由程序或测试员完成。

  Beta测试 当开发和测试根本完成时所做的测试,最终的.错误和问题需要在最终发行前找到。这种测试一般由最终用户或其它人员完成,不能由程序员或测试员完成。

  8、比较负载测试,容量测试和强度测试的区别

  负载测试:

  在一定的工作负荷下,系统的负荷及响应时间。

  强度测试:

  在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。 容量测试:容量测试目的是通过测试预先分析出反映软件 系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。容量测试的目的是使系统承受超额的数据容量来发现它是否能够正确处理。容量测试是面向数据 的,并且它的目的是显示系统可以处理目标内确定的数据容量。

  9、测试结束的标准是什么?

  用例全部测试。覆盖率达到标准。缺陷率达到标准。其他指标达到质量标准

  10、描述软件测试活动的生命周期?

  测试周期分为计划、设计、实现、执行、总结。

  计划:对整个测试周期中所有活动进行规划,估计工作量、风险,安排人力物力资源,安排进度等; 设计:完成测试方案,从技术层面上对测试进行规划;

  实现:进行测试用例和测试规程设计;

  执行:根据前期完成的计划、方案、用例、规程等文档,执行测试用例。

  总结:记录测试结果,进行测试分析,完成测试报告。


经典软件测试面试试题菁选(扩展6)

——性能测试面试试题菁选

性能测试面试试题

  在日常学*和工作中,只要有考核要求,就会有试题,借助试题可以更好地考查参试者所掌握的知识和技能。你所见过的试题是什么样的呢?以下是小编精心整理的性能测试面试试题,希望对大家有所帮助。

  1、如何识别系统瓶颈?

  从TPS指标分析,TPS即系统单位时间内处理事务的数量。当前随着用户数的增长期系统每秒可处理的事务数是否也会增长。

  2、如何发现数据库的'相关问题?

  ①通过运行某些相应的已获取的SQL语句,判断是否由于数据库索引所导致的事务响应过长的问题发生。

  ②通过实时监控工具(nmon等)监控分析:

  (1)系统在运行过程中其CPU是否稳定运行或CPU耗用是否过高;

  (2)在系统运行过程中其内存是否存在内存泄漏现象;

  3、think_time的作用是什么?

  ①降低当前运行时压力,环节对应用服务器所造成的压力;

  ②模拟真实生产用户操作,考察对服务器所造成的影响。

  4、进行参数化的目的是什么?

  ①减少脚本的大小;

  ②便于脚本的维护,从而更加真实的模拟生产环境的数据。

  5、容量测试方法中为什么要以逐步递增的方式进行?

  虚拟用户数随着负载时间的延长而增加,可以帮助确定系统响应时间减慢的准确时间以及准确的用户数。

  6、假设在测试过程中某些事务的响应时间过长,但分析应用服务、数据库以及网络都属于正常现象,问题可能出现的原因有哪些?

  ①LoadRunner客户机器是否已无法承载当前运行压力导致LoadRunner无法及时获取从服务端返回的信息;

  ②Tink_time是否已忽略;

  ③确定当前被测系统架构,是否为在每次测试过程中清楚缓存所导致。


经典软件测试面试试题菁选(扩展7)

——嵌入式软件开发工程师面试试题菁选

嵌入式软件开发工程师面试试题

  无论是在学校还是在社会中,我们很多时候都不得不用到试题,借助试题可以检验考试者是否已经具备获得某种资格的基本能力。大家知道什么样的试题才是好试题吗?下面是小编为大家整理的嵌入式软件开发工程师面试试题,仅供参考,希望能够帮助到大家。

  1、什么是*衡二叉树?编写一个删除*衡二叉树的程序?

  2、写一个程序,求有向有权图两点之间的最小权?

  3、根据你的理解,写出Cstring类的`构造函数和析构函数?

  4、使用C语言实现对ini文件的访问,使程序可以对int,double,字符串类进行读写。

  5、n×n个方格(n为任意整数),定义若两个格有公共边则称两个格相邻。现将 个格中的N个格子图黑,使每个格子都与黑格子相邻。试编程,使N最小。

  1、static变量和static 函数各有什么特点?

  3、描述一下嵌入式基于ROM的运行方式基于ram的运行方式有什么区别。

  4、task 有几种状态?

  5、task 有几种通讯方式?

  6、C函数允许重入吗?

  7、嵌入式操作系统和通用操作系统有什么差别?

相关词条