软件测试基础题及答案


1、软件测试的结束标准是什么?

测试计划中所有规定的测试内容和回归测试都已经运行完成
或根据上级主管对测试结果的意见,就可以结束本次测试


2、一套完整的测试应该由几个阶段组长,分别阐述一下各个阶段。

一套完整的测试应该由5阶段组成

1.测试计划 
    首先,根据用户需求报告中关于功能要求和性能指标的规格说明书,定义相应的测试需求报告,即制订黑盒测试的最高标准,以后所有的测试工作都将围绕着测试需求来进行,符合测试需求的应用程序即是合格的,反之即是不合格的;同时,还要适当选择测试内容,合理安排测试人员、测试时间及测试资源等。 


2.测试设计 
      将测试计划阶段制订的测试需求分解、细化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例(测试用例选择的好坏将直接影响到测试结果的有效性)。 

3.测试开发 
      建立可重复使用的自动测试过程。 

4.测试执行 
    执行测试开发阶段建立的自动测试过程,并对所发现的缺陷进行跟踪管理。测试执行一般由单元测试、集成测试、系统联调及回归测试等步骤组成,测试人员应本着科学负责的态度,一步一个脚印地进行测试。 

5.测试评估 
   结合量化的测试覆盖域及缺陷跟踪报告,对于应用软件的质量和开发团队的工作进度及工作效率进行综合评价。 

 


3、什么是缺陷报告?

缺陷报告是描述软件缺陷现象和重现步骤地集合。软件缺陷报告SoftwareBug Report (SBR)或软件问题报告SoftwareProblem Report (SPR)


4、缺陷报告的作用

缺陷报告是软件测试人员的工作成果之一,体现软件测试的价值
缺陷报告可以把软件存在的缺陷准确的描述出来,便于开发人员修正
缺陷报告可以反映项目/产品当前的质量状态,便于项目整体进度和质量控制
软件测试缺陷报告是软件测试的输出成果之一,可以衡量测试人员的工作能力


6、软件测试缺陷报告的“5C”原则

内容准确(Correct):
每个组成部分的描述准确,不会引起误解
步骤简洁(Concise):
只包含必不可少的信息,不包括任何多余的内容
内容清晰(Clear):
每个组成部分的描述清晰,易于理解
结构完整(Complete):
包含复现该缺陷的完整步骤和其他本质信息
风格一致(Consistent):
按照一致的格式书写全部缺陷报告

7、缺陷的二八定理

80%的缺陷出现在20%的代码中


8、软件测试的流程

编写测试计划、设计测试用例、执行测试、提交缺陷报告、测试总结 。

第一步:确定需求文档和开发设计文档,根据这两份文档制定测试计划(需评审),拟定测试策略(需评审),需要考虑到测试环境,测试时间,测试风险等

第二步:设计测试用例,主要分:业务流测试、功能点测试、功能点之间的接口测试。进行测试用例的设计时,需要覆盖到各种正常、异常处理情况。同时还包括界面测试、浏览器兼容性测试,易用测试及性能测试等。

第三步:测试用例通过评审后,搭建测试环境,执行测试用例,记录提交bug,开发修复bug

第四步:对bug进行回测分析,完成测试报告编写


9、测试计划的目的是什么?测试计划的内容都包括什么?其中哪些是最重要的?

测试计划的目的:编写软件测试计划的目的是指导测试组成员进行工作和让测试组以外的项目成员了解测试工作的。


测试计划的内容:测试目的和测试项目简介、测试参考文档和测试提交文档、术语和定义、测试策略、确定测试内容、资源、测试进度、测试员的职责与任务分配、项目通过或失败的标准、暂停和重新启动测试的标准、风险和问题等。


最重要的:测试策略、确定测试内容、资源、测试进度、测试员的职责与任务分配、项目通过或失败的标准


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

黑盒测试:把测试对象当成一个黑盒子,测试人员完全不考虑逻辑结构和内部特性,只依据程式的需求说明书来检查程式的功能是否满足它的功能说明。
白盒测试:把测试对象当成一个透明的盒子,允许测试人员利用程序内部逻辑结构及相关信息,设计或选择测试用例,对程式所有逻辑路径进行测试。
单元测试:白盒测试的一种,对软件设计中的单元模块进行测试。
集成测试:在单元测试的基础上,对单元模块之间的连接和组装w进行测试。
系统测试
:在所有都考虑的情况下,对系统进行测试

 验收测试: 是向未来的用户表明系统能够像预定要求那样工作。经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是验收测试的任务,即软件的功能和性能如同用户所合理期待的那样。

