软件检验测试基础知识

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一.测试基础:

1.瀑布模型软件生命周期分为哪些阶段

计划阶段

需求分析阶段

设计阶段

编码阶段

测试阶段

运行维护阶段

2.软件测试的预防目的,是预防什么

尽早返现、尽早解决,避免问题延后导致的问题扩大化

发现问题找出问题原因,并实施改进,从而避免同类问题的再次发生

3.软件测试的对象包括哪些

可执行的程序

开发这个程序的一切中间过程产品,包括需求文档、设计文档、源代码

该程序所在的运行环境

4.设计阶段要设计哪2个文档,中英文名分别叫什么?

概要设计,HLD

详细设计,LLD

5.软件研发团队中包括哪些角色?

项目经理

需求分析人员

设计人员

编码人员

测试人员

QA

配置管理人员

二.测试方法:

6.说一下白盒测试、黑盒测试、灰盒测试的区别

黑盒测试:把测试对象看做一个黑盒子,不考虑内部逻辑,只依据外部规格要求,检查产品的实际规格是否符合要求的测试方法。

白盒测试:把测试对象看做一个打开的盒子,利用设计的内部逻辑结构,对产品运行逻辑进行测试的方法。

灰盒测试:是介于白盒测试与黑盒测试之间的,灰盒测试关注输出对于输入的正确性,同时也关注内部表现。

7.说一下白盒测试、黑盒测试各自的优缺点

黑盒测试优点:

1.符合使用者的视角,测试人员容易理解、容易执行

2.对测试人员技能要求不高,工作量相对较小

3.发现的问题都是和规格不一致的异常

黑盒测试缺点:

1.难于考虑到因设计引入的新的测试项,导致测试有遗漏

2.难于对复杂业务进行充分覆盖的测试

3.发现问题相对较难定位

白盒测试优点:

1.深入到最底层逻辑进行测试,能发现深层次问题

2.逻辑覆盖充分,可达到足够高的覆盖率

3.发现问题后定位解决问题成本低

白盒测试缺点:

1.测试技能要求高,测试工作量绝大

2.发现的不一定是规格上的缺陷

8.功能测试自动化适用的场合

回归次数多

质量要求高

版本迭代变化不大

9.静态测试和动态测试的区别

静态测试,无需运行被测试对象,而是直接观察,通常静态测试的对象是文档和源代码

动态测试,运行被测试产品,观察产品运行时的表现现象。通常测试对象是可执行的程序。

10.对自动化能否取代手工测试这个问题,你是怎么理解的?

自动化测试无法取代手工测试。因为:

1.自动化测试适用的场合比较少,而手工测试适合于大部分场合

2.自动化测试解决的不是测试的质量问题,而是测试的效率问题,单纯靠自动化测试无法发现产品突发性的问题

3.正常的测试过程中,手工测试居主,对没有修改的模块进行回归测试,才是自动化测试的主要适用场合

通过对大部分没有修改模块的自动化测试,可以大大节约人力,来投入到更需要手工测试的复杂或修改过的模块,通过更细致的手工测试来提高产品质量

三.测试过程:

11.软件测试过程一般划分为几个阶段?每个阶段的测试重点是什么?

单元、集成、系统、验收

单元测试主要测试单元内部的数据结构、逻辑控制、异常处理等

集成测试主要测试模块之间的接口和接口数据传递关系,以及模块组合后的整体功能

系统测试主要测试整个系统相对于需求的符合度

验收测试主要测试产品是否达到用户可使用的状态

12.瀑布模型与双v模型的优缺点

瀑布模型有以下优点:

1)为项目提供了按阶段划分的检查点。

2)当前一阶段完成后,您只需要去关注后续阶段。

3)可在迭代模型中应用瀑布模型。

瀑布模型有以下缺点:

1)在项目各个阶段之间极少有反馈。

2)只有在项目生命周期的后期才能看到结果。

3)通过过多的强制完成日期和里程碑来跟踪各个项目阶段。

双V模型的优点:

1)将测试贯穿到整个软件的生命周期中,且除了代码要测试,需求、设计等都要测试。2)测试更早的介入到软件开发中,能尽早的发现缺陷进行修复。

3)测试与开发独立起来,并与开发并行。

双V模型的缺点:

1)对有些项目,开发过程中根本没有文档产生,故W模型无法使用。

2)对于需求和设计的测试技术要求很高,实践起来很困难。

13.什么是回归测试?你们公司是如何做回归测试的?

回归测试,即就是在软件生命周期中,只要软件发生了改变,就可能给该软件产产生问题;所以,每当软件发生变化时,我们就必须重新测试现有的功能,以便确定修改是否达到了预期的目的,检查修改是否破坏原有的正常功能。

回归测试可以发生在任何一个阶段,包括单元测试、集成测试和系统测试。

回归测试实施过程:

1、在测试策略制定阶段,制定回归测试策略

2、确定需要回归测试的版本

3、回归测试版本发布,按照回归测试策略执行回归测试

4、回归测试通过,关闭缺陷跟踪单(问题单)

5、回归测试不通过,缺陷跟踪单返回开发人员,开发人员重新修改问题,再次提交测试人员回归测试

14.回归测试的策略有哪些?

完全重复的回归测试策略

选择性重复的回归测试策略,包括了错误修改法、周边影响法、指标达成法

15.你们公司的测试流程是什么?

1)需求评审-需求定稿,测试人员理解需求

2)测试组长发布测试计划

3)测试人员进行测试方案的编写及评审

4)测试人员根据测试方案定稿进行测试类型选择、测试用例的编写和评审

5)测试人员根据测试用例进执行功能、性能、易用性、安装性、健壮性、恢复性等各类型的测试

6)发现问题提交缺陷,并审核缺陷

7)修复后,进行回归测试确认bug修复,关闭bug

8)编写测试报告及总结

9)提交过程文档到知识库。

四.测试覆盖率:

1、白盒测试的覆盖率有哪些?如何计算的?

1)语句覆盖率:所有的用例运行被测试程序后,执行到的语句所占总语句的比率

覆盖率=所有用例执行到的语句/总语句

2)判定覆盖率:所有的用例运行被测试程序后,执行到的取真/取假分支总数所占总分支数的比率

覆盖率=(所有用例执行到的取真分支数+取假分支数)/总分支数

3)条件覆盖率:所有的用例运行被测试程序后,执行到的条件取真值假值总数所占总条件取值的比率

覆盖率:(所有用例执行到条件的取真值+取假值)/总条件取值数

4)判定-条件覆盖率:所有的用例运行被测试程序后,执行到的条件取真假值总数与判定真假分支的总数所占总条件取值以及总的判定分支总数的比率

覆盖率:(所有用例执行到条件的取值数+执行到分支数)/(总条件取值+总分支的取值)

5)条件组合覆盖率:所有的用例运行被测试程序后,执行到的条件组合总数所占总条件组合的比率

所有用例执行到条件组合数/总条件组合数

相关文档
最新文档