简述白盒测试技术的要点,并举例说明
答:白盒测试技术依据程序的逻辑结构,以控制流程图作为被测对象建模工具,其中涉及过程块、分支、节点、链以及路径,并针对测试民,给出了4种覆盖策略:语名覆盖、分支覆盖、条件组合覆盖和路径覆盖,它们之间具有偏序关系,并且可根据项目需求给出其他覆盖策略
事务流测试技术的要点,并举例说明
答:事务流测试技术是一种功能测试技术,目前提出了很多功能测试技术,如定义域测试技术、等价类测试技术以及基于因果图的测试技术等,统称为黑盒子测试技术。黑盒测试将被测软件看成黑盒子,只通过外部的输入和输出来发现软件中的错误,因此黑盒测试是一种基于软件规约的测试
第七章 软件生存周期过程与管理 1.基本概念
软件生存周期过程:软件生存周期是软件产品或系统的一系列相关活动的全周期。从形成概念开妈,历经开发、交付使用、在使
用中不断修订和演化,直到最后被淘汰,让位于新的软件产品
软件生存周期模型:是一个包括软件产品开发、运行和维护中有关过程、活动和任务的框架,覆盖了从该系统的需求定义到系统的使用终止
过程管理:过程规则与管理是软件项目管理的一项重要工作。没有过程规划就淡不上过程管理乃至项目管理,没有过程管理就不可能存在有效的软件工程
2.简述软件开发中的过程类,以及它们的基本作用和它们之间的基本关系 答:分为3类
基本过程:那些软件生产直接相关的活动集,分5个过程:获取过程、供应过程、开发过程、运行过程和维护过程
支持过程:有关各方面按他们的目标所从事的一系列相关支持活动集,有助于提高系统或软件产品的质量,分为:文档过程、配置管理过程、质量保证过程、验证过程、确认过程、联合评审过程、审计过程和问题解决过程等 组织过程:与软件生产组织有关的活动集,分管理过程、基础设施过程、培训过程、改进过程
3.在ISO/IEC12207-2008中如何描述一个过程?举例说明
答:1).为获取方获取一个软件产品或服务,为供应方开发、运行、维护、提供和销毁一个软件产品,建立了一种软件生存周期框架,包含过程、活动和任务,并通过过程分类、过程描述,给出它们之间的内在关系 2).为软件生存周期过程的定义、控制和改进提供了一个过程,即生存周期模型管理过程
供应过程:为获取方提供满足所协商需求的产品或服务
软件实现过程:软件实现过程是为了生产一个已规约系统元素,作为一个软件产品或服务而实现 软件需求分析过程:建立系统软件部分的需求
软件体系结构设计:为软件的实现及其可以按需求进行验证,提供一种设计
软件验证过程:证实一个过程或项目的每一个软件工作产品/服务是否正确地反映所规约的需求 软件确认过程:证实所期望的软件工作产品是否满足其需求???
4.什么是软件开发特定的过程类?举例说明
5.什么是验证和确认?简述它们的作用和区别
答:验证:证实一个过程或项目的每一个软件工作产品/服务是否正确地反映所规约的需求 验证和确认是有区别的。
验证是通过提供的客观证据,证实规约的需求是否得以满足
确认是通过提供的客观证据,证实有关特定期望的使用或应用的需求是否得以满足 软件确认过程:证实所期望的软件工作产品是否满足其需求
6.简述瀑布模型以及可适应的情况
瀑布模型将软件生存周期的各项活动规定为按固定顺序而连接的若干阶段工作,形如瀑布流水,最终得到产品 适应情况:需求已被很好的理解,并且开发组织非常熟悉为实现这一模型所需求的过程
7.简述演化模型以及可适应的情况
答:表达了一种弹性的过程模式,由一些小的开发步组成,每一步历经需求分析、设计、实现和验证,产生软件产品的一个增量,通过这些迭代,最终完成软件产品的开发
主要针对事先不能完整定义需求的软件开发
8.简述增量模型的优缺点
答:优点1)第一个可交付版本所需要的成本和时间是较少的,从而可减少开发由增量表示的小系统承担的风险 2)由于很快发布第一个版本,因此可以减少用户需求的变更 3)允许增量投资,即在项目开始时可以仅对一个或两个增量投资
缺点:1)如果没有对用户的变更要求进行规划,那么产生的初始增量可能会造成后来增量的不稳定 2)如果需求不像早期思考的那样稳定和完整,那么一些增量就可能需要重新开发,重新发布 3)由于进度和配置的复杂性,可能会增大管理成本,超出组织的能力
9简述螺旋模型以及它与其它模型之间的主要区别
答:螺旋模型是瀑布模型与深化模型的基础上,加入两者所忽略的风险分析所建立的一种软件开发模型
螺旋模型关注解决问题的基本步骤,即标识问题,标识一些可选方案,选择一个最佳方案,遵循动作步骤并实施后续工作,突出特征,在开发的迭代中实际上只有一个迭代过程真正开发了可交付的软件
2)与深化模型和增量模型相比,同样使用了瀑布模型作为一个嵌入的过程,即分析、设计、编码、实现和维护的过程,并且在框架和全局体系结构方面是等同的。但是,螺旋模型所关注的阶段以及它们的活动是不同的,如增加一些管理活动和支持活动。尽