软件测试面试大全

来源:互联网 发布:java 自定义表单 编辑:程序博客网 时间:2024/05/01 15:39

一,填空题

1,软件验收测试包括:正式验收测试,alpha测试,beta测试。

2,系统测试的策略有:功能测试,性能测试,可靠性测试,负载测试,易用性测试,强度测试,安全测试,配置测试,安装测试,卸载测试,文档测试,故障恢复测试,界面测试,容量测试,兼容性测试,分布测试,可用性测试。

3,设计系统测试计划需要参考的项目文档有:软件测试计划,软件需求工件和迭代计划。

4,对面向过程的系统采用的继承策略有:自顶向下,自底向上两种。

5 通过画因果图来写测试用例的步骤为:1,分析软件规格说明中的那些原因那些结果 2分析软件规格说明语义找出原因与结果之间,原因与原因之间对应关系3,在因果图上做一些几号表明约束或限制条件4把因果图转换为判定表以及把因果图转换为状态图共五个步骤。

6软件实施活动的输出工件是:基本上设计工件模型等都是先勾画出一个轮廓,然后慢慢的添加或者把独立的工件设计好再组合在一起。

7.代码评审主要做一类是正式技术评审,也成同行评审,另一类是非正式的技术评审工作代码评审做的工作主要有:1保证代码和详细设计的一一致,详细设计文档每一项都用代码实现,没有遗漏和增加  2,保证在编码阶段没有引入新的错误,代码在逻辑上是没有问题的。

8 软件测试主要分为:单元测试 集成测试 系统测试 回归测试  四类测试

9  软件测试活动有制定测试计划 测试平湖  测试结束八个步骤。

10 软件测试角色有:计划者  设计者 实施者  执行者  报告者。

二 问答题

1,什么是软件测试?

答:软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各个阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。

2软件测试的目的?

答:测试目的是以最少的人力,物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷来提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患带来的商业风险。

3白盒测试有哪几种方法

答:白盒测试也称结构化测试或者逻辑驱动测试,他是知道产品内部工作的过程,可通过测试产品内部动作是否按照规格说明书的规定正常工作,按照程序内部的结构测试程序,检验程序中的每条桐庐是否都有能按照预期的要求正确工作,而不顾他的功能,白盒测试的主要方法有逻辑驱动,基路测试等,主要用于软件验证。白盒法全面料及程序的内部逻辑结构,对所以逻辑路径进行测试。白盒法是穷举路径测试。

4如果能够执行完美的黑盒测试,还需要进行白盒测试吗(区别)?

任何工程产品都可以使用一下两种方法之意进行测试。

黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。

白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否以经过检查。

软件的黑盒测试意味着测试要在软件的接口处进行,这种方法是把测试对象看做一个黑盒子,测试人员完全不需要考虑程序的内部逻辑结构和内部特性,只一句程序的需求规格说明书,检查程序的功能是否符合他的功能说明,因此黑盒又叫功能测试或者数据驱动测试。黑盒测试主要为了发现以下几类错误:

1,是否有不正确或遗漏的功能?

2,在接口上,输入是否能正确的接受?能否输出正确的结果?

3是否有数据结构错误或外部信息访问错误。

4 性能上是否能满足要求?

5是否有初始化或终止性错误。

软件的白盒测试是对软件的过程性细节做细致的检查,这种方法是把测试对象看做一个打开的盒子,他允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序状态,确定实际状态是否与预期的状态一致,因此白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是相对程序模块进行如下检查:

1,对程序模块的所有独立的执行路径至少测试一遍。

2,对所有的逻辑判定,取真与取假的两种情况都能至少测一遍。

3,在循环的边界和运行的界限内执行循环体。

4,测试内部数据结构的有效性,等等。

以上事实说明,软件测试有一个致命的缺陷,即测试不完全,不彻底性,由于任何程序只能进行少量的有限测试,在未发现错误时,不能说明程序中没有错误。

6软件测试应该划分为几个阶段 各个阶段应重点测试的点?各个阶段的含义?

答:大体上来说可分为单元测试,集成测试系统测试,验收测试,每个阶段又分为一下五个步骤:测试计划,测试设计 用例设计,执行结果 测试报告

初始测试集中在每个模块上,保证源代码的正确性,该阶段称为单元测试,主要用白盒测试方法。

