第一篇:面试问题总结--软件测试
面试问题总结
1.在51testing你都学到了什么?
a.主要学习了软件测试的知识,包括测试的流程,测试的方法,测试用例,测试计划,及测试管理的工具QUALITY CENTER,自动化测试工具QTP
b.计算机编程的基础知识,包括 C语言,SQL Server,Linux
c.软件工程的知识,包括软件的生命周期,配置管理的知识SVN
2.测试计划包括什么内容?
测试目标,概述,测试对象,测试环境,测试版本,测试开始和结束日期,测试方法概
述,测试通过失败标准,测试挂起恢复标准,工作任务分配,工作量的统计,资源的分
配,应交付的最终工作产品。
3.测试报告包括什么内容?
测试环境,测试版本,测试对象,参与的人员,执行的测试用例,测试用例覆盖的功能
和性能点,bug质量分析,测试最终结果(通过,失败)。
4.缺陷管理流程是什么?
测试人员 new/open bug-测试经理—assign给开发经理—》开发经理asign给开
发人员—resolved 返回给测试人员—》测试人员验证后关闭或者re-open给开发人
员。
5.动/静态测试都包括什么活动?
静态测试,检查和测试时不用实际操作软件,只是静态的浏览和检查。静态测试的活
动包括 需求定义的静态测试,设计文档的静态测试,源代码的静态测试
动态测试,通过运行软件来检查软件的动态行为和运行结果的正确性。动态测试活动
包括 动态检查程序,动态检查输入输出数据。(黑盒子测试基本都是动态测试)
6.测试工作分为哪几个阶段?各阶段的测试重点在哪里?
测试工作分为 单元测试,集成测试,系统测试,验收测试。
单元测试主要是检查内部模块的代码逻辑。集成测试主要检查各个模块组装后的功能
以及模块间的接口是否正确。系统测试主要是把集成好的软件在实际的软硬件的测试
环境下运行,检查运行结果是否符合《需求规格说明书》。验收测试是测试时除了考
虑软件的功能和性能外,还应对软件的可移植性、兼容性、可维护性、错误的恢复功
能等进行确认
7.测试环境包括什么内容?
包括软件环境(os,browser,其他必须的软件),硬件环境(计算机配置,打印机,扫描仪等等),测试数据,测试工具
8.缺陷的严重级别及优先级各有哪些?
优先级别:low, midium, high,very high,urgent.严重级别:极度严重,中等,一般,轻微
9.测试工程师应该具备哪些素质?
技术能力,沟通能力,耐心,细心,怀疑精神,发散思维,幽默感,很强的记忆能力。
10.测试用例包括哪些内容?
用例编号,测试项目,测试标题,用例的重要级别,预置条件,输入条件,操作步骤,预期输出。
11.Bug单包括哪些内容?
缺陷编号,标题,测试项目,严重级别,优先级别,预设条件,复现步骤,实际结果,期望结果
12.B/S和C/S结构的区别?
C/S结构,即Client/Server(客户机/服务器)结构,B/S即浏览器/服务器(browser/server)结构.(1)、硬件环境不同:C/S一般建立在专用的网络上,小范围里的网络环境,局域网之间
再通过专门服务器提供连接和数据交换服务。B/S建立在广域网之上的,不必是专门的网络硬件环境,一般只要有操作系统和浏览器就行。
(2)、对安全要求不同:C/S一般面向相对固定的用户群,对信息安全的控制能力很强。
B/S建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户群。
(3)、对程序架构不同:C/S程序可以更加注重流程,可以对权限多层次校验,对系统运
行速度可以较少考虑。B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上。
(4)、系统维护不同:C/S程序由于整体性,必须整体考察,处理出现的问题以及系统升
级难,可能是再做一个全新的系统。B/S构件组成方面构件个别的更换,实现系统的无缝升级。系统维护开销减到最小,用户从网上自己下载安装就可以实现升级。
(5)、处理问题不同:C/S程序可以处理用户面固定,并且在相同区域,安全要求高的需
求,与操作系统相关,应该都是相同的系统。B/S建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的,与操作系统平台关系最小。
13.TCP/IP协议中三次握手是什么?
第一次握手:建立连接时客户端向服务器发送syn包同时进入syn_send状态,等待服务器确认。
第二次握手:服务器收到syn包,必须确认客户的syn包,同时向客户端发送syn包即syn+ack包,此时服务器进入syn+recv状态。
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
14.黑盒/白盒测试各主要包括什么测试方法?
黑盒子测试:等价类划分法,边界值法,错误推测法,因果图法,判定表法。
白盒测试:条件判定法,语句覆盖法,判定覆盖法,判定条件覆盖法,路径覆盖法。
15.简单介绍下进销存系统的业务流。
进销存主要用于中小型物品流通企业,例如超市,卖场。用于物品的进购,销售,调度,库存,盘点的流程管理。
16.在进销存系统测试中你负责哪些模块以及在测试中用例设计是如何进行的?
系统实现的模块包括:入库管理,库存管理,出库管理,统计报表,会员管理,系统设置,账务管理。
我主要负责 入库管理模块,测试用例的设计方法主要是等价类,边界值,错误推测法。
17.现在主流的OS及浏览器都有哪些?他们的区别是?
OS: WINDOWS,LINUX,MAC
BROWSER: IE,FIREFOX,OPERA,SAFari 区别:内核不同,速度,性能
18.测试工作结束的标准时什么?
所有的功能点都测试通过并符合需求规格说明书;性能,易用性,等符合用户的要求 所有的bug已经关闭并回归测试通过
19.解释内存溢出及内存泄露
内存溢出就是运行软件时的内存远远超出了你主机内安装的内存所承受大小,就叫内存溢出。
内存泄露指的是当以前分配的一片内存不再需要使用或无法访问时,但是却并没有释放它,那么对于该进程来说,会因此导致总可用内存的减少,这时就出现了内存泄漏
20.Web测试的测试点包括哪些?
界面测试:导航,图形,视频,音频,内容,表格,整体界面测试
功能测试:业务流程测试,链接测试,并发测试,session测试,cookie测试,url访问测试
性能测试:负载,容量,压力
兼容性测试:浏览器,插件
易用性测试:界面友好,使用方便
第二篇:软件测试面试问题
1.请自我介绍一下。
2.说说你以前公司的测试流程。必答题。主要结合自己的项目经验相信讲一个自己做过的项目,从立项到测试结束,当然侧重测试和自己所做的内容。这里面试官一般都会根据你说的再提问。
3.你是怎样做出自己的职业选择或者自己的职业规划。这题也经常问。可以从自己的优点说如何适合做软件测试,对与职业规划,我一般说在技术上往资深测试工程师发展。
4.你觉得自己作为测试工程的优势在哪里?你认为自己比你的同事优秀在哪里?也经常问,可以从性格出发,讲自己优点,以及在项目中表现,领导的良好评价等,总之“恰当”地往好处说,不要言过其实,让人怀疑你的人品哦。说说自己的缺点?这个也不好回答,最好能恰当地引申回答到优点上。
5.一个测试中不堪回首,或者让你很郁闷的事情。我被问到了,当时想不起来,后来想想可以讲一个项目中的失误及后果,然后讲自己如何去成功弥补及教训经验。我如果提前想一下就不会该说什么了。
6.你的好友是如何评价你的?你的项目组长是如何评价你的? 这类题也经常问。回答总要往好处说,但是你要自信地回答。
7.在成年后,哪些成绩给你带来最大程度的满足?蛮不错的题。记得我但是答的是第一次自己带一个小项目,顺利完成测试任务。
8.测试时你提交的bug被研发拒绝或者他认为不是问题,你如何处理?
9.测试与开发沟通如何提高效率和改善沟通效果?测试工程师的素质和技能?
10.你在压力下能工作的很好嘛?测试计划包括哪些?
11.你期望的薪水?根据自己能力和公司的大小,可以搜索下了解下情况。
12.个人职业发展(职业规划),这个很重要,几乎每个公司都会问的。
13.谈谈自己对软件测试的理解,包括测试的流程和应注意的地方是什么。
14.用过什么测试工具,分别讲讲他们的特点。
15.是否做过性能测试,怎样一个流程。
16.现场写一个测试用例,比如凳子,桌子,纸杯等。
17.你平时如何和开发人员沟通的,遇到解决不了的问题怎么办。
18.对于一个不懂测试的人,你如何解释它让别人能听的懂。
19.你们的绩效考核时怎么现实的。
20.你都用什么方法书写测试用例,分别举例说明。
第三篇:谈谈软件测试面试问题[范文模版]
前段时间公司招聘软件测试人员,虽然基本上都是招的应届毕业生,但我还是从现实以及网络上找到了一些应聘软件测试/QA的面试问题集,当然这个也都不会有标准答案的,现在只是以偶的一点理解加上网上的一些内容列举出来供有需要的XDJM们作一下参考:
1.首先一般都是比较老套点的问题:介绍一下你的经历。
HOHO......这个问题我想谁都被问过吧,注意一下重点,不要紧张慢慢说就OK了。
2.老套话说了就可以马上切入正题了。根据你的经验说说你对软件测试/质量保证的理解?
这个就要仁者见仁、智者见智了,也基本上都是书上的东东,如果能有一些自己独特的想法那就最好啦,呵呵
3.理解完了那当然就要问一下是不是对软件测试了解啰。这就轮到问软件测试的流程是什么,你原先的公司又是怎么的流程了?
前面个问题也还是书本上的东西,一般介绍软测的书上都有,实际上国内一般的中小公司根本就达不到书上所说的那些个测试规范,测试流程也是如此,没办法,这就是现在我们整个大的测试环境,这个问题照着书上说的办就行了,后面那个知道该怎么做了吧,尽量把原来公司的测试流程言简意赅的表达出来。
4.接着问题就可以有一大堆了,这些问题很多都是要看自己的测试经验以及对测试的理解来作答了,如:(1)你对SQA的职责和工作活动(如软件度量)的理解:
SQA就是独立于软件开发的项目组,通过对软件开发过程的监控,来保证软件的开发流程按照指定的CMM规程(如果有相应的CMM规程),对于不符合项及时提出建议和改进方案,必要是可以要高层经理汇报以求问题的解决。通过这样的途径来预防缺陷的引入,从而减少后期软件的维护成本。SQA主要的工作活动包括制定SQA工作计划,参与阶段产物的评审,进行过程质量、功能配置及物理配置的审计等;对项目开发过程中产生的数据进行度量等等;
(2)说说你对软件配置管理的理解:
项目在开发的过程中要用相应的配置管理工具对配置项(包括各个阶段的产物)进行变更控制,配置管理的使用取决于项目规模和复杂性能及风险的水平。软件的规模越大,配置管理就显得越重要。还有在配置管理中,有一个很重要的概念,那就是基线,是在一定阶段各个配置项的组合,一个基线就提供了一个正式的标准,随后的工作便基于此标准,并且只有经过授权后才能变更这个标准。配置管理工具主要有CC,VSS,CVS等,偶只用过CVS,对其它的不熟悉
(3)怎样写测试计划和测试用例:
简单点,测试计划里应有详细的测试策略(测试方法等),合理详尽的资源安排等,至于测试用例,那是依赖于需求(包括功能与非功能需求)是否细化到功能点,是否可测试等。
(4)说说主流的软件工程思想(如CMM,CMMI,RUP,XP,PSP,TSP等)的大致情况以及你对它们的理解:
CMM:SW Capability Maturity Model 软件能力成熟度模型,其作用是用于软件过程的改进、评估及软件能力的评鉴
CMMI:Capability Maturity Model Integration 能力成熟度模型集成 CMMI融入了大部分最新的软件管理实践,同时弥补了SW-CMM模型中的缺陷
RUP:rational unified process 是软件工程化过程。它提供了在开发机构中分派任务和责任的纪律化方
法.它的目标是在可预见的日程和预算前提下确保满足最终用户需求的高质量产品,个人认为:它的核心观念是开发的迭代,每个公司可以根据自身的软件开发的流程和待开发项目的特点对RUP进行适当的剪裁,制定出符合自己的软件开发流程。
XP:extreme program,即极限编程的意思,适用于小型团队的软件开发,想上面第三个问题就可以结合原型法采用这样的开发流程。要明白测试对于xp开发的重要性,强调测试(重点是单元测试)先行的理念。编程可以明显提高代码的质量,持续集成对于快速定位问题很有好处。
PSP ,TSP 分别是个体软件过程(Personal Software Process),群组软件过程(Team Software Process)大家都知道,CMM只是告诉你怎么做但并没有告诉你如何做,所以PSP/TSP就是告诉你企业在实施CMM的过程中如何做,PSP强调建立个人技能(如何制定计划、控制质量及如何与其他人相互协作等等)而TSP着重于生产并交付高质量的软件产品(如何有效地规划和管理所面临的项目开发任务等等)
总之,单纯实施CMM,永远不能真正做到能力成熟度的升级,只有将实施CMM与实施PSP和TSP有机地结合起来,才能发挥最大的效力。因此,软件过程框架应该是CMM/PSP/TSP的有机集成。
(5)对项目管理、白盒测试、单元测试、自动测试、性能测试、压力测试工具的了解程度和实际使用经验。(其实基本上也就是MI和Rational工具): 这个就要看个人的了,没法说了
(6)其它一些具体的技术知识(如各种计算机语言的了解程度、数据库等);
5.还有问一下你是怎样保证软件质量的,也就是说你觉得怎样才能最大限度地保证软件质量?
测试并不能够最大限度的保证软件的质量,软件的高质量是开发和设计出来的,而不是测试出来的,它不仅要通过对软件开发流程的监控,使得软件开发的各个阶段都要按照指定的规程进行,通过对各个阶段产物的评审,QA对流程的监控,对功能及配置的审计来达到开发的最优化。当然测试也是保证软件质量的一个重要方式,是软件质量保证工程的一个重要组成部分。
6.然后紧接着就基于目前中国的国情,大多数公司的软件项目进度紧张、人员较少、需求文档根本没有或者很不规范,你认为在这种情况下怎样保证软件的质量?(大多数公司最想知道的就是在这种困难面前你该怎么保证软件的质量,因为这些公司一般就是这种情况-----既不想投入过多又想保证质量,faint
出现以上的情况,如果仅仅想通过测试来提高软件质量,那几乎是不可能,原因是没有足够的时间让你去测试,少而不规范的文档导致测试需求无法细化何谈足够且有针对性进行测试。所以,作为公司质量保证的你应该先后项目经理确定符合项目本身最适合的软件生命周期模型(比如RUP的剪裁,原型法),明确项目的开发流程并督促项目组按照此流程开展工作,所有项目组成员(项目经理更加重要)都要制定出合理的工作计划,加强代码的单元测试,在客户既定的产品交付日期范围之内,进行产品的持续集成等等,如果时间允许可以再配合客户进行必要的系统功能测试。
7.差不多了就该问一些只和软件测试相关的问题了,如:
(1)你觉得怎样才能做一个(或者,怎样才能算一个)优秀的测试工程师?(faint,这个问题好像是必问的,答案也无非是什么要求全面的技术能力、缜密的逻辑思维、出色的沟通能力、还要有怀疑精神、幽默感、洞察力等等。啥叫优秀啊?该有的能力都有,不该有的也有,而且个个能力还都是出色的,这就是优秀,呵呵,开玩笑的,反正这个问题差不多就这样,具体的什么要求网络上也到处都有。
(2)还有其它的如对自己优缺点的评价、自己的职业理想、为何离开上一家公司、自己在职业生涯中印象)最深的事情、能否出差和加班、能否承受压力和挑战、薪水要求、何时能到岗等等这些啥面试都要回答的问题,这个就只能自己斟琢着办了。
(3)另外还有一个重要的问题就是语言能力啦,尤其是英语水平,这个的话每个具体的公司都有不同的要求,也就没啥好说的了。
差不多基本上就是这些了,如果有需要的可以有针对性的google一下,hoho...仅供参考!
第四篇:软件测试面试
软件测试笔试题(考试时间60分钟,满分100分)
1.软件可靠性是指在指定的条件下使用时,软件产品维持规定的性能级别的能力,其子特性()是指在软件发生故障或者违反指定接口的情况下,软件产品维持规定的性能级别的能力。
A.成熟性;
B.易恢复性; C.容错性; D.可靠性依从性
2.关于软件质量的描述,正确的是______ A.软件质量是指软件满足规定用户需求的能力;
B.软件质量特性是指软件的功能性、可靠性、易用性、效率、可维护性、可移植性; C.软件质量保证过程就是软件测试过程; D.以上描述都不对
3.______方法根据输出对输入的依赖关系设计测试用例。
A.路径测试
B.等价类
C.因果图
D.边界值
4.测试设计员的职责有:______ ① 制定测试计划 ②设计测试用例 ③设计测试过程、脚本 ④评估测试活动 A.①④ B.②③C.①③ D.以上全是
5.对于业务流清晰的系统可以利用贯穿整个测试用例设计过程广在用例中综合使用各种测试方法,对于参数配置类的软件,要用选择较少的组合方式达到最佳效果,如果程序的功能说明中含有输入条件的组合情况,则一开始就可以选用和判定表驱动法.A.等价类划分 B.因果图法 C.正交试验法 D.场景法、6.请画出软件测试活动的流程图?
7.请以您以往的实际工作为例,详细的描述一次测试用例设计的完整的过程。8.使用JAVA语言编写一个函数,用于交换两个变量的值(地址传递)9.图书(图书号,图书名,作者编号,出版社,出版日期)
作者(作者姓名,作者编号,年龄,性别)
用SQL语句查询年龄小于平均年龄的作者姓名、图书名,出版社, 并按姓名的升序进行排列。
10.请就如何在开发中进行软件质量控制说说你的看法。
答案:
1、C2、B3、B4、B5、DCB
测试技术面试题
1、什么是兼容性测试?兼容性测试侧重哪些方面?
3、测试的策略有哪些?
4、正交表测试用例设计方法的特点是什么?
5、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程?
6、你觉得bugzilla在使用的过程中,有什么问题?
7、描述测试用例设计的完整过程?
8、单元测试的策略有哪些?
9、LoadRunner分哪三部分?
2、我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?
10、LoadRunner进行测试的流程?
什么是并发?在lordrunner中,如何进行并发的测试?集合点失败了会怎么样?
13、QTP中的Action有什么作用?有几种?
12、使用QTP做功能测试,录制脚本的时候,要验证多个用户的登录情况/查询情况,如何操作?
14、TestDirector有些什么功能,如何对软件测试过程进行管理?
15、你所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……)?
16、条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?
17、Beta测试与Alpha测试有什么区别?
18、软件的评审一般由哪些人参加?其目的是什么? 20、阶段评审与项目评审有什么区别?
21、阐述工作版本的定义?
22、什么是桩模块?什么是驱动模块?
23、什么是扇入?什么是扇出?
24、你认为做好测试计划工作的关键是什么?
25、你认为做好测试用例工作的关键是什么?
26、简述一下缺陷的生命周期?
27、软件的安全性应从哪几个方面去测试?
28、软件配置管理工作开展的情况和认识? 30、引入测试管理的含义?
32、单元测试的主要内容?
19、测试活动中,如果发现需求文档不完善或者不准确,怎么处理?
29、你觉得软件测试通过的标准应该是什么样的?
31、一套完整的测试应该由哪些阶段组成?
33、集成测试也叫组装测试或者联合测试,请简述集成测试的主要内容?
34、简述集成测试与系统测试关系? 系统的用户文档包括哪些?
35、软件测试的文档测试应当贯穿于软件生命周期的全过程,其中用户文档是文档测试的重点。那么软件
36、软件系统中除用户文档之外,文档测试还应该关注哪些文档?
37、简述软件系统中用户文档的测试要点?
38、单元测试主要内容是什么?
39、如何理解强度测试?
41、什么是系统瓶颈?
42、文档测试主要包含什么内容?
43、功能测试用例需要详细到什么程度才是合格的?
44、配置和兼容性测试的区别是什么?
45、软件文档测试主要包含什么?
46、没有产品说明书和需求文档地情况下能够进行黑盒测试吗?
47、测试中的“杀虫剂怪事”是指什么?
40、如何理解压力、负载、性能测试测试?
48、在配置测试中,如何判断发现的缺陷是普通问题还是特定的配置问题?
49、为什么尽量不要让时间有富裕的员工去做一些测试? 50、完全测试程序是可能的吗?
51、软件测试的风险主要体现在哪里?
52、发现的缺陷越多,说明软件缺陷越多吗?
54、软件测试人员就是QA吗?
55、如何减少测试人员跳槽带来的损失?
56、测试产品与测试项目的区别是什么?
57、和用户共同测试(UAT测试)的注意点有哪些?
58、如何编写提交给用户的测试报告?
59、测试工具在测试工作中是什么地位? 60、什么是软件测试,软件测试的目的? 61、简述负载测试与压力测试的区别。
62、写出bug报告流转的步骤,每步的责任人及主要完成的工作。63、写出bug报告当中一些必备的内容。64、开发人员老是犯一些低级错误怎么解决? 65、画出软件测试的V模型图。
66、为什么要在一个团队中开展软件测试工作?
53、所有的软件缺陷都能修复吗?所有的软件缺陷都要修复吗?
67、您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?
68、您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……)
69、您认为做好测试用例设计工作的关键是什么?
70、请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。71、测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的?
72、您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。
73、请以您以往的实际工作为例,详细的描述一次测试用例设计的完整的过程。
74、您以往是否曾经从事过性能测试工作?如果有,请尽可能的详细描述您以往的性能测试工作的完整过程。
75、你对测试最大的兴趣在哪里?为什么? 76、你以前工作时的测试流程是什么?
77、当开发人员说不是BUG时,你如何应付?
78、软件的构造号与版本号之间的区别?BVT(BuildVerificationTest)
79、您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?
80、您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷(Bug)的管理?如果有,请结合该工具描述软件缺陷(Bug)跟踪管理的流程。
81、您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么? 82、单元测试、集成测试、系统测试的侧重点是什么? 83、集成测试通常都有那些策略? 84、一个缺陷测试报告的组成
85、基于WEB信息管理系统测试时应考虑的因素有哪些? 86、软件测试项目从什么时候开始,?为什么?
87、需求测试注意事项有哪些?
88、简述一下缺陷的生命周期
89、你在你所在的公司是怎么开展测试工作的?是如何组织的?
90、你认为理想的测试流程是什么样子?
91、您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。92、软件测试活动的生命周期是什么?
93、请画出软件测试活动的流程图? 94、针对缺陷采取怎样管理措施?
95、什么是测试评估?测试评估的范围是什么?
96、如果能够执行完美的黑盒测试,还需要进行白盒测试吗?为什么? 97、测试结束的标准是什么?
98、软件验收测试除了alpha ,beta测试以外,还有哪一种? 99、做测试多久了?以前做过哪些项目?你们以前测试的流程是怎样的?用过哪些测试工具? 100、请就如何在开发中进行软件质量控制说说你的看法
101、一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。102、软件测试的类型有那些?分别比较这些不同的测试类型的区别与联系。103、测试用例通常包括那些内容?着重阐述编制测试用例的具体做法
104、在分别测试winform的C/S结构与测试WEB结构的软件是,应该采取什么样的方法分别测试?他们存在什么样的区别与联系?
105、在测试winform的C/S结构软件时,发现这个软件的运行速度很慢,您会认为是什么原因?您会采取哪些方法去检查这个原因?
106、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程
107、你都用什么测试方法针对不同的产品或者系统或者模块,有不同的测试方法。总体而言有白盒测试和黑盒测试。
108、怎么编写案例案例的编写与测试阶段的定义有很大的关系。系统测试和unit测试的案例可能不同。总体而言测试案例根据系统的需求而定。
109、怎么才能够全面的测试到每一个点测试的全面性主要需要在设计测试计划的时候考虑,从测试策略,产品需求等等多个角
110、谈谈软件测试技术,以及如何提高 27 111、谈谈软件测试职业发展,以及个人的打算 27 112、谈谈软件测试在企业的地位,也可以结合软件生命周期来谈 27 113、一般公司里实际的软件测试流程是什么样的?你们公司又是怎样的? 114、软件工程师要具有那些素质? 115、你会哪些测试工具?怎么操作? 117、你觉得你来应聘有那些优势? 27 116、你能不能说下你的3到5年的职业计划(规划)
其他问题:(有可能清晰的思路比确切的答案更重要)27
开发及环境搭建类面试题
1、描述软件产生内存泄露的原因以及检查方式。(可以结合一种开发语言进行描述)
2、简述什么是值传递,什么是地址传递,两者区别是什么?
4、简述什么是存储过程和触发器?
3、结构化程序设计和面向对象程序设计各自的特点及优缺点是什么?
5、使用C语言编写一个函数,用于交换两个变量的值(地址传递)。
6、请简述DNS、活动目录、域的概念。
7、描述TCP/IP协议的层次结构,以及每一层中重要协议。
8、简述子网掩码的用途。
9、说出4种以上常用的操作系统及其主要的应用范围(微软的操作系统除外)。
10、在Linux系统中,一个文件的访问权限是755,其含义是什么?
11、Windows操作系统中PATH环境变量的作用是什么?
12、Ghost的主要用途和常用方法?
14、Linux中,一般怎么隐藏文件?
13、在RedHat中,从root用户切到userl用户,一般用什么命令?
15、如何将自己的本地磁盘(D)做成FTP供远端主机使用?
16、对RUP.CMM,CMMI,XP,PSP.TSP的认识?
17、DNS是什么,它是如何工作的?
18、防火墙如何保证安全的?主要有哪些? 20、简述一下c/s模式或者b/s模式?
21、TCP/UDP有哪些区别?
19、目前流行的操作的系统有哪些?请举例说明安装操作系统的注意事项?
22、ISO模型?HUB、tch、Router是ISO的第几层设备?
23、内存有哪几种存储组织结构.请分别加以说明?
人力资源面试题
1、你的测试职业发展是什么?你自认为做测试的优势在哪里?
2、你为什么想离开目前的职务?
3、你对我们公司了解有多少?
4、你找工作时,最重要的考虑因素为何?
5、为什么我们应该录取你?
6、请谈谈你个人的最大特色。
7、一个测试工程师应具备那些素质和技能?
8、您认为在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员良好的人际关系的关键是什么?
9、在您以往的测试工作中,最让您感到不满意或者不堪回首的事情是什么?您是如何来对待这些事情的?
10、在即将完成这次笔试前,您是否愿意谈一些自己在以往的学习和工作中获得的工作经验和心得体会?(可以包括软件测试、过程改进、软件开发或者与此无关的其他方面)
11、为什么选择测试这行?
12、你的工作通常能在时限内完成吗.(我想问一下就是她问这个问题的动机是什么)
13、通常你对于别人批评你会有什么样的反应
14、如果明知这样做不对,你还会依主管的指过去做吗?
15、如果你接到一个客户抱怨的测试技术面试题
第五篇:软件测试技术面试总结
软件测试就是为了发现程序中的错误而分析和执行程序的过程。——概念
+基本知识+软件开发过程-定义-计划-实现-稳定化-部署
+软件开发模型(四种典型的模型)
+瀑布模型
-概述:包括计划,需求分析,设计,编码,测试,运行维护六个阶段。六个阶段自上而下、相互衔接,以固定的次序进行。
-特点:1.阶段的顺序性和依赖性;2.文档驱动; 3.推迟实现的观点;4.质量保证。-缺点:不适合需求模糊的系统
+原型模型-概述:先建立一个能够反映用户需求的原型系统,使得用户和开发者可以对目标系统的概貌进行评价和判断,然后对原型系统进行反复的扩充、改进、求精,最终建立符合用户需求的目标系统。
-特点:1.快速开发工具;2.循环; 3.低成本。
-分类:按照对原型的处理方式,可以分为渐进型和抛弃型。
+增量模型
-概述:在增量模型中每个阶段都生成软件的一个可发布版本,阶段交错进行,版本逐渐完善。
-同原型模型的最大区别在于,在原型模型中每个阶段发布一个原型而在增量模型中则完成一个正式版本。+螺旋模型
-概述:适用于大型软件的开发,它将瀑布模型和快速原型模型结合起来,并加入了风险分析。
-特点:1.每个阶段都包括制定计划,风险分析,实施工程,评审四个阶段;
2.开发过程迭代进行,每迭代一次螺旋线增一周,工程前进一个层次,系统生成一个新版本,投入新的时间成本,最终得到客户满意的版本。
-软件测试从需求开始:现代的软件测试将测试渗入到软件开发的各个阶段,即使瀑布模型,表面看测试工作是在测试阶段开始的,事实上,在计划、需求、设计阶段,测试人员便已经开始了他们的工作,如:了解软件需求,编写测试计划,搭建测试环境。
-测试用例
-三要素:前提条件和操作步骤、预期结果、实际结果。
-必须以需求为依据。
-软件测试分类
-是否关注软件结构和算法
-黑盒测试:基于软件需求的测试方法。
-白盒测试:基于软件内部设计和程序实现的测试方法。
-是否执行被测试软件
-动态测试:在测试过程中执行被测试软件的测试方法。
-静态测试:------------不----------------------。
-基于不同的测试阶段:
-单元测试:主要测试软件的单元模块,需要编写额外的测试驱动程序,采用白盒测试的方法,一般由 开发人员完成。
-集成测试:将一些“构件”集成在一起时测试他们是否能正常运行,构件可以是程序模块,也可以是
客户机-服务器程序等,需要编写测试仿真程序,采用白盒和黑盒相结合的方式,通常由 开发人员承担。
-系统测试:测试软件系统是否符合所有的需求,包括功能性测试和非功能性测试。一般由
独立的测试
人员完成,通常采用黑盒测试方法。
-验收测试:(α、β)与系统测试类似,但由客户或最终用户执行,测试软件是否符合需求规格说明书。
-回归测试:指在软件开发过程中,每次错误被修正后或软件的功能、环境发生变化后进行的测试。
-软件测试的三个步骤:
-测试计划:测试人员首先对需求进行分析,最终定义一个测试集合,通过刻画和定义测试发现需求中的问题,然后根据软件需求同测试主管制定并确认“测试计划”。
-测试设计和开发:软件测试人员根据软件需求和软件设计说明书完成测试用例的设计和必要的测试驱动 程序的开发。
-执行测试:需要做的工作包括搭建测试环境、运行测试、记录测试结果、报告软件缺陷、跟踪软件缺陷、分析测试结果,必要时进行回归测试。
-测试工程师的能力要求:
+5C
-Controlled /kEn'trEuld/ 接受管理,有条理的-Competent /'kCmpitEnt/了解正确的测试技术
-Critical /'kritikEl/专注于发现问题
-Comprehensive /.kCmpri'hensiv/ 注意细节
-Considerate /kEn'sidErit/能够和开发人员很好的交谈
+职业素质-责任心-学习能力-怀疑精神-沟通能力-专注力-洞察力-团队精神-注重积累 +制定测试计划的五个步骤:-分析和测试软件需求-定义测试策略
-定义测试环境
-定义测试管理
-编写和审核测试计划
如果在需求分析阶段发现并结果问题需要花费$1,则在设计阶段解决同样的问题需花费$5,在编码阶段需$10,交付后解决同样的问题需花费$200。——越早测试越好-在需求分析过程中测试人员需要进行如下工作:
1)理解需求,参与审核需求文档;
2)理解项目的目标、限制,了解用户的应用背景;
3)编写测试计划;
4)准备测试资源。
+需求测试
-需求测试测试的对象是主意而不是代码,针对文档进行测试。
+好的需求文档的特征-具有清晰的格式和文档结构-需求的内容正确-需求的内容完整-需求具有可行性需求的必要性
-对不同的需求优先等级进行定义-描述明确-可证性和可测试性-可修改性-可追踪-需求文档被及时更新
+需求测试内容
-需求文档是否符合公司的格式要求
-是否正确
-要保证需求文档中所描述的内容是真实可靠的-这是“真正的”需求吗?描述的产品是否是要开发的产品?
-需求是否完备?第一个发布的版本是否需要更多的功能?列出的需求可以减少一部分?-需求是否兼容?需求有可能是矛盾的。
-需求是否可实现?如:需求设想的设备是否比实际运行的要快?需求要求的内存、I/0设备是否太多?
需求的输入或输出设备要求的分辨率是否要求过高?
-需求是否合理?在开发进度、开发费用、产品性能、可靠性和内存使用之间存在着平衡关系。
-需求是否可测?对于软件测试人员来说判断需求是否可测是这个过程中最重要的工作。+需求测试方法-复查review-走查walkthrough-审查inspection
+测试策略的内容
-确定测试范围 软件是无法被完全测试的-确定测试方法 不同的系统需要不同的测试方法
-定义测试标准 入口标准,暂停和继续的标准,出口标准等
+软件测试结束的标准
-基于测试用例的使用规则
1)构造测试用例(由相关人员进行评审)
2)执行测试用例中,当测试用例的不通过率达到20%则拒绝继续测试,待开发人员修正软件后再继续。
3)当功能性测试用例通过率达到100%,非功能性测试用例通过率达到90%时,允许正常结束。
-基于“测试期缺陷密度”规则
--------------含义:对软件测试一个CPU小时发现的缺陷数,比较适用于系统测试-基于“运行期缺陷密度”规则
--------------含义:把软件运行一个CPU小时发现的缺陷数,比较适用于验收测试注:一个阶段的出口标准!=下一个阶段的入口标准
系统测试结束的标准!=软件的发布标准
发布标准!=软件0缺陷
-选择测试工具 是否需要,需要什么工具,怎么获取
-降低软件测试代价是企业普遍关注的问题,可通过
a.减少冗余和无价值的测试;
b.减少测试阶段(万般无奈下)
+测试环境
-基本内容:设备环境、软件环境、数据环境
-需考虑的因素-计算机平台-操作系统-浏览器-软件支持平台-外围设备-网络环境-其他专用设备
-搭建测试环境时的配置原则:-使用的频度或范围-实效的可能性-最大限度的模拟真实环境 +测试管理 由于测试工程中设计的人员、活动、工具是很多的,在制定测试计划时需要对这些因素进行管理
-选择缺陷管理工具和测试管理工具
-定义工作进度
-建立风险管理计划
+可能遇到的风险
·由于设计、编码阶段出现大量质量问题,导致测试工作量时间增加
·开始测试时所需的硬件、软件没有准备好
·未能完成对测试人员的技术培训
·测试时的人力资源安排不足
·测试过程中,发生了大量的需求变更
·测试过程中,项目的开发计划被大幅度调整
·不能及时准备好测试所需的环境
·不能及时准备好测试数据
+风险管理的过程
·识别风险
·评估风险
·制定对策
·跟踪风险
+测试设计与开发
+总体设计
-投入产出:测试设计的输入是测试计划,输出是评审过的测试用例集合-定义设计目标遵循的原则
-清楚地说明没项测试的目标
-使每项测试的目标单一,可以对应到规格说明书中的一项需求
-只说明测试应该完成什么工作,而不说明如何完成-流程:总体设计-开发测试用例-评审测试用例
I.定义设计目标
II.定义输入说明
III.定义测试环境和配置
IV.测试设计文档
V.开发测试用例
+测试用例
-概念:为特定目标开发的测试输入、执行条件和预期结果的集合。
+好的测试用例:
-容易发现软件的错误
-精确的重复某测试失败的情景,可重复性
-清晰的定义一个或多个期望的结果
-没有冗余
+测试用例的作用
-指导测试的实施
-作为编写测试脚本的“设计规格说明书”
-评估测试标准的度量基准
-分析缺陷的标准
+白盒测试用例设计
+设计方法
+逻辑覆盖法
-语句覆盖
-判定覆盖
-条件覆盖
-判定-条件覆盖
-条件组合覆盖
-路经覆盖
-基本路经法
+辅助模块设计
-驱动模块:相当于被测程序的主程序。接受测试数据,把这些数据传给被测模块然后输出实际测试结果。
-桩模块:用于调用被测模块调用的子模块。可以做少量的数据操作,不需要把子模块的所有功能都带进来,但不容许什么都不做。
+黑盒测试用例设计
-等价类划分法
-边界值法——“缺陷遗漏在角落里,聚集在边界上。”
-因果图法弥补等价类和边界值法的不足
-错误推测法
-测试用例的管理可以通过配置管理工具cvs,vss,ClearCase等实现,以保证测试是可重复的。+常见错误分析
-用户界面问题
·输入无合法性检查和值域检查。
·界面信息不能及时更新,不能正确反映数据状态,甚至对用户产生误导。
·表达不清或过于模糊的信息提示。
·要求用户输入多余的本来系统可以自己得到的数据。
·为了得到某个设置或对话框用户必须做许多冗余的操作,如对话框嵌套太多。·不能记忆用户的设置或操作习惯,使每次进入系统用户都需重新操作一次初始环境。·不经用户确认就对系统或数据进行了重大修改。
-形象类问题
·不符合用户的操作习惯。如,快捷键定义不科学不实用,甚至无快捷键。
·不够专业,缺乏基本知识。
·界面中英文混杂,甚至拼写错误。
·说明书或帮助的排版格式不专业:中英文不对应,标点的半全角问题,没有排版准则。·界面元素参差不齐,文字不能完全显示。
-稳定性问题
·不可重现的死机,或不断申请但不能完全释放资源,使系统性能越来越低。
·主系统和子系统使用了相同的临界资源而相互不知道。如:使用相同的类名或临时文件名、使用同样的数据库字段名或登陆帐号。
·不能重现的错误,许多与代码中的未初始化变量有关,有些与系统不检查异常情况(网络中断、内存申请
不成功、长时间无响应等)有关。
-其他问题
·运行时不检查内存、硬盘空间、数据库等。
·无根据的假设用户环境:硬件/网络情况;有些动态库;假设网络随时都是联通的。·提供的版本带病毒。
·提供错误的版本给测试组或测试用户,或程序员与测试组使用不同版本。
·用户现场开放和修改,又没有记录和保留。
·版本中部分内容或接口倒退,或出现版本管理混乱。
·有些选项永远都是灰的,或有些在该变灰时没变灰。
+测试用例的评审
-测试或测试组件完全针对的是需求中列出的功能吗?
-测试组件是否覆盖了所有的需求?
-有冗余的吗?
-每个测试步骤都有清楚描述的预期结果吗?
+优先级
+3级
优先级1:此测试用例必须执行-2:有时间就执行-3:可以不执行
+5级
1:此测试必须通过,否则产品发布存在危险2:在发布前必须执行3:时间允许就执行4:此测试可以在下一次发布或发布后短期内执行5:可以不测试