软件实现与有效性验证SoftwareImplementationand
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
▪ 必选设计性质、标准和顾客要求来平衡执行时间和成本之
间的关系。
▪ 在速度是是非常重要的指标时,必须学会使用编译器来最
优化代码。
程序设计的指导方针
❖ 数据结构方面:
限定输入输出的方式和格式,要有良好的风格,尽
可能方便用户的使用;
要包含一些伪码对数据结构进行注释; 对不好的代码结构要重写,不要姑息、修补; 尽可能使用复用代码。
市场环境
❖ Getting a product to market early may be more important than finding defects in the program.
静态与动态检验
❖ 软件检查
通过对系统的各种静态成果,如需求文档、设计文 档、源代码,进行检查和分析发现问题。
静态与动态检验
Software inspections
Software testing
程序测试
❖ 测试的目的是为了揭示程序中存在错误,而不 是没有错误。
❖ 静态检查无法检验软件是否可用,也不能检验 非功能需求,因此程序测试是必不可少的,是 起决定性作用的V & V技术。
❖ 在V & V过程中,程序测试和静态检查通常是 结合在一起使用的。
❖ V & V过程有两个基本目标:
发现系统的缺陷; 从操作的角度评价系统的有用性和可用性。
V& V 目标
❖ 检验和有效性验证的最终目标是要建立“软件 达到了设计目标”的信心。
❖ 并不要求软件系统完全无缺陷。而是足以完成 用户所要求的任务。
V & V 信心
❖ 对V & V所要求的信心程度取决于系统的设计目标、用户的
1 程序设计与调试
❖ 程序设计的任务是把设计转换成程序以及在程 序中去除错误,包括编程与调试两个过程。
❖ 编程是一种个人行为—通常没有统一的模式。 ❖ 通常,程序员要对自己开发的程序进行测试,
这时程序中的一些明显的错误会暴露出来并被 根除,这个过程叫调试。
调试过程
程序设计的指导方针
▪ 无论采用什么编程语言,每个程序待援(组件) 都会涉及到三个方面:
❖ 有效性测试
Intended to show that the software meets its requirements.
A successful test is one that shows that a requirements has been properly implemented.
期望和目前的市场环境: 软件功能
❖ The level of confidence depends on how critical the software is to an organisation.
用户期望
❖ Users may have low expectations of certain kinds of software.
❖ 测试规划主要是制定测试过程标准,而不是描 述测试本身。
系统开发的 V 模型
软件测试计划的结构
❖ 测试过程 ❖ 需求跟踪 ❖ 测试项目 ❖ 测试进度 ❖ 测试记录程序 ❖ 硬软件需求 ❖ 约束
2.2 软件审查
May be supplement by tool-based document and code analysis
❖ 软件测试
通过使用测试数据执行系统,检查运行结果来发现 问题。
The system is executed with test data and its operational behaviour is observed
测试和调试
❖ 缺陷测试和调试是不同的过程,通常交叉进行。
检验和有效性验证的目的是确定系统中存在缺陷; 调试考虑的是定位和修改缺陷。
调试过程
2.1 V & V 规划
❖ 仔细的规划能够使程序检查和测试的工作得到 更多的回报。
❖ V & V过程的规划应该从开发过程的早期就开 始。
❖ V & V 规划应该明确的说明静态检查与测试任 务与分工。
程序设计的指导方针
▪ 可复用组件的生产要注意:
▪ 是组件一般化; ▪ 良好的独立性; ▪ 要有定义良好的组件接口; ▪ 保留每次修改的记录; ▪ 使用清晰的命名规则; ▪ 建立数据结构与算法的相关文档; ▪ 使通讯和错误的处理部分相分离,易于修改。
2 检验和有效性验证
( Verification & Validation)
目标
❖ 了解编程和调试的一些基本原则; ❖ 掌握软件检验和有效性验证的基本知识和程序检
查过程及方法; ❖ 了解静态分析技术; ❖ 熟悉软件测试的基本方法; ❖ 了解有效性测试和缺陷测试的区别; ❖ 掌握系统及组件测试的原则和测试用例产生的策
略; ❖ 了解支持测试的CASE工具的工作原理。
内容
❖ 程序设计与调试; ❖ 检验与有效性验证; ❖ 软件测试
❖ 检验: "Are we building the product right”.
检查软件是否符合它的规格描述。
❖ 有效性验证: "Are we building the right product”.
检查软件是否满足客户的期待。
V & V 过程
❖ 在软件整个生命周期中 V & V 必须在软件过程 的每一个阶段得以执行。
控制结构、算法和数据结构
▪ 控制结构方面:
▪ 通过设计模型构建程序的过程中,我们可以在不同 层次上隐藏实现细节,这样有助于对系统程序的理 解、测试与维护;
▪ 一般性是一种比较好的习惯,程序不要太“专业”, 要易懂。
程序设计的指wenku.baidu.com方针
▪ 算法方面:
▪ 使代码执行更快可能会涉及到几个潜在的成本:
* 快速代码通常更复杂,会增加设计与编写上的成本; * 快速代码的测试难度增加,会增加额外的测试成本; * 快速代码的易理解性会降低,会增加用户理解的成本; * 修改代码的成本。
测试类型
❖ 缺陷测试
Tests designed to discover system defects. A successful defect test is one which reveals the
presence of defects in a system. Covered in Chapter 23
间的关系。
▪ 在速度是是非常重要的指标时,必须学会使用编译器来最
优化代码。
程序设计的指导方针
❖ 数据结构方面:
限定输入输出的方式和格式,要有良好的风格,尽
可能方便用户的使用;
要包含一些伪码对数据结构进行注释; 对不好的代码结构要重写,不要姑息、修补; 尽可能使用复用代码。
市场环境
❖ Getting a product to market early may be more important than finding defects in the program.
静态与动态检验
❖ 软件检查
通过对系统的各种静态成果,如需求文档、设计文 档、源代码,进行检查和分析发现问题。
静态与动态检验
Software inspections
Software testing
程序测试
❖ 测试的目的是为了揭示程序中存在错误,而不 是没有错误。
❖ 静态检查无法检验软件是否可用,也不能检验 非功能需求,因此程序测试是必不可少的,是 起决定性作用的V & V技术。
❖ 在V & V过程中,程序测试和静态检查通常是 结合在一起使用的。
❖ V & V过程有两个基本目标:
发现系统的缺陷; 从操作的角度评价系统的有用性和可用性。
V& V 目标
❖ 检验和有效性验证的最终目标是要建立“软件 达到了设计目标”的信心。
❖ 并不要求软件系统完全无缺陷。而是足以完成 用户所要求的任务。
V & V 信心
❖ 对V & V所要求的信心程度取决于系统的设计目标、用户的
1 程序设计与调试
❖ 程序设计的任务是把设计转换成程序以及在程 序中去除错误,包括编程与调试两个过程。
❖ 编程是一种个人行为—通常没有统一的模式。 ❖ 通常,程序员要对自己开发的程序进行测试,
这时程序中的一些明显的错误会暴露出来并被 根除,这个过程叫调试。
调试过程
程序设计的指导方针
▪ 无论采用什么编程语言,每个程序待援(组件) 都会涉及到三个方面:
❖ 有效性测试
Intended to show that the software meets its requirements.
A successful test is one that shows that a requirements has been properly implemented.
期望和目前的市场环境: 软件功能
❖ The level of confidence depends on how critical the software is to an organisation.
用户期望
❖ Users may have low expectations of certain kinds of software.
❖ 测试规划主要是制定测试过程标准,而不是描 述测试本身。
系统开发的 V 模型
软件测试计划的结构
❖ 测试过程 ❖ 需求跟踪 ❖ 测试项目 ❖ 测试进度 ❖ 测试记录程序 ❖ 硬软件需求 ❖ 约束
2.2 软件审查
May be supplement by tool-based document and code analysis
❖ 软件测试
通过使用测试数据执行系统,检查运行结果来发现 问题。
The system is executed with test data and its operational behaviour is observed
测试和调试
❖ 缺陷测试和调试是不同的过程,通常交叉进行。
检验和有效性验证的目的是确定系统中存在缺陷; 调试考虑的是定位和修改缺陷。
调试过程
2.1 V & V 规划
❖ 仔细的规划能够使程序检查和测试的工作得到 更多的回报。
❖ V & V过程的规划应该从开发过程的早期就开 始。
❖ V & V 规划应该明确的说明静态检查与测试任 务与分工。
程序设计的指导方针
▪ 可复用组件的生产要注意:
▪ 是组件一般化; ▪ 良好的独立性; ▪ 要有定义良好的组件接口; ▪ 保留每次修改的记录; ▪ 使用清晰的命名规则; ▪ 建立数据结构与算法的相关文档; ▪ 使通讯和错误的处理部分相分离,易于修改。
2 检验和有效性验证
( Verification & Validation)
目标
❖ 了解编程和调试的一些基本原则; ❖ 掌握软件检验和有效性验证的基本知识和程序检
查过程及方法; ❖ 了解静态分析技术; ❖ 熟悉软件测试的基本方法; ❖ 了解有效性测试和缺陷测试的区别; ❖ 掌握系统及组件测试的原则和测试用例产生的策
略; ❖ 了解支持测试的CASE工具的工作原理。
内容
❖ 程序设计与调试; ❖ 检验与有效性验证; ❖ 软件测试
❖ 检验: "Are we building the product right”.
检查软件是否符合它的规格描述。
❖ 有效性验证: "Are we building the right product”.
检查软件是否满足客户的期待。
V & V 过程
❖ 在软件整个生命周期中 V & V 必须在软件过程 的每一个阶段得以执行。
控制结构、算法和数据结构
▪ 控制结构方面:
▪ 通过设计模型构建程序的过程中,我们可以在不同 层次上隐藏实现细节,这样有助于对系统程序的理 解、测试与维护;
▪ 一般性是一种比较好的习惯,程序不要太“专业”, 要易懂。
程序设计的指wenku.baidu.com方针
▪ 算法方面:
▪ 使代码执行更快可能会涉及到几个潜在的成本:
* 快速代码通常更复杂,会增加设计与编写上的成本; * 快速代码的测试难度增加,会增加额外的测试成本; * 快速代码的易理解性会降低,会增加用户理解的成本; * 修改代码的成本。
测试类型
❖ 缺陷测试
Tests designed to discover system defects. A successful defect test is one which reveals the
presence of defects in a system. Covered in Chapter 23