目录
1~8、前情回顾——面试题1
9、什么是白盒测试?
10、什么是静态测试?
11、什么是回归测试?
12、白盒测试有哪几种方法?
13、软件的缺陷等级应如何划分?
14、如果能够执行完美的黑盒测试,还需要进行白盒测试吗?(白盒与黑盒的区别)
15、软件测试应该划分几个阶段?简述各个阶段应重点测试的点?各个阶段的含义?
16、什么是单元测试?
17、什么是集成测试?
18、什么是系统测试?
19、什么是验收测试?
20、什么是回归测试?
9、什么是白盒测试?答:白盒测试(White-box Testing,又称逻辑驱动测试,结构测试),它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。 对开发语言的支持:白盒测试工具是对源代码进行的测试,测试的主要内容包括词法分析与语法分析、静态错误分析、动态检测等。目前测试工具主要支持的开发语言包括:标准C、C++、Visual C++、Java、Visual J++等。
10、什么是静态测试?答:通过运行程序测试软件称为动态测试.通过评审文档、阅读代码等方式测试软件称为静态测试,在动态测试中,通常使用白盒测试和黑盒测试从不同的角度设计测试用例,查找软件代码中的错误.
- 静态测试方法是指不运行被测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。
- 对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。
- 静态方法通过程序静态特性的分析,找出欠缺和可疑之处,例如不匹配的参数、不适当的循环嵌套和分支嵌套、不允许的递归、未使用过的变量、空指针的引用和可疑的计算等。
- 静态测试结果可用于进一步的查错,并为测试用例选取提供指导。
答:回归测试的目的是在程序有修改的情况下,保证原有功能正常的一种测试策略和方法。 说白了就是,我们测试人员在对程序进行测试时发现bug,然后返还程序员修改,程序员修改后发布新的软件包或新的软件补丁包给我们测试人员,我们就要重新对这个程序测试,已保证程序在修正了以前bug的情况下,正常运行,且不会带来新的错误的这样一个过程。 一般情况下是不需要全面测试的,而是根据修改的情况进行有效的测试。
12、白盒测试有哪几种方法?答:白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预定要求正确工作,而不顾它的功能,白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。“白盒”法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒”法是穷举路径测试。
13、软件的缺陷等级应如何划分?软件缺陷的等级可以用严重性和优先级来描述;严重性:衡量缺陷对客户满意度影响的满意程度,分为 1,致命错误,可能导致本模块以及其他相关的模块异常,死机等问题; 2.严重错误,问题局限在本模块,导致模块功能失常或异常退出; 3.一般错误,模块功能部分失效; 4.建议模块,有问题提出人对测试模块的改进建议;优先级:缺陷被修复的紧急程度; 1.立即解决(P1级):缺陷导致系统功能几乎不能使用或者测试不能继续,需立即修复; 2.高优先级(P2级):缺陷严重,影响测试,需优先考虑; 3.正常排队(P3级):缺陷需要正常排队等待修复; 4.低优先级(P4级):缺陷可以在有时间的时候被纠正;
14、如果能够执行完美的黑盒测试,还需要进行白盒测试吗?(白盒与黑盒的区别)答:任何工程产品(注意是任何工程产品)都可以使用以下两种方法之一进行测试。
答案(白盒与黑盒的区别)
15、软件测试应该划分几个阶段?简述各个阶段应重点测试的点?各个阶段的含义?答:大体上来说可分为单元测试,集成测试,系统测试,验收测试,
每个阶段又分为以下五个步骤: 测试计划,测试设计,用例设计,执行结果,测试报告 初始测试集中在每个模块上,保证源代码的正确性,该阶段成为单元测试,主要用白盒测试方法。 接下来是模块集成和集成以便组成完整的软件包。
集成测试集中在证实和程序构成问题上。主要采用黑盒测试方法,辅之以白盒测试方法。 软件集成后,需要完成确认和系统测试。
确认测试提供软件满足所有功能、性能需求的最后保证。确认测试仅仅应用黑盒测试方法。
16、什么是单元测试?答:单元测试是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。
17、什么是集成测试?答:集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。
18、什么是系统测试?答:系统测试是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其规约所指定的要求,检查软件的行为和输出是否正确并非一项简单的任务,它被称为测试的“先知者问题”。
19、什么是验收测试?答:验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集。
20、什么是回归测试?答:回归测试是在软件维护阶段,对软件进行修改之后进行的测试。其目的是检验对软件进行的修改是否正确。