第一篇:缺陷管理之---软件测试问题报告的写法
在软件测试过程中,对于发现的每个软件错误(缺陷),都要进行记录该错误的特征和复现步骤等信息,以便相关认识分析和处理软件错误。为了便于管理测试发现的软件错误,通常要采用软件缺陷数据库,将每一个发现的错误输入到软件缺陷数据库中,软件缺陷数据库的每一条记录称为一个软件问题报告。
软件问题报告包括头信息、简述、操作步骤和注释。
头信息包括:测试软件名称、版本号、缺陷或错误类型、可重复性、测试平台、平台语言、缺陷或错误 范围。要求填写完整、准确。
简述是对缺陷或错误特征的简单描述,可以使用短语或短句,要求简练、准确。
操作步骤是描述该缺陷或错误出现的操作顺序,要求完整、简洁、准确。对命令、系统变量、选项要用大写字母,对控件名称等加双引号。
注释一般是对缺陷或错误的附加描述,一般包括缺陷或错误现象的图像,包括其他建议或注释文字。
书写专业软件问题报告的技巧
书写软件问题报告的目的是为了正确地重复缺陷或错误,从而在后续工作中可以准确验证并加以处理。因此,基本要求是准确、简洁、完整、规范。为了正确书写专业的软件问题报告,应该注意以下要点:
每个软件问题报告只书写一个缺陷或错误
这样可以每次只处理一个确定的错误,定位明确,提高效率,也便于修复错误后方便的进行验证。
对错误的描述要做到简洁、准确、完整,揭示错误实质
描述要准确反映缺陷或错误的本质内容,简短明了。为了便于在答数据库中寻找,包含错误发生时的用户界面是个良好的习惯。例如记录对话框的标题、菜单、按钮等控件的名称。
明确指明错误类型和严重程度
根据错误的现象,总结判断错误的类型和严重程度,例如,是功能错误?还是界面布局错误?该错误是属于特别严重的错误还是一般错误?是否影响软件的后续开发和发布?
每一个步骤尽量只记录一个操作
简洁、条理井然,容易重复操作步骤,以便确认、修复、验证该错误.复现的操作步骤要完整,准确,简短
保证快速准确的重复错误,完整即没有缺漏,准确即步骤正确,简短即没有多余的步骤。附加必要的错误特征图像
为了直观的观察缺陷或错误现象,通常需要附加错误出现的界面,作为附件附着在记录的附件部分。为了节省空间,又能真实反映缺陷或错误本质,可以捕捉缺陷或错误产生时的全屏幕,活动窗口和局部区域。
附加必要的测试用例
如果打开某个特殊的测试用例而产生的错误,则必须附加该测试用例,从而可以迅速再现缺陷或错误。为了使错误修正者进一步明确缺陷或错误的表现,可以附加修改建议或注解。
尽量使用短语和短句,避免复杂句型句式
书写软件问题报告的目的是便于定位错误,因此,要求客观的描述操作步骤,不需要修饰性的词汇和复杂的句型,增强可读性。
第二篇:软件测试面试问题
1.请自我介绍一下。
2.说说你以前公司的测试流程。必答题。主要结合自己的项目经验相信讲一个自己做过的项目,从立项到测试结束,当然侧重测试和自己所做的内容。这里面试官一般都会根据你说的再提问。
3.你是怎样做出自己的职业选择或者自己的职业规划。这题也经常问。可以从自己的优点说如何适合做软件测试,对与职业规划,我一般说在技术上往资深测试工程师发展。
4.你觉得自己作为测试工程的优势在哪里?你认为自己比你的同事优秀在哪里?也经常问,可以从性格出发,讲自己优点,以及在项目中表现,领导的良好评价等,总之“恰当”地往好处说,不要言过其实,让人怀疑你的人品哦。说说自己的缺点?这个也不好回答,最好能恰当地引申回答到优点上。
5.一个测试中不堪回首,或者让你很郁闷的事情。我被问到了,当时想不起来,后来想想可以讲一个项目中的失误及后果,然后讲自己如何去成功弥补及教训经验。我如果提前想一下就不会该说什么了。
6.你的好友是如何评价你的?你的项目组长是如何评价你的? 这类题也经常问。回答总要往好处说,但是你要自信地回答。
7.在成年后,哪些成绩给你带来最大程度的满足?蛮不错的题。记得我但是答的是第一次自己带一个小项目,顺利完成测试任务。
8.测试时你提交的bug被研发拒绝或者他认为不是问题,你如何处理?
9.测试与开发沟通如何提高效率和改善沟通效果?测试工程师的素质和技能?
10.你在压力下能工作的很好嘛?测试计划包括哪些?
11.你期望的薪水?根据自己能力和公司的大小,可以搜索下了解下情况。
12.个人职业发展(职业规划),这个很重要,几乎每个公司都会问的。
13.谈谈自己对软件测试的理解,包括测试的流程和应注意的地方是什么。
14.用过什么测试工具,分别讲讲他们的特点。
15.是否做过性能测试,怎样一个流程。
16.现场写一个测试用例,比如凳子,桌子,纸杯等。
17.你平时如何和开发人员沟通的,遇到解决不了的问题怎么办。
18.对于一个不懂测试的人,你如何解释它让别人能听的懂。
19.你们的绩效考核时怎么现实的。
20.你都用什么方法书写测试用例,分别举例说明。
第三篇:软件测试管理总结
软件测试管理总结
软件测试工程师管理系统是我接触的测试管理项目,通过近两个星期对软件测试管理的学习和实践,遇到了很多问题,觉得还是有很多经验需要总结。
随着软件开发规模的增加、复杂程度的增加,以寻找软件中的故障为目的的测试工作就
显得更加重要。因此,为了尽可能多的找出程序中的故障,开发出高质量的软件产品,必须
对测试工作进行组织策划和有效管理,采取系统的办法建立起来软件测试管理系统。在进行
测试工作识别管理的过程中,我主要做了测试计划,测试实施,测试总结这几部分工作。
一、测试计划的编写要足够清晰合理。
测试计划阶段的整体目标是为了确定测试范围、测试策略和方法,以及对可能出现的问
题和风险,所需要的各种资源和投入等进行分析和估计,以指导测试的执行。在计划中要明
确测试的目的,完善对测试人员的资源分配,设置测试的标准,责任及时间都有明确的进度
安排,指出所用工具。测试计划编写时要对照产品需求说明书,系统全面的对测试工作作出
筹划。
二、准确的填写bug记录单需进行充分的步骤记录。
在测试过程中,bug记录单不清晰,产品错误便不会容易再现。作为测试管理人员对于
问题记录单中必须包括的要素要了解。我曾经有过造成填写的问题记录单过于简练,只有结
果,没有清晰的操作步骤,没有描述产生错误的数据信息等,这些都会在测试实施过程中造
成不必要的麻烦,给开发人带来模糊理解。认识问题才能解决问题,我在以后的工作中正尽
可能避免这些问题。
三、测试结果的分析要全面公正。
测试结束后,对测试结果进行分析,以确定软件产品的质量,为产品的改进或发布提供
数据和支持。在管理上,应做好测试结果的审查和分析,做好测试报告的撰写和审查工作。
对软件测试工程师管理系统的管理工作中,我觉得还可以努力地还有,明确测试流程,注意测试流程中各阶段的注意事项,及正确填写问题记录单。及时发现测试实施工作中的各
种问题,加强与开发人员的沟通,以便及时解决问题,保证产品测试进度。
第四篇:面试问题总结--软件测试
面试问题总结
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访问测试
性能测试:负载,容量,压力
兼容性测试:浏览器,插件
易用性测试:界面友好,使用方便
第五篇:谈谈软件测试面试问题[范文模版]
前段时间公司招聘软件测试人员,虽然基本上都是招的应届毕业生,但我还是从现实以及网络上找到了一些应聘软件测试/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...仅供参考!