- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六讲软件实现与有效性验证(SoftwareImplementationand
第六讲 软件实现与有效性验证(Software Implementation and Validation) 目标 了解编程和调试的一些基本原则; 掌握软件检验和有效性验证的基本知识和程序检查过程及方法; 了解静态分析技术; 熟悉软件测试的基本方法; 了解有效性测试和缺陷测试的区别; 掌握系统及组件测试的原则和测试用例产生的策略; 了解支持测试的CASE工具的工作原理。 内容 程序设计与调试; 检验与有效性验证; 软件测试 1 程序设计与调试 程序设计的任务是把设计转换成程序以及在程序中去除错误,包括编程与调试两个过程。 编程是一种个人行为—通常没有统一的模式。 通常,程序员要对自己开发的程序进行测试,这时程序中的一些明显的错误会暴露出来并被根除,这个过程叫调试。 调试过程 程序设计的指导方针 无论采用什么编程语言,每个程序待援(组件)都会涉及到三个方面: 控制结构、算法和数据结构 控制结构方面: 通过设计模型构建程序的过程中,我们可以在不同层次上隐藏实现细节,这样有助于对系统程序的理解、测试与维护; 一般性是一种比较好的习惯,程序不要太“专业”,要易懂。 程序设计的指导方针 算法方面: 使代码执行更快可能会涉及到几个潜在的成本: * 快速代码通常更复杂,会增加设计与编写上的成本; * 快速代码的测试难度增加,会增加额外的测试成本; * 快速代码的易理解性会降低,会增加用户理解的成本; * 修改代码的成本。 必选设计性质、标准和顾客要求来平衡执行时间和成本之间的关系。 在速度是是非常重要的指标时,必须学会使用编译器来最优化代码。 程序设计的指导方针 数据结构方面: 限定输入输出的方式和格式,要有良好的风格,尽可能方便用户的使用; 要包含一些伪码对数据结构进行注释; 对不好的代码结构要重写,不要姑息、修补; 尽可能使用复用代码。 程序设计的指导方针 可复用组件的生产要注意: 是组件一般化; 良好的独立性; 要有定义良好的组件接口; 保留每次修改的记录; 使用清晰的命名规则; 建立数据结构与算法的相关文档; 使通讯和错误的处理部分相分离,易于修改。 2 检验和有效性验证( Verification Validation) 检验: Are we building the product right”. 检查软件是否符合它的规格描述。 有效性验证: Are we building the right product”. 检查软件是否满足客户的期待。 V V 过程 在软件整个生命周期中 V V 必须在软件过程的每一个阶段得以执行。 V V过程有两个基本目标: 发现系统的缺陷; 从操作的角度评价系统的有用性和可用性。 V V 目标 检验和有效性验证的最终目标是要建立“软件达到了设计目标”的信心。 并不要求软件系统完全无缺陷。而是足以完成用户所要求的任务。 V V 信心 对V V所要求的信心程度取决于系统的设计目标、用户的期望和目前的市场环境: 软件功能 The level of confidence depends on how critical the software is to an organisation. 用户期望 Users may have low expectations of certain kinds of software. 市场环境 Getting a product to market early may be more important than finding defects in the program. 静态与动态检验 软件检查 通过对系统的各种静态成果,如需求文档、设计文档、源代码,进行检查和分析发现问题。 May be supplement by tool-based document and code analysis 软件测试 通过使用测试数据执行系统,检查运行结果来发现问题。 The system is executed with test data and its operational behaviour is observed 静态与动态检验 程序测试 测试的目的是为了揭示程序中存在错误,而不是没有错误。 静态检查无法检验软件是否可用,也不能检验非功能需求,因此程序测试是必不可少的,是起决定性作用的V V技术。 在V V过程中,程序测试和静态检查通常是结合在一起使用的。 测试类型 缺陷测试 Tests designed to discover system defects. A successful defect test is one which revea
文档评论(0)