天天看点

软件测试面试常见问题(二)

1、阶段评审与同行评审的区别?

参考答案:

同行评审目的:发现小规模

工作产品的错误,只要是找错误;

阶段评审目的:评审模块 阶段作品的正确性 可行性 及完整性

同行评审人数:3-7人 人员必须经过同行评审会议的培训,由SQA指导

阶段评审人数:5人左右 评审人必须是专家 具有系统评审资格

同行评审内容:内容小 一般文档 < 40页, 代码 < 500行

阶段评审内容: 内容多,主要看重点

同行评审时间:一小部分工作产品完成

阶段评审时间: 通常是设置在关键路径的时间点上

2、什么是软件测试及其目的?

参考答案:

软件测试是使用人工或自动化手段来运行或测定某个系统的过程。其目的是:在于检验它是否能满足规定的需求或是弄清楚预期结果与实际结果之间的差别。

3、简述集成测试的过程?

参考答案:

集成测试流程:

在完成软件的概要设计后,即开始制定集成测试计划-》设计集成测试用例和测试过程-》实施集成测试,设计所需驱动和桩-》执行集成测试,记录测试结果-》评估集成测试,根据测试结果评估此次测试,生成评估报告文档。(驱动或桩函数是做

单元测试时要用到的。驱动函数是所测4函数的主程序,它接收测试数据,并把数据传送给所测试单元,最后再输出实测结果。当被测单元能完成相关功能时,也可以不要驱动单元。桩,是用来代替所测试单元调用的子单元。)

4、白盒测试有哪几种方法?

参考答案:代码审查,语句覆盖,判定覆盖,条件覆盖,组合覆盖,基本路径,形式化方法,符号执行

5、简述测试目标有哪些类型?

参考答案:

功能测试,负载测试,

性能测试,安全性测试,恢复测试,安装测试,兼容性测试,可用性测试,可靠性测试,国际化测试,本地化测试。

6、怎么样做好文档测试?

参考答案:

文档的测试主要采用静态测试即走查的方法,可以依据的是同行评审,列出一个检查表,然后大家一起坐下来对着被测试的文档进行阅读排错。通常文档都很长,而一般的建议是一次同行评审步的时间不能超过两个小时,因此可以对被测试文档执行测试时,列个计划,将总的文档分解,按照计划多次对被测试的文档进行走查。

7、测试结束的标准是什么?

参考答案:

从项目周期看:

1、超出了所分配的测试时间;

2、用尽了分配的测试资源;

3、到达了某一个固定的里程碑(如合同规定的交付日期)。

从测试角度看:

1、测试需求覆盖率;

2、测试代码覆盖率;

3、测试用例度量;

4、缺陷检查度量

  8、Alpha 测试与Beta测试的区别?

参考答案:

Alpha测试是由一个用户在开发环境下进行的测试,也可以是公司内部的用户在模拟实际操作环境下进行的受控测试,Alpha测试不能由程序员或测试员完成。Alpha测试发现的错误,可以在测试现场立刻反馈给开发人员,由开发人员及时分析和处理。目的是评价软件产品的功能、可使用性、可靠性、性能和支持。尤其注重产品的界面和特色。Alpha测试可以从软件产品编码结束之后开始,或在模块(子系统)测试完成后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始。有关的手册(草稿)等应该在Alpha测试前准备好。

Beta测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试。开发者通常不在测试现场,Beta测试不能由程序员或测试员完成。因而,Beta测试是在开发者无法控制的环境下进行的软件现场应用。在Beta测试中,由用户记下遇到的所有问题,包括真实的以及主管认定的,定期向开发者报告,开发者在综合用户的报告后,做出修改,最后将软件产品交付给全体用户使用。Beta测试着重于产品的支持性,包括文档、客户培训和支持产品的生产能力。只有当Alpha测试达到一定的可靠程度后,才能开始Beta测试。由于Beta测试的主要目标是测试可支持性,所以Beta测试应该尽可能由主持产品发行的人员来管理。

9、系统测试计划是否需要同行审批,为什么?

参考答案:

需要,系统测试计划属于项目阶段性关键文档,因此需要评审。

  10、比较负载测试,容量测试和强度测试的区别?

参考答案:

负载测试:在一定的工作负荷下,系统的负荷及响应时间。

强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。

容量测试:容量测试目的是通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等),系统在其极限值状态下没有出现任何软件故障或还能保持主要功能正常运行。容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。容量测试的目的是使系统承受超额的数据容量来发现它是否能够正确处理。容量测试是面向数据的,并且它的目的是显示系统可以处理目标内确定的数据容量。

01.为什么要在一个团队中开展软件测试工作?

保证软件质量的最后一道关口。

