软件测试_部分技术面试题课件
- 格式:doc
- 大小:283.00 KB
- 文档页数:10
软件测试面试题汇总测试技术面试题 (5)1、什么是兼容性测试?兼容性测试侧重哪些方面? (5)2、我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题? (5)3、测试的策略有哪些? (5)4、正交表测试用例设计方法的特点是什么? (5)5、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程? (5)6、你觉得bugzilla在使用的过程中,有什么问题? (5)7、描述测试用例设计的完整过程? (6)8、单元测试的策略有哪些? (6)9、LoadRunner分哪三部分? (6)10、LoadRunner进行测试的流程? (6)什么是并发?在lordrunner中,如何进行并发的测试?集合点失败了会怎么样? (6)12、使用QTP做功能测试,录制脚本的时候,要验证多个用户的登录情况/查询情况,如何操作? (6)13、QTP中的Action有什么作用?有几种? (6)14、TestDirector有些什么功能,如何对软件测试过程进行管理? (7)15、你所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试......)? . (7)16、条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录? (8)17、Beta测试与Alpha测试有什么区别? (8)18、软件的评审一般由哪些人参加?其目的是什么? (8)19、测试活动中,如果发现需求文档不完善或者不准确,怎么处理? (8)20、阶段评审与项目评审有什么区别? (8)21、阐述工作版本的定义? (8)22、什么是桩模块?什么是驱动模块? (8)23、什么是扇入?什么是扇出? (8)24、你认为做好测试计划工作的关键是什么? (8)25、你认为做好测试用例工作的关键是什么? (9)26、简述一下缺陷的生命周期? (9)27、软件的安全性应从哪几个方面去测试? (9)28、软件配置管理工作开展的情况和认识? (9)29、你觉得软件测试通过的标准应该是什么样的? (10)30、引入测试管理的含义? (10)31、一套完整的测试应该由哪些阶段组成? (10)32、单元测试的主要内容? (10)33、集成测试也叫组装测试或者联合测试,请简述集成测试的主要内容? (10)34、简述集成测试与系统测试关系? (10)35、软件测试的文档测试应当贯穿于软件生命周期的全过程,其中用户文档是文档测试的重点。
企业面试题试卷 测试基础 附带答案软件测试试述软件的概念和特点?软件复用的含义?构件包括哪些?1.瀑布模型和螺旋模型的主要区别是什么?2.3.软件生存周期及其模型是什么?什么是软件测试?软件测试的目的与原则4.净室软件工程的策略是什么?5.软件配置管理的作用?软件配置包括什么?6.什么是软件质量?软件包是什么?7.目前主要的测试用例设计方法是什么?8.软件的安全性应从哪几个方面去测试?9.1、 答案如下:a)软件是计算机系统中与硬件相互依存的另一部份,它是包括程序、文档的完整集合。
是将已有软件的各种有关知识用于建立新的软件, b)软件复用(Software Reuse)以缩减软件开辟和维护的花费。
软件复用是提高软件生产力和质量的一种重要技术。
早期的软件复用主要是代码级复用,被复用的知识专指程序,后来扩大到包括领域知识、开辟经验、设计决定、体系结构、需求、设计、代码和文档等一切有关方面。
可以被复用的软件成份普通称作可复用构件c)2、 答案如下:页的讲解,参考一下书上的说法进行对照即可。
考参照TP书上第六章45/46a)虑弹性、风险、成本,等几个方面。
3、 答案如下:a)软件生存周期是软件开辟全部过程、活动和任务的结构框架,是从可行性研究到需求分析、软件设计、编码、测试、软件发布维护的过程。
在经历需求、分析、设计、实现、部署后,软件将被使用并进入维护阶段,b)直到最后由于缺少维护费用而逐渐消亡。
这样的一个过程,称为”生命周期模)。
型”(Life Cycle Model4、 答案如下:a)使用人工或者自动手段,来运行或者测试某个系统的过程。
其目的在于检验它是否满足规定的需求或者弄清预期结果与实际结果之间的差别。
软件测试的目的:b)测试是程序的执行过程,目的在于发现错误i.一个成功的测试用例在于发现至今未发现的错误ii.一个成功的测试是发现了至今未发现的错误的测试iii.确保产品完成为了它所承诺或者发布的功能,并且用户可以访问到的功能都有明iv.确的书面说明。
软件测试面试题及解答01. 为什么要在一个团队中开展软件测试工作因为没有经过测试的软件很难在发布之前知道该软件的质量就好比ISO质量认证一样测试同样也需要质量的保证这个时候就需要在团队中开展软件测试的工作。
在测试的过程发现软件中存在的问题及时让开发人员得知并修改问题在即将发布时从测试报告中得出软件的质量情况。
02. 您在以往的测试工作中都曾经具体从事过哪些工作其中最擅长哪部分工作我曾经做过web测试后台测试客户端软件其中包括功能测试性能测试用户体验测试。
最擅长的是功能测试03. 您所熟悉的软件测试类型都有哪些请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试) 测试类型有:功能测试性能测试界面测试。
功能测试在测试工作中占的比例最大功能测试也叫黑盒测试。
是把测试对象看作一个黑盒子。
利用黑盒测试法进行动态测试时需要测试软件产品的功能不需测试软件产品的内部结构和处理过程。
采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。
性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
负载测试和压力测试都属于性能测试两者可以结合进行。
通过负载测试确定在各种工作负载下系统的性能目标是测试当负载逐渐增加时系统各项性能指标的变化情况。
压力测试是通过确定一个系统的瓶颈或者不能接收的性能点来获得系统能提供的最大服务级别的测试。
界面测试界面是软件与用户交互的最直接的层界面的好坏决定用户对软件的第一印象。
而且设计良好的界面能够引导用户自己完成相应的操作起到向导的作用。
同时界面如同人的面孔具有吸引用户的直接优势。
设计合理的界面能给用户带来轻松愉悦的感受和成功的感觉相反由于界面设计的失败让用户有挫败感再实用强大的功能都可能在用户的畏惧与放弃中付诸东流。
区别在于功能测试关注产品的所有功能上要考虑到每个细节功能每个可能存在的功能问题。
性能测试主要关注于产品整体的多用户并发下的稳定性和健壮性。
第1篇一、基础知识1. 请简述软件测试的定义和目的。
解析:软件测试是确保软件产品符合预定需求和规格的过程。
其目的是发现软件中的错误或缺陷,提高软件质量,降低软件维护成本。
2. 什么是黑盒测试和白盒测试?解析:黑盒测试:不需要了解软件内部结构,主要关注软件功能是否符合需求规格说明书。
白盒测试:需要了解软件内部结构,关注代码逻辑、结构、接口等。
3. 什么是回归测试?解析:回归测试是指在软件版本更新或修改后,为了验证原有功能仍然正常,对修改的部分和与之相关的功能进行的测试。
4. 请列举三种软件测试类型。
解析:1)功能测试:验证软件功能是否符合需求规格说明书。
2)性能测试:评估软件在各种负载下的性能表现。
3)安全测试:检测软件在安全方面的脆弱性,确保数据安全。
5. 什么是缺陷管理?解析:缺陷管理是指对软件缺陷的发现、记录、跟踪、解决和验证的过程。
6. 什么是自动化测试?解析:自动化测试是指使用测试工具对软件进行测试的过程,以提高测试效率、降低成本。
二、测试方法与工具1. 请简述等价类划分法的原理和应用。
解析:等价类划分法是一种黑盒测试方法,通过将输入数据划分为若干个等价类,从每个等价类中选取一个代表性的数据作为测试用例,以减少测试用例数量。
2. 什么是边界值分析法?解析:边界值分析法是一种黑盒测试方法,关注输入数据的边界值,以验证软件在边界情况下的行为是否符合预期。
3. 请列举三种常用的性能测试工具。
解析:1)LoadRunner:一款功能强大的性能测试工具,适用于Web、Java、.NET等应用。
2)JMeter:一款开源的性能测试工具,适用于Web、Java、Database等应用。
3)Gatling:一款高性能的负载测试工具,适用于Web应用。
4. 请简述敏捷测试的特点。
解析:1)迭代:测试工作在软件开发的各个阶段进行,与开发紧密合作。
2)持续集成:测试工作与代码提交同步进行,确保软件质量。
3)自动化:使用自动化测试工具提高测试效率。
软件测试工程师面试题及答案1.请谈一下您对软件测试的理解?答:软件测试是一种检测和评估软件质量的过程,旨在识别和纠正可能导致软件无法正常工作或不符合用户需求的缺陷。
软件测试是软件开发过程中至关重要的一环,可以帮助开发人员和测试人员确定软件的质量水平并提高软件的稳定性和可靠性。
2.请列举一下您通常在软件测试中使用的工具?答:在软件测试中,通常会使用一些自动化测试工具来提高测试效率和准确性,如Selenium、JUnit、TestNG等自动化测试框架,以及LoadRunner、JMeter等负载测试工具。
另外,还会使用一些缺陷管理工具来跟踪和管理缺陷,如JIRA、Bugzilla等。
3.请描述一下黑盒测试和白盒测试的区别?答:黑盒测试是一种测试方法,测试人员不需要了解被测试软件的内部实现和代码,只需通过输入数据并观察输出结果,从而确定软件是否符合预期行为。
白盒测试则需要测试人员了解被测试软件的内部实现和代码,并使用代码覆盖率等指标来评估测试覆盖率和质量。
4.请解释一下回归测试的概念?答:回归测试是一种测试方法,主要用于确保在进行软件更新或更改后,先前已经测试过的功能仍能正常工作。
回归测试通常会在软件发布前进行,以确保新的更改不会破坏原有的功能。
5.请谈一下您对测试用例的了解?答:测试用例是用来检测软件是否符合预期行为的一组输入和输出数据。
测试用例可以包括各种测试类型,如功能测试、性能测试、安全测试等。
测试用例可以通过手动或自动的方式执行,以检测和发现软件中可能存在的缺陷。
6.请描述一下冒烟测试的概念?答:冒烟测试是一种基本的测试方法,用于快速检查被测试软件的主要功能是否正常工作。
冒烟测试通常在软件开发周期的早期进行,以帮助测试人员快速确定软件是否符合最基本的要求,以及是否需要进一步测试。
7.请解释一下测试策略的概念?答:测试策略是一种规划和管理软件测试过程的方法。
测试策略包括测试目标、测试方法、测试环境、测试资源等方面的内容,以及如何跟踪和管理测试进展和测试结果。
软件测试工程师岗位面试题及答案1.请解释什么是软件测试,以及在软件开发生命周期中的重要性。
答案:软件测试是验证和确认软件是否满足设计和功能要求的过程。
它有助于发现缺陷,提高软件质量。
在开发生命周期中,测试帮助在早期阶段发现问题,降低修复成本。
2.什么是黑盒测试和白盒测试?请举例说明。
答案:黑盒测试是基于功能需求的测试,不涉及内部实现。
白盒测试涉及代码和内部逻辑。
例如,黑盒测试可以是用户界面测试,白盒测试可以是代码覆盖率测试。
3.解释单元测试、集成测试和系统测试的区别。
答案:单元测试测试单个组件,集成测试测试组件之间的交互,系统测试测试整个系统的功能。
例如,单元测试可以测试一个函数,集成测试可以测试模块之间的通信,系统测试可以测试整个应用。
4.请谈谈自动化测试的优势和局限性。
答案:自动化测试提高了测试效率和一致性,适用于重复的任务。
但对于界面变化频繁或新功能的测试,需要不断更新脚本。
测试策略与计划:5.当您开始测试一个新项目时,您会采取什么样的测试策略?答案:首先,我会审查需求文档,理解功能和业务逻辑。
然后制定测试计划,包括测试范围、资源、进度和风险评估。
6.如何确定测试用例的优先级和覆盖范围?答案:优先级取决于功能的重要性和潜在风险。
覆盖范围涵盖主要功能、典型用例和边缘情况,以确保全面测试。
7.如何处理项目需求在开发过程中的变更对测试的影响?答案:我会与开发和业务团队密切合作,了解变更的范围和影响。
然后根据变更调整测试计划和用例。
8.请描述一次您成功解决复杂测试环境问题的经验。
答案:在一个分布式系统测试中,遇到了网络延迟问题。
我与网络团队合作,模拟不同网络条件,找到了导致延迟的根本原因,并成功进行了测试。
9.你如何定义和管理缺陷?请描述一个您管理缺陷的流程。
答案:缺陷是与预期功能不符的问题。
我会使用缺陷跟踪工具记录缺陷,包括问题描述、重现步骤和优先级。
然后,我会跟踪缺陷的状态,与开发人员合作进行调查和修复。
1、请做一下自我介绍我是谁我能做什么,具备哪些技能今天我想要干什么,做什么样的工作2、请简单介绍下你的项目该项目为我们公司自己的自动办化公系统项目,叫TfNotes。
项目架构为B/S架构,它的开发语言是java,web务器为tomcat5.0,后台数据库是MySQL。
它主要包含登录功能,资料管理,消息中心,组织机构,权限管理等功能,通过这些功能对公司内部资源进行统一管理和优化,提高企业内部办公作业效率。
我主要负责的是登录功能和组织机构这两个模块的测试。
3、您在项目中都测试过哪些模块功能?组织机构:部门管理,部门人员,工号管理,职称管理,用户管理,角色管理等模块填写哪些信息,哪些字段,每个字段有哪些限制4、请描述你工作中的测试流程是什么?首先是熟悉SRS需求分析,对SRS进行评审、基线化,提取测试需求项,对需求项评审、基线化,测试经理编写测试计划,评审、基线化,测试方案,写测试用例,评审、基线化,测试执行,测试报告,缺陷报告。
期间还有回归测试。
5、请描述下项目中各个阶段的周期大概是多少熟悉SRS大概一个月,提取测试项大概半个月,测试计划两三天,测试方案大概一个月,写测试用例一个月左右,测试执行分三轮,第一轮一个月,间歇期两周,第二轮半个月,间歇期两周,第三轮大概一周,写测试报告,评审。
6、项目组的人员架构是什么样测试人员,开发人员,测试组长,开发组长,项目经理,CMO7、项目组有多少人,多少开发人员,多少测试人员一共大概15个人,9个开发,3个测试,测试组长,开发组长,项目经理8、测试计划主要有哪些内容1. 总体概述2. 测试资源3. 测试对象4. 需求跟踪5. 测试通过标准6. 测试挂起条件7. 测试任务安排8. 测试工具,9风险控制9、测试方案主要有哪些内容1. 概述2. 被测对象3. 应测试的特性4. 不被测试的特性5. 测试模型6. 测试需求7. 测试设计10、测试报告主要有哪些内容1. 测试说明2.测试范围3. 测试环境4. 测试方法5. 测试结果6.质量评价发现的BUG 遗留的BUG 分析用例执行情况11、配置管理用的什么工具?Svn12、SVN常见的操作是什么?上传/下载,版本回溯13、SVN的check out与export区别?Yigezai内部,一个在外部14、软件测试挂起的标准是什么软件的主要功能没有被实现;软件的致命缺陷太多,提供错误的版本15、软件测试终止的标准是什么?软件的严重缺陷不超过3个,一般缺陷不超过10个,提示性缺陷不超过20个软件的功能已实现,缺陷已修改,之前的标准已经达到16、测试用例需要哪些要素?用例编号,项目名称,测试标题,重要级别,预置条件,输入说明,操作步骤,预期结果17、如何判断测试用例的质量能否发现BUG;对于需求的覆盖率;用例样式,描述是否清晰完整18、你知道哪些测试用例设计方法等价类,边界值,正交表,场景法,错误推测,流程分析法19、什么是等价类、边界值?20、等价类:分为有效和无效的等价类(一条测试用例尽量多的覆盖多个有效等价类,一条测试用例覆盖一个无效等价类)边界值:测试5个点21、怎么用正交?确定因子和相应的状态根据因子和状态的数量选择相应的正交表带入正交表正交表一行代表一条测试用例增加正交表覆盖到的测试用例22、项目一共多少用例?你负责的模块一共多少用例?大概4000条,我负责的模块1500条,写一个月(22+4),一天写95条左右23、你如何去执行用例?除了界面是否正确,还要查看数据库中数据是否正确搭建环境边执行边修改测试用例(因为有些测试用例不符合实际环境的操作)执行通过为pass,不通过标记为failed 分析缺陷的原因分,提交bug打印日志)测试不通过要查看日志24、发现多少个bug? 你发现的最自豪的bug是什么?一共大概200个左右。
自豪BUG就是在执行查询操作的时候整个软件崩溃,停止工作25、缺陷报告单有哪些组成缺陷发现人,发现日期,严重程度,版本,修改日期,再现过程,简单的描述,详细描述(发现步骤,运行环境,实际结果,预期结果),附件26、如何跟踪一条bug的整个生命周期,缺陷管理用什么工具?缺陷的生命周期。
QC27、如果你所测试的项目中概率出现的bug怎么处理?首先一定要提缺陷报告单,定期检查该BUG是否会出现,最后示情况给该缺陷定义缺陷级别,经过一段时间后若是没有重现,则下降一个严重级别,以此类推,达到提示级别后则不再降级28、测试方案都有哪些人评审测试人员,开发人员,测试组长,开发组长29、没时间写测试用例怎么办加班、直接测、错误猜测30、没时间测试怎么办加班,直接测,招人,向开发组借人,错误猜测,根据用例的级别先测31、项目的架构B/SC/S两层或三层架构32、你认为是bug,而开发认为不是bug 举例说明下最后怎么解决的确定bug情况下,坚持自己的立场与开发人员协商;将BUG提交给测试组长;CCB33、项目中有没有遇到什么问题,该怎么解决SRS写的不详细环境不行硬件资源不够34、接口测试怎么做?发消息回复消息给一个输入看是否返回一个输出看接口的取值类型和范围35、如果招你进来,你如何开展你的工作?熟悉项目熟悉人员,熟悉流程36、数据库增删改查语句;增:insert into emp(ename,job) values(‘james’,’salesman’);删:delete from emp where ename=’bob’;改:update emp set ename=’james’ where job=’salesman’;查:select * from emp;37、表A,有成绩grade,列出grade大于70的人的数目;Select count(grade) from emp where grade > 70;38、oracle更改一个列alter table emp modify(job varchar2(15));39、如何创建一个表、如何修改一个表、如何删除一个表;创建表:create table open (name varchar2(20),age number(3),job varchar2(20));修改表中的列:alter table open modify (job varchar2(15));在表中添加列:alter table open add (sex varchar2(5));删除表:drop table open;----drop是删除表时连表的结构也一并删除truncate删除信息Delete逐条删除40、左连接、右连接、嵌套查询左连接:select dname,ename,job,loc from emp a,dept bWhere a.deptno=b.deptno(+);右连接:select dname,ename,job,loc from emp a,dept bWhere a.deptno(+)=b.deptno;嵌套查询(子查询):select ename,sal from emp where sal > (select avg(sal) from emp );41、常见函数max min avg count sum等42、倒序排列Select sal from emp order by sal desc;43、请谈谈对数据库索引的理解在数据库中,索引使DML操作迅速的找到表中的数据,而不必扫描整个数据库。
索引之所以能够快速的查询,是因为他是按照查询条件存储的数据的。
索引存储相应的字段,引用索引就是搜索相应的字段。
44、请谈谈对存储过程的理解存储过程是一个命名的PL/SQL块,被存储在数据库中,并且可以被其他PL/SQL块使用。
因此,可以将业务逻辑、企业规则写成过程或函数保存在数据库中,以便其他PL/SQL块使用,简化应用程序的开发和维护,提高效率和性能。
45、请谈谈对触发器的理解触发器是存储在数据库中的过程,当数据库中的某些事件发生变化的时候,这个过程会被触发,或者说这个过程会自动运行而无需用户来干涉。
保证数据的一致性网站的注册需要填写很多信息,网站存储的时候,分类存储,储存在不同的表中,当删除一个用户的时候,所有表中的信息都要删除,这时候我们就可以做一个触发器,一次性删除所有该用户的数据。
自动做一些关联的操作。
46、请谈谈对数据库中事务的理解事务是用户定义的一组操作序列,由一组相关的SQL语句组成,这些SQL语句要么全部执行,要不全部不执行,要么全部成功,要么全部失败,不允许一部分成功,一部分失败。
Rollback 一荣俱荣/一损俱损47、表和视图的区别视图是一个虚拟的表,视图并不占用存储空间。
48、oracle怎么启动?怎么停止?startup shutdown49、oracle怎么启动监听?怎么查看监听状态?Lsnrctl start/status/stop50、oracle怎么备份?怎么恢复?导出export 恢复Imp51、sql查询的性能,一个查询语句,只查询一条记录,但是总是在扫描数据库,试分析有哪些原因没有创建索引,查询条件不明确,数据较多,数据分为两个表,常用数据和不常用数据,现在常用数据中查找,相对来说概率比较大使用存储过程52、你知道linux有哪些命令,请说一下Awk,tailf,nestat设置指令别名:alias ab=mv设置密码:passwd (passwd -f 强制执行-d 删除密码)将文本文件内容排序:sort aa.data(文件名)查找文件:find (find -name 按名称查找- perm 按权限查找–user 按文件所属用户查找)查看本机IP:ifconfig查看系统资源:top显示主机名称:hostname连接到远程电脑上:telnet 192.168.0.11查看当前用户名:whoami文件打包:tar –cvf 目标文件名.tar(可以多个)文件解包:tar –xvf 目标文件名.tar文件解压:unzip 压缩文件名(只能是.zip格式的文件)53、tar解压命令中z代表什么,x代表什么,v代表什么,f代表什么z:使用gzip工具处理文件x:解开一个包v:显示打包过程中的文件f:表示需要打包的内容为文件54、Linux下,怎么修改文件的权限?怎么查看主机名?修改权限:Chmod 456 文件名主机名:hostname55、linux怎么切换用户?切换用户时加—不加—有什么区别?Su 用户名加-是切换环境不加-保留当前环境,环境变量56、linux下会配置搭建环境,举个例子inux下搭建TOMCAT服务器:在linux的/opt目录下将tomcat安装压缩文件解压,在/opt/tomcat/bin目录下查找startup.sh并运行启动。