一、选择题
1. 软件测试技术可以分为静态测试和动态测试,下列说法中错误的是( )
A. 静态测试是指不运行程序,通过检查和阅读等手段来发现程序中的错误。
B. 动态测试是指实际运行程序,通过运行的结果来发现程序中的错误。
C. 动态测试包括黑盒测试和白盒测试。
D. 白盒测试是静态测试,黑盒测试是动态测试。
参考答案:D
2. 划分软件测试属于白盒测试还是黑盒测试的依据是( )
A. 是否执行程序代码
B. 是否能看到软件设计文档
C. 是否能看到被测源程序
D. 运行结果是否确定
参考答案:C
3.( )把黑盒测试和白盒测试的界限打乱了。
A. 灰盒测试 B. 动态测试 C. 静态测试 D. 失败测试
参考答案:A
4. 在软件测试用例设计的方法中,最常用的方法是黑盒测试和白盒测试,其中不属于白盒测试所关注的是( )
A. 程序结构 B. 软件外部功能 C. 程序正确性 D. 程序内部逻辑
参考答案:B
5.(1分)下列哪项不属于黑盒测试的优点( )
A. 不需要源代码
B. 测试简单易行
C. 可以对代码进行有针对性的测试
D. 可以发现软件功能上的问题
参考答案:C
二、填空题
1. 动态测试的两个基本要素是_______________、__________________。
参考答案:被测试程序 测试用例
2. 软件测试的 W 模型由两个 V 字组成,分别代表_________与_________过程。
参考答案:软件质量验证,确认,测试 软件开发
3. 按照是否需要知道被测试程序的内部结构,测试方法可以分为_________和_________。
参考答案:黑盒测试 白盒测试
三、判断题
- 黑盒测试的测试用例是根据程序内部逻辑设计的。
✘
- 软件测试是有效的发现软件缺陷的手段。
✔
- 集成测试计划在需求分析阶段末提交。
✘
四、解答题
1. 试对比分析软件测试的V模型和W模型。
① W模型由两个V模型组成,增加了同步进行的验证和确认活动。
② W模型软件质量保证和测试不仅是程序还有文档。
③ V模型是先开发后测试。
2. 请分析黑盒测试、白盒测试、静态测试、动态测试之间的关系。
① 黑盒测试一定都是动态测试, 因为黑盒测试都需要运行被测试程序;
② 白盒测试既有静态测试, 如代码检查, 静态结构分析等, 也有动态测试, 如逻辑覆盖测试等;
③ 动态测试有可能是黑盒测试, 如根据软件规格说明书进行功能测试,也有可能是白盒测试,如针对源程序做逻辑覆盖测试;
④ 静态测试只可能是白盒测试, 因为黑盒测试一定都是动态测试, 都需要运行被测试程序
3. 试对比分析黑盒测试、白盒测试各自的优缺点。
==优点:==
黑盒:
① 比较简单,不需要了解程序的内部结构。与软件的内部实现无关。不需要了解程序的内部的代码及实现
② 从用户角度出发,指导用户使用的哪些功能。能很容易的知道用户会用到哪些功能,会遇到哪些问题
③ 基于软件开发文档,能与文档测试相结合。所以也能知道软件实现了文档中的哪些功能
④ 在做软件自动化测试时比较方便。
白盒:
① 帮助软件测试人员增大代码的覆盖率。 提高代码的质量,发现代码中隐藏的问题
==缺点:==
黑盒 :
1)不可能覆盖所有的代码, 覆盖率较低,大概只能达到总代码量的30%
2)自动化测试的复用性较低。
白盒 :
1)程序运行会有很多不同的路径,不可能测试所有的运行路径
2)测试基于代码,只能测试开发人员做的对不对,而不能知道设计是否正确,可能会漏掉一些功能需求
3)系统庞大时,测试开销会非常大。
4. 你认为应如何对一个软件实施测试。
结合我参与的课程设计和软件开发项目,采用的基本如 V 模型一样的测试过程.
①测试与开发应该同时进行。
②测试应该分为:单元测试,集成测试,系统测试,验收测试四步。
③对软件需求和软件设计进行验证确认。
④综合使用多种测试技术。
⑤采用自动化测试技术,工具,提高效率。
⑥一项测试任务应该包含需求分析,测试设计,测试开发,测试执行,测试总结,测试报告,六大环节。
⑦测试代码可以采取先静态测试再动态测试。
⑧对重点模块应该采用多种覆盖的代码。
⑨不同测试阶段侧重点不同。
5. 试结合你所参与过的软件项目,阐述软件测试工作的一般过程。
过程:需求分析->概要设计->详细设计->编码->单元测试->集成测试->系统测试->验收测试
测试贯穿者整个软件开发活动的始终,前期恰到其时的测试可以为后期节约大量的时间成本
顺序:需求分析,概要设计,详细设计,编码,
单元测试(软件详细设计说明书)确保每个程序模块能正常工作,
集成测试(软件概要设计说明书)对已通过单元测试模块组装再进行测试,
系统测试(软件规格说明书)软件系统搭建后,检查产品是否满足软件规格说明书中功能性能,
验收测试(软件需求规格说明书)从用户的角度检验和测试,看产品是否符合用户需求。
6. 请分析动态白盒测试与黑盒测试的区别。
==动态白盒测试==: 利用查看代码功能和实现方式得到的信息来设计和执行测试, 也叫结构测试;测试程序接口与结构, 测试依据软件程序, 对程序内部特定部位进行覆盖测试, 无法检验程序外部特性.
==黑盒测试==: 已知产品的功能设计规格, 可以进行测试证明每个实现了的功能是否符合要求, 测试功能, 测试依据需求规格说明书, 能站在用户的立场上进行测试, 不能测试程序内部特定部位, 如程序有误, 则无法发现.
即:动态白盒测试设计测试用例依据是程序的逻辑结构,动态黑盒测试设计测验用例依据是程序规格说明。