1、  阶段评审与同行评审的区别?
参考答案:
同行评审目的:发现小规模工作产品的错误,只要是找错误;
阶段评审目的:评审模块阶段作品的正确性可行性 及完整性
同行评审人数:3-7人人员必须经过同行评审会议的培训,由SQA指导
阶段评审人数:5人左右评审人必须是专家具有系统评审资格
同行评审内容:内容小一般文档 < 40页,代码 < 500行
阶段评审内容: 内容多,主要看重点
同行评审时间:一小部分工作产品完成
阶段评审时间: 通常是设置在关键路径的时间点上

2、  测试结束的标准是什么?
参考答案:
从项目周期看:
1、超出了所分配的测试时间;
2、用尽了分配的测试资源;
3、到达了某一个固定的里程碑(如合同规定的交付日期)。
从测试角度看:
1、测试需求覆盖率;
2、测试代码覆盖率;
3、测试用例度量;
4、缺陷检查度量

3、  比较负载测试,容量测试和强度测试的区别?
参考答案:
负载测试:在一定的工作负荷下,系统的负荷及响应时间。检查软件在高负载情况下能否正常稳定工作。
强度测试:在一定的负荷条件下,在较长时间跨度内的系统连续运行给系统性能所造成的影响。
容量测试:确定系统可同时处理在线的最大用户数,检查处理大量数量的能力

4、 冒烟测试:是对软件基本的功能进行测试,测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件的基本功能正常。

 

5、 如何测试一个安装程序,选用什么工具,什么方法;
用虚拟机测试安装程序,在虚拟机上运行安装程序。
主要测试安装时的安装目录、环境变量、硬件环境以及卸载过程等。

 

6、 软件测试前需要做哪些准备工作;
①明确测试对象,了解测试内容;
②根据相关文档(需求文档和设计文档)编写软件测试计划,如测试策略、测试方法;
③设计测试用例;
④搭建测试环境;
最后是执行测试。
(提交测试报告)

 

7、 软件开发的阶段,软件测试的阶段,以及每个阶段的任务;
{RAD(rap application development),就是软件开发过程中的一个重要模型,称为快速应用开发模型。其模型构图形似字母V,所以又称V模型。他通过开发和测试同时进行的方式来缩短开发周期,提高开发效率。
V模型大体可以划分为下面几个不同的阶段步骤,既需求分析、概要设计、祥细设计、编码、单元测试、集成测试、系统测试、验收测试。}
需求分析:明确客户需要,按需求写出规格文档说明书;
概要设计:构建框架,描述模块功能及接口;
祥细设计:设计模块的具体实现方式及模块的组合方式(把程序的具体实现的功能,现象等描述出来);
编码:按照祥细设计好的模块功能表,编写出实际的代码;
单元测试(模块测试):按照设定好的最小测试单元进行按单元测试,主要是测试程序代码;
集成测试(也叫组装测试,联合测试):集成测试是在软件系统集成过程中所进行的测试,其主要目的是检查软件单位之间的接口是否正确;
系统测试:是对已经集成好的软件系统进行彻底的测试,以验证软件系统的正确性和性能等满足其指定的要求;
验收测试:验收测试的目的是确保软件准备就绪,并且可以让最终用户将其用于执行软件的既定功能和任务。

 

8、 如何测试一支笔

建议大家:

首先,问清楚面试官我手头可以利用的资源(SRS、HLD、LLD…),以及工作的进度(ST、IT、UT),我现在需要做些什么工作……(搞清楚我需要做什么,而不是埋头苦干);

其次,弄清楚我们的客户(使用产品的人群、行业……),确定测试的关注点以及优先级;再下面是,编写测试的详细计划、方案、用例(结合质量模型的六大特性,可能会涉及到功能、性能、安全测试),一系列文档,并提交领导审批;用质量模型的特性将产品功能细化、分解,提取测试项、测试子项,编写测试用例;最后是测试执行阶段。


 


 

你可能感兴趣的:(测试)