软件测试常见面试题及答案2
如果有,请试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。
微软WAS,LoadRunner
12.您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么?
关键是测试脚本的录制,测试时候测试环境的干净。
13.在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?
如何提交高质量的软件缺陷(Bug)记录?
缺陷名词/描述/缺陷等级/严重程度/发现模块/发现步骤和过程/是否可以重现
14.您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷(Bug)的管理?
如果有,请结合该工具描述软件缺陷(Bug)跟踪管理的流程。
CQ,也可以使用BugFree等免费工具。
15.您如何看待软件过程改进?在您曾经工作过的企业中,是否有一些需要改进的东西呢?x
您期望的理想的测试人员的工作环境是怎样的?
将先进的经验或思想固化到过程中,通过过程改进和能力提高来改进软件质量。
1、根据你的经验说说你对软件测试/质量保证的理解?
软件质量保证与测试是根据软件开发阶段的规格说明和程序的内部结构而精心设计的一批测试用例
(即输入数据和预期的输出结果),并利用这些测试用例去运行程序,以发现错误的过程。
它是对应用程序的各个方面进行测试以检查其功能、语言有效性及外观排布.
2、软件测试的流程是什么?
需求调查: 全面了解您的系统概况、应用领域、软件开发周期、软件开发环境、开发组织、
时间安排、功能需求、性能需求、质量需求及测试要求等
根据系统概况进行项目所需的人员、时间和工作量估计及项目报价。
制定初步的项目计划: 在与您充分共同和协商的基础上制定我们的测试计划。
测试准备: 组织测试团队、培训、建立测试和管理环境等。
测试设计: 按照测试要求进行每个测试项的测试设计,包括测试用例的设计及测试脚本的开发等。
测试实施: 按照测试计划进行实施测试。
测试评估: 根据测试的结果,出具测试评估报告。
3、(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 是软件工程化过程。
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的有机集成。
4、还有问一下你是怎样保证软件质量的,也就是说你觉得怎样才能最大限度地保证软件质量
测试并不能够最大限度的保证软件的质量,软件的高质量是开发和设计出来的,而不是测试出来的,
它不仅要通过对软件开发流程的监控,使得软件开发的各个阶段都要按照指定的规程进行,
通过对各个阶段产物的评审,QA对流程的监控,对功能及配置的审计来达到开发的最优化。
当然测试也是保证软件质量的一个重要方式,是软件质量保证工程的一个重要组成部分。
5、然后紧接着就基于目前中国的国情,大多数公司的软件项目进度紧张、人员较少、需求文档根本没有或者很不规范,
你认为在这种情况下怎样保证软件的质量?(大多数公司最想知道的就是在这种困难面前你该怎么保证软件的质量,
因为这些公司一般就是这种情况—–既不想投入过多又想保证质量,faint )
出现以上的情况,如果仅仅想通过测试来提高软件质量,那几乎是不可能,原因是没有足够的时间让你去测试,
少而不规范的文档导致测试需求无法细化何谈足够且有针对性进行测试。所以,
作为公司质量保证的你应该先和项目经理确定符合项目本身最适合的软件生命周期模型(比如RUP的剪裁,原型法),
明确项目的开发流程并督促项目组按照此流程开展工作,所有项目组成员(项目经理更加重要)都要制定出合理的工作计划,
加强代码的单元测试,在客户既定的产品交付日期范围之内,
进行产品的持续集成等等,如果时间允许可以再配合客户进行必要的系统功能测试。