02.您是否了解以往所工作的企业的软件测试过程?如果了解,请试述在这个过程中都有哪些工作要做?分别由哪些不同的角色来完成这些工作?

测试计划->测试设计(测试用例,测试数据)->测试执行(单元测试,集成测试,系统测试,回归测试)

05. 您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……)

易用性测试-界面的友好性,操作方便性等。

功能测试-系统中功能性需求的满足

安全性测试-系统是否存在安全隐患和漏洞

性能测试-系统在大并发下的响应速度和健壮性

06.请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。

黑盒/白盒:主要区别在是否了解系统或程序的内部结构和代码

单元测试:关注某一个单元,函数,模块的正确性,一般需要编写相关测试代码。

集成测试:模块或模块直接的集成接口测试,单个模块测试

系统测试:一个完整功能的完全测试。

07.测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的?

提前安排出测试工具选择,测试类型选择,人员需求,保证和项目开发协调一致,保证测试工作顺利进行。

08.您认为做好测试计划工作的关键是什么?

了解项目或系统的业务需求

和项目经理协调好,了解项目的进度计划安排情况

09.您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。

边界值/等价类/业务流程图分析和状态转换分析/业务逻辑分析

10.您认为做好测试用例设计工作的关键是什么?

对业务和软件需求非常清楚,可以根据需求不同选择不同的测试用例设计

12.您以往的工作中是否曾开展过测试用例的评审工作?如果有,请描述测试用例评审的过程和评审的内容。

评审计划->预审->评审;

评审内容主要是测试用例对软件需求的覆盖程度,对于相关边界是否考虑,是否针对复杂流程准备多套测试数据,是否有专门针对非功能性需求的测试。

13.您以往是否曾经从事过性能测试工作?如果有,请尽可能的详细描述您以往的性能测试工作的完整过程。

制订计划->选择测试功能->选择测试工具->录制脚本->运行测试->分析结果

14.您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。

微软WAS,LoadRunner

15.您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么?

关键是测试脚本的录制,测试时候测试环境的干净。

16.在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?

缺陷名词/描述/缺陷等级/严重程度/发现模块/发现步骤和过程/是否可以重现

17.您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷(Bug)的管理?如果有,请结合该工具描述软件缺陷(Bug)跟踪管理的流程。

CQ,也可以使用BugFree等免费工具。

19.您如何看待软件过程改进?在您曾经工作过的企业中,是否有一些需要改进的东西呢?您期望的理想的测试人员的工作环境是怎样的?

将先进的经验或思想固化到过程中,通过过程改进和能力提高来改进软件质量。

1白盒、黑盒,静态、动态,手动、自动,冒烟测试,回收测试,BETA测试。

2单元测试,集成测试,确认测试,系统测试,验收测试。

3 LR3部分:用户动作设计,场景设计,测试分析部分
步骤:测试测试。设计用户虚拟脚本。设计场景。执行测试。监视场景。分析测试结果。

4黑盒:功能划分,等价类划分,边界值分析,因果图,错误推测、

白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖、程序变异。   
白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。
其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。 

5为保证测试活动的可控性,必须在软件测试过程中进行软件测试配置管理,一般来说,软件测试配置管理中最基本的活动包括配置项标识、配置项控制、配置状态报告、配置审计

6软件验收测试合格通过准则:1软件需求分析说明书中定义的所有功能已全部实现,性能指标全部达到要求。2所有测试项没有残余的一级二级三级的错误。3立项审批表、需求分析文档、设计文档和编码实现一致。4验收测试工件齐全(测试计划,测试用例,测试日志,测试通知单,测试分析报告)

7软件的六大质量特性包括:______
①功能性、可靠性   ②可用性、效率   ③稳定性、可移植

8/集成测试的计划怎么写啊 ?

可以思考以下内容并用集成测试计划的模板写下来:

1、确定集成测试对象
2、确定集成测试策略
3、确定集成测试验收标准
4、确定集成测试挂起和恢复条件
5、估计集成测试工作量
6、估计集成测试所需资源

7、进行集成测试任务划分(包括任务名、责任人、 输入和输出、风险及应对措施、进度安排等)

9
    集成测试产生的工件清单
  1、 软件集成测试计划   2、 集成测试用例   3、 测试过程   4、 测试脚本   5、 测试日志   6、 测试评估摘要

10 静态分析就是对软件的源代码进行研读,查找错误或收集一些度量数据,并不需要对代码进行编译和执行。动态分析就是通过观察软件运行时的动作,来提供执行跟踪,时间分析,以及测试覆盖度方面的信息。

插入:insert into table1(field1,field2) values(value1,value2)
删除:delete from table1 where 范围
更新:update table1 set field1=value1 where 范围