教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 外语考试 >

软件测试_读书笔记1

来源:网络收集 时间:2026-08-22
导读: 软件测试必备 一、软件测试基本概念和方法 o 三个重要的测试原则: 1. 软件测试是为发现错误而执行程序的过程; 2. 一个好的测试用例具有较高的发现某个尚未发现的错误的可能性; 3. 一个成功的测试用例能够发现某个尚未发现的错误。 1.测试的过程具有一定的

软件测试必备

一、软件测试基本概念和方法

o 三个重要的测试原则:

1. 软件测试是为发现错误而执行程序的过程;

2. 一个好的测试用例具有较高的发现某个尚未发现的错误的可能性;

3. 一个成功的测试用例能够发现某个尚未发现的错误。

1.测试的过程具有一定的破坏性

2.测试用例包括:输入数据的详细描述和正确输出结果的精确描述

3.检查程序是否‘没有做它应该做的’仅仅是测试一半,另一半是检查‘是否做了它不

应该做的’

4.全面测试目标:验证是否做了应该做的事情,确保可靠性

验证程序是否做了不应该做的事情,确保安全性

5.任何多余的功能都应视为安全隐患

6.Boehm给出的度量中的头10个表示软件现象遵守Pareto分布:

20%的模块消耗80%的资源(人力、经费等);

20%的模块包含80%的错误;

20%的错误消耗80%的修改成本;

20%的改进包含了80%的适应性为主的成本;

20%的模块占用了80%的执行时间;

20%的软件工具使用占80%的整个工具使用时间。

补充:20%的软件缺陷造成80%的软件故障

20%的软件开发和管理人员(骨干),决定了80%软件开发质量

:Pareto原理强调了精力集中在少数重要的事情上(vital few),而不是多数琐碎的事

情上(trivial many)。

6.软件测试是一种作为主体的人通过各种手段对客体软件的某种固有属性进行的一种以

7.软件质量的控制核心是过程控制

8.审查的终极目标——确认缺陷

9.人工审查包括:文档审查

代码审查

10.软件缺陷的类型:可追溯性、逻辑、赋值顺序、控制、数据、接口、文档、注释、例外情况处理、内存等。

11.只要简单地使用静态代码分析来增强输入验证的正确性就能够避免OWASP(业界领袖的

安全性协会)所列出的约70%的安全性问题。

12.圈度复杂度(独立路径的最大数量=程序控制流图中的区域数)=控制流图边数—控制流图的节点数+2

二、测试框架的表述

13.测试框架(Test Framework):一组相互协作的组件的集合,能够实现一个或多个测试域中的一系列问题的解决方案。

14.框架最大的好处就是重用。还能重用分析。必须具有易用性(简洁易懂),具有良好的可扩展性。

21.原则层在测试框架中抽象级别最高,由一组基本原则构成,是建立框架的基础。

22.结构层:是原则层中基本原则的结构化实现,也是对测试解决方案的具体表述。 是框架进行复用和扩展的核心。

细节层:定义了结构层中组件的属性以及属性取值的范围和规律。

是对结构层组件的附加说明,每个组件都需要通过一些属性来进行详细描述。 组件的属性是进行框架实例化(根据具体的被测软件以及测试的目标对测试框架中组件属性的直接操作)的基础。

测试框架的优势:

1) 利用面向对象技术

2) 更大的应用领域

3) 测试组件的复用

4) 提高了测试的有效性

5) 良好的可扩展性和易用性

23.测试框架功能性体现在以下2个方面:

1) 测试框架所表述的测试解决方案的测试能力。

2)

24.测试框架可维护性体现在:

1) 测试框架的组件化和模块化(基础)

2) 测试框架体系结构的合理性(良好的可修改和可扩展性,准确表述解决方案)

25.基于测试框架的软件测试过程:

1)

① 确定测试目标

② 选择框架

2) ① 测试框架学习

② 测试框架扩展(根据测试对象和目标考察框架与测试需求之间的符合程度,决定是否来扩展)

③ 框架实例化

④ 进行软件测试

26.测试框架适配

1) ① 识别可扩展点

② 进行更改

2)

27.应用框架可分为

冷点 Frozen Spot(实例化过程中始终保持不变的部分)

热点 Hot Spot (=可扩展点 extension point,描述了应用框架中那些具体应用需求而不同的部分)

28.测试框架的设计原则

1) 提供准确而完整的功能

2) 主要考虑2方面:普适性【能够在多大范围内得到复用】和可操作性【是否能够有效地针对具体的测试领域进行具有专门性的测试】)

3) 尽量采用组件化和模块化设计

测试框架的设计过程

是否还有具体的概念可以进一步泛化,测试方法是否可以进一步进行抽象以及测试解决方案和测试域之间的符合程度)

2) 测试框架的设计(重点解决的问题:测试框架中哪些部分是可以改变的?组件的属性设置是否合适,测试解决方案的抽象程度是否适度)

二、软件测试过程

29.瀑布模型(将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动

规定了各个软件过程自上而下,相互衔接的固定次序,如同瀑布逐级下落)

缺点:缺乏灵活性,特别是软件开发初期,在软件需求开发尚不明确或不准确地情况下

30. V模型

将瀑布模型中的测试部分做了细化,其最大特点(可能也是最大的缺点)就是“线性执行”,测试的工作在编码完成后才开始进行,显然不符合软件测试的“3早”原则.

缺点:V模型失败的原因是它把系统开发过程划分为具有固定边界的不同阶段,

这使得人们很难跨过这些边界来采集测试所需要的信息。

有些测试应该执行得更早些,有些测试则需要延后进行。而且,它也阻碍了你从

系统描述的不同阶段中取得信息进行综合。例如,某些组织有时执行这样的做法,即对完成的工作进行签署。这样的规定也扩展到系统测试的设计。签署表示已经过评估,该测试设计工作已经完成,除非对应的设计文档改变,否则就不会被修订。如果同这些测试相关的信息后来被重新挖掘和认识,例如,架构设计表明有些测试是多余的,或者,详细设计表明有一个内部的边界可以和已存在的系统测试组合在一起进行测试的话,那么实际上还需要继续调整原来的系统测试设计。

31.螺旋模型

(将瀑布模型和快速原型模型结合起来,强调了其他模型所忽视的风险分析,特别适合于大型复杂的系统。

螺旋模型沿着螺线进行若干次迭代,图中的四个象限代表了以下活动:

(1)制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件;

(2)风险分析:分析评估所选方案,考虑如何识别和消除风险;

(3)实施工程:实施软件开发和验证;

(4)客户评估:评价开发工作,提出修正建议,制定下一步计划。

螺旋模型由风险驱动,强调可选方案和约束条件从而支持软件的重用,有助于将软件质量作为特殊目标融入产品开发之中。

优点

1)设计上的灵活性,可以在项目的各个阶段进行变更。

2)以小的分段来构建大型系统,使成本计算变得简单容易。

3)客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。

4)随着项目推进,客户始终掌握项目的最新信息 , 从而他或她能够和管理层有效地交互。

5)客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。

缺点

很难让用户确信这种演化方法的结果是可以控制的。建设周期长,而软件技术发展比较快,所以经常出现软件开发完 …… 此处隐藏:4840字,全部文档内容请下载后查看。喜欢就下载吧 ……

软件测试_读书笔记1.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1694509.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)