- 相关推荐
常见软件测试面试题
在各领域中,我们很多时候都会有考试,接触到试题,试题可以帮助主办方了解考生某方面的知识或技能状况。还在为找参考试题而苦恼吗?以下是小编整理的常见软件测试面试题,希望能够帮助到大家。
常见软件测试面试题
问题一:为什么要在一个团队中开展软件测试工作?
任何软件在开发过程中都会留下缺陷,带有缺陷的软件产品如果提交出去,可能会给公司带来不可估量的损失,我们必须在客户之前发现尽可能多的问题,从而保障客户满意。而发现问题的这个过程称之为测试。
问题二:简述你在以前的工作中做过哪些事情,比较熟悉什么。
此问题每个人都不一样。我自己的答案如下。
我主要的工作是系统测试和自动化测试,也曾少量涉及性能测试。在系统测试中,主要是对BOSS系统的业务逻辑功能,以及软交换系统的Class 5特性进行测试。性能测试中,主要是进行的压力测试,在各个不同数量请求的情况下,获取系统响应时间以及系统资源消耗情况。自动化测试主要是通过自己写脚本以及一些第三方工具的结合来测试软交换的特性测试。
问题三:你所了解的的软件测试类型都有哪些,简单介绍一下。
1. 基本功能验证。主要是对发布的版本进行一些最主要功能的测试。英文常见叫法是Smoking Test,Basic Verification Test或者Sanity Check。
2. 功能测试。主要是依据需求或者需求分析文档,对所发布的版本进行测试,看看是否满足需求,是否出现了不必要的功能。
3. 单元测试。是开发人员进行的测试之一,一般是开发人员对很小的模块,比如函数进行测试,一般来说,开发人员还需要开发相应的测试桩来进行此类测试。
4. 集成测试。在大型的开发过程中,软件是模块化进行开发的,将不同的模块揉合在一起的话,需要进行的测试就是集成测试。
5. 系统测试。当软件提交给测试组后,是对整个系统的所有功能进行测试,一般来说,功能测试是系统测试的一个部分。
6. 压力测试。主要是在很大性能的情况下,这个性能已经接近了系统的极限,看看系统运转的情况。
7. 负载测试。主要是用各种不同的性能去检测系统,采集各个数据在这些性能情况下的数据。
8. 黑盒测试。指系统对你来说是完全不透明的,只给你留下了输入和最终输出,这个是功能测试的方法之一。
9. 灰盒测试。指在了解部分系统内部工作机制的情况下,对于系统进行的覆盖性测试。
10. 白盒测试。主要是在单元测试和集成测试的情况下,开发人员已知代码,对这一段的代码进行全路径的覆盖测试。
11. 界面测试。主要是看用户界面的友好性和易用性,是否有文字或者排版错误,是否有输入限制等等。
12. 回归测试。一般是系统发现BUG,开发人员修改后,和BUG直接相关以及可能相关的功能进行的测试。
13. 安装和卸载的测试。
14. 恢复测试。主要是一个系统在发生了灾难的情况下,从错误中是否容易恢复。
15. 兼容性测试。一个系统在不同的语言,操作系统下的系统测试。
16. 安全测试。系统在遇到攻击或者类似情况下的表现。
17. Alpha测试。系统在给最终用户前,测试人员在实验室中模拟最终用户的测试。
18. Beta测试。由部分最终用户通过使用来进行的测试。
19. 比较测试。和其他具有相同或者类似功能的系统进行对比的测试。
20. 验收测试。一般是最终用户在接受产品前,依据自己所提出的要求进行的测试,很多情况下,验收测试可能委托第三方机构完成。
问题四:测试计划工作的目的是什么?测试计划文档的内容应该包括什么?其中哪些是最重要的?
软件测试计划是指导测试过程的纲领性文件。
包含了产品概述、测试策略、测试方法、测试区域、测试配置、测试周期、测试资源、测试交流、风险分析等内容。借助软件测试计划,参与测试的项目成员,尤其是测试管理人员,可以明确测试任务和测试方法,保持测试实施过程的顺畅沟通,跟踪和控制测试进度,应对测试过程中的各种变更。
测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。所以其中最重要的是测试测试策略和测试方法(最好是能先评审)。
问题五:你认为做好测试计划工作的关键是什么?
1. 明确测试的目标,增强测试计划的实用性
编写软件测试计划得重要目的就是使测试过程能够发现更多的软件缺陷,因此软件测试计划的价值取决于它对帮助管理测试项目,并且找出软件潜在的缺陷。因此,软件测试计划中的测试范围必须高度覆盖功能需求,测试方法必须切实可行,测试工具并且具有较高的实用性,便于使用,生成的测试结果直观、准确
2. 坚持“5W”规则,明确内容与过程
“5W”规则指的是“What(做什么)”、“Why(为什么做)”、“When(何时做)”、“Where(在哪里)”、“How(如何做)”。利用“5W”规则创建软件测试计划,可以帮助测试团队理解测试的目的(Why),明确测试的范围和内容(What),确定测试的开始和结束日期(When),指出测试的方法和工具(How),给出测试文档和软件的存放位置(Where)。
3. 采用评审和更新机制,保证测试计划满足实际需求
测试计划写作完成后,如果没有经过评审,直接发送给测试团队,测试计划内容的可能不准确或遗漏测试内容,或者软件需求变更引起测试范围的增减,而测试计划的内容没有及时更新,误导测试执行人员。
4. 分别创建测试计划与测试详细规格、测试用例
应把详细的测试技术指标包含到独立创建的测试详细规格文档,把用于指导测试小组执行测试过程的测试用例放到独立创建的测试用例文档或测试用例管理数据库中。测试计划和测试详细规格、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格、测试用例是完成测试任务的具体战术。
软件测试面试题
1、等价类划分
常见的软件测试面试题划分等价类:等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据。取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。
2、边界值分析法
边界值分析方法是对等价类划分方法的补充。测试工作经验告诉我,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。
使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。
3、错误推测法
基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。
错误推测方法的基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。例如,在单元测试时曾列出的许多在模块中常见的错误。以前产品测试中曾经发现的错误等,这些就是经验的总结。还有,输入数据和输出数据为0的情况。输入表格为空格或输入表格只有一行。这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例。
4、因果图方法
前面介绍的等价类划分方法和边界值分析方法,都是着重考虑输入条件,但未考虑输入条件之间的联系,相互组合等。考虑输入条件之间的相互组合,可能会产生一些新的情况。但要检查输入条件的组合不是一件容易的事情,即使把所有输入条件划分成等价类,他们之间的组合情况也相当多。因此必须考虑采用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来考虑设计测试用例。这就需要利用因果图(逻辑模型)。因果图方法最终生成的就是判定表。它适合于检查程序输入条件的各种组合情况。
5、正交表分析法
有时候,可能因为大量的参数的组合而引起测试用例数量上的激增,同时,这些测试用例并没有明显的优先级上的差距,而测试人员又无法完成这么多数量的测试,就可以通过正交表来进行缩减一些用例,从而达到尽量少的用例覆盖尽量大的范围的可能性。
6、场景分析方法
指根据用户场景来模拟用户的操作步骤,这个比较类似因果图,但是可能执行的深度和可行性更好。
软件测试工程师面试题
1、怎么来设计测试方案
根据测试需求(涉及功能需求和非功能性需求),辨认测试要点,辨认测试环境规定,安排测试轮次,根据项目筹划和开发筹划做整体的测试安排。
被测试的特性:通过对需求规格阐明书进行分析,列出本次测试需要进行测试的各部分特性(如要测试的功能需求、性能需求、安全性需求等等)。
不被测试的特性:由于资源、进度等方面因素,本次测试不列入测试范畴的特性。
测试组网图:进行本次系统测试所需要的软硬件设备、配备数据已及互相间的逻辑、物理连接。此后测试执行时需要根据这个组网图来进行环境的搭建。
2、如果给你一种B/S系统你怎么来进行测试
此题答案还可用于回答测试流程,测试流程题亦可参照15题。
阅读系统需求,充足理解需求,记录问题,并与项目需求人员充足沟通。
编写测试需求,涉及系统功能和非功能测试要点、测试类型、测试进度质量规定等。
制定测试筹划,涉及熟悉测试业务、设计测试用例、执行测试用例、进行测试小结、编写测试报告,任务颗粒度一般应不不小于5人天
编写测试用例,根据测试方案设计用例,即便没有明确的性能和安全测试规定,也应辨认进行此两项测试。
执行软件测试。
进行测试小结,如果测试持续时间较长,每个版本间隙总结本轮测试。
编写测试报告,总结测试过程,汇总度量数据。
3、怎么进行工作流的测试
把握需求,找准结点,理清流程,画出流转图,弄清节点间的数据流转,设计测试用例的时候必须覆盖所有也许的流程。
工作流:
如果问到有无做过,根据对工作流的理解状况回答,如果比较理解,可以把参与的某个项目中说上某些有工作流的,如果不是很理解就说没有做过,但是学习过有关知识。
4、做性能测试的时候都需要关注哪些参数
并发访问量,服务器响应时间(最小、平均、最大)
并发性能测试的过程是一种负载测试和压力测试的过程,即逐渐增长负载,直到系统的瓶颈或者不能接受的性能点,通过综合分析交易执行指标和资源监控指标来拟定系统并发性能的过程。
负载测试(Load Testing)是拟定在多种工作负载下系统的性能,目的是测试当负载逐渐增长时,系统构成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等来决定系统的性能。
负载测试是一种分析软件应用程序和支撑架构、模拟真实环境的使用,从而来拟定可以接受的性能过程。压力测试(Stress Testing)是通过拟定一种系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。
疲劳测试是采用系统稳定运营状况下可以支持的最大并发顾客数,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来拟定系统解决最大工作量强度性能的过程。
疲劳强度测试可以采用工具自动化的方式进行测试,也可以手工编写程序测试,其中后者占的比例较大。
一般状况下以服务器可以正常稳定响应祈求的最大并发顾客数进行一定期间的疲劳测试,获取交易执行指标数据和系统资源监控数据。如浮现错误导致测试不能成功执行,则及时调节测试指标,例如减少顾客数、缩短测试周期等。尚有一种状况的疲劳测试是对目前系统性能的评估,用系统正常业务状况下并发顾客数为基本,进行一定期间的疲劳测试。
大数据量测试可以分为两种类型:针对某些系统存储、传播、记录、查询等业务进行大数据量的独立数据量测试;与压力性能测试、负载性能测试、疲劳性能测试相结合的综合数据量测试方案。大数据量测试的核心是测试数据的准备,可以依托工具准备测试数据。
5、客户没给性能指数,怎么开展性能测试
如果客户没有提出明确的性能指标,可以按照惯例和经验设立,需要和PM协商,一般由PM确认,QA负责给出建议。
举例说一种Server端程序,规定峰值时CPU和MEM消耗在75%如下,而一种页面的访问响应时间一般觉得顾客的忍耐时间是3-5秒以内,这些要参照实际的应用来拟定顾客规模、操作频率、同步在线数等。
6、有无做过接口测试,是如何做的
通过编写测试程序,获得接口指针,逐个调用接口函数验证其对的性,及失败操作
7、测试过程中是如何来保证软件质量的
测试用例编写完毕后要加强评审的力度,保证测试用例覆盖所有需求点
执行测试过程中注意做小结检查覆盖状况、审视所提缺陷质量,复测时应注意有关模块的测试
测试时间宽裕的话可以做交叉测试,用以保证测试质量。
8、测试方案都写什么内容
1概述
2被测对象分析
3应测试的特性
4不被测试的特性
5总体设计措施
6测试模型
6.1测试组网图
6.2构造/对象关系图
6.3测试原理
6.4操作规程
7测试需求
7.1环境需求
7.2被测对象需求
7.3测试工具需求
7.4测试代码需求
7.5数据需求
7.6其他需求
8测试设计
8.1工具设计
8.2测试代码设计
8.3用例设计
8.3.1设计原则
8.3.2测试项目
9.附录
(测试方案规定根据《SRS》上的每个需求点设计出涉及需求点简介,测试思路和具体测试措施三部分的方案)以往华为测试方案
目录如下:
第1章技术方案
1.1.测试需求描述
1.1.1.测试类型分析
1.1.2.测试内容
1.2.缺陷分类
1.3.缺陷级别
第2章SOW及规格的应答
2.1.测试需求应答
2.2.交付件应答
2.2.1.软件交付件应答
2.2.2.非软件交付件应答
2.3.项目里程碑项目完毕时间应答
2.4.质量目的应答
2.5.验收原则应答
2.6.限制应答
2.6.1.合伙供应商人员组织应答
2.6.2.硬件设备应答
2.6.3.合伙项目开发场地应答
第3章类似项目成功案例
第4章项目具体工作筹划
第5章项目估算
9、测试方案和测试筹划的区别
测试方案是技术性的;测试筹划更多是管理性的。
测试筹划重要要考虑测试的技术可行性、核心技术、资源投入、进度安排、风险管理、配备管理、输入输出等。测试筹划更多地供高层管理者决策时做参照;同步对后续测试工作开展起指引作用。
在某些小项目中,也许只需要一种测试方案,测试筹划内容相对较少,可以与测试方案合并进行;而某些大项目中,也许要设计数十个测试方案,这就需要一种提纲挈领的东西了,这就是测试筹划的作用。
10、测试用例是根据什么写的
系统测试用例根据需求和设计编写
(华为的SDV测试用例是根据《测试方案》和测试方略来编写的)
11、是怎么来设计测试用例的?
答:先熟悉系统需求,把握测试要点,设计用例的原则一方面是要覆盖每个需求点,可以通过填写需求跟踪矩阵来保证覆盖。
黑盒测试的测试用例设计措施:等价类划分法、边界值分析法、错误推测法、因果图。
软件测试工作的面试题目
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、描述测试用例设计的完整过程?需求分析 + 需求变更的维护工作;根据需求, 得出测试需求;设计测试方案,评审测试方案;方案评审通过后,设计测试用例,再对测试用例进行评审;
【常见软件测试面试题】相关文章:
软件测试简历07-14
软件测试总结05-20
软件测试个人总结报告 软件测试的总结02-02
软件测试的简历模板08-22
软件测试经典简历模板08-21
软件测试实习总结09-24
软件测试实习报告07-06
软件测试个人总结07-22
软件测试实习日记07-28