接下来是模块集成和集成以便组成完整的软件包,集成测试集中在正实和程序构成问题上。

主要采用黑盒测试,辅助以白盒测试方法。

软件集成后,需要完成确认和系统测试,确认测试提供软件满足所有功能,性能需求的最后保证,确认测试仅仅应用黑盒测试方法。

单元测试

单元测试是对软件中的基本组成单位进行测试,如一个模块,一个过程等等,他是软件动态太测试的最基本部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。

集成测试

集成测试是在软件集成过程中所进行的测试,其主要目的是检查软件单位之间的借口时候正确

系统测试

系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的先知者问题。

验收测试

验收测试意在向软件的购买者展示该软件的系统满足其用户的需求,他的测试数据通常是系统测试的测试数据的子集。

回归测试

回归测试是在软件的维护阶段,对软件进行修改之后进行的测试,其目的是检验对软件进行修改是否正确。

7 针对缺陷采取怎样的管理措施?

1) 要更好的管理缺陷,必须引入缺陷管理工具,商用的或者开源的都可、

2)根据缺陷的生命周期,考虑缺陷提交的管理,缺陷状态的管理和缺陷分析的管理。

3)所有发现的缺陷都必须全部及时的,准确的提交到缺陷管理工具中,这是缺陷提交的管理。

4)缺陷提交后,需要及时的指派给相应的开发人员,提交缺陷的人需要密切注意缺陷的状态,帮助缺陷尽快解决,缺陷解决后需要即时对缺陷的修复进行验证,这样的目的有两个:一个好似让缺陷尽快解决;

二是方便后面缺陷的分析,这是缺陷状态的管理。

5)为了更好的改进开发过程和测试过程,需要对缺陷进行分析,总结如缺陷的类别,缺陷的龄期分布信息,这是缺陷的分析管理。

8 单元测试,集成测试,系统测试的侧重点是什么?

答:单元测试是在软件开发过程中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试,测试重点是系统的模块,包括子程序的正确性验证等。

集成测试,也叫组装测试或者联合测试,在单元测试的基础上,将所有模块按照设计要求,组装成为子系统或系统,进行集成测试。实践表明,一些模块虽然能够单独地工作,但并不能保证链接起来也能正常工作,程序在某些局部反应不出来问题,在全局上很可能暴漏出来,影响功能的实现,侧重点是模块间的衔接以及参数的传递等。


系统测试:是将经过测试的子系统装配成一个完整系统来测试,它是检测系统是否确实能提供系统方案说明书中指定功能的有效方法。测试重点是整个系统的运行以及与其他软件的兼容性。


9 设计用例的方法,依据有哪些?

答:白盒测试用例设计有如下方法:基本路径测试,等价类划分,边界值分析,覆盖测试,循环测试,数据流测试,程序插桩测试,变异测试,这时候依据就是详细设计说明书及其代码结构

黑盒测试用例设计说明:基于用户需求的测试,功能图分析方法,等价类划分方法,边界值分析方法,错误推测方法,因果图方法,判定表驱动分析方法,正交实验设计方法,依据是用户需求规格说明书,详细设计说明书。

10 项目的集中管理在软件公司的哪个层面?

答:质量管理

11,什么是测试评估,测试评估的范围是神吗?

软件测试评估是指对未证实投入商业化使用的软件进行预先的小规模试验,又称小试,主要是由代码审查和合理性分析组成。

测试评估的范围:功能,性能,界面,实用性,速度,兼容性,易用性,各模块的完善性等。

12 请画出软件测试活动的流程图

立项阶段,需求阶段,设计阶段,编码单元测试阶段,集成阶段,系统测试阶段,验收测试阶段,结项总结阶段。

13测试的生命周期:测试需求,测试总体设计,测试详细设计,单元测试,集成测试,系统测试,验收测试。

测试过程分:初始阶段,测试设计阶段,测试执行阶段,总结评估阶段。

14 区别阶段评审和同行评审

同行评审目的:发现小规模工作产品的错误,只要是找错误。

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


15简述集成测试的过程

1构建的确认过程 2补丁的确认过程 3 系统集成测试测试组提交过程 4测试用例设计过程 5测试代码的编写过程 6bug报告过程。7每周、每两周的构建过程 8点对点的测试过程 9组内培训过程。