TA的每日心情 | 奋斗 2024-11-8 12:09 |
---|
签到天数: 547 天 连续签到: 1 天 [LV.9]测试副司令
|
软件验证活动是测试生命周期中的一个阶段,在每个验证活动中测试的目的都是为了发现尽可能多的缺陷,测试可以利用验证进一步改善对基础理论的跨学科交流,同时普遍提高开发环境的成熟度。实践证明,开展尽可能多、尽可能深入的验证,无论从短期还是从长期看,都是一条最可靠、效益最高的质量改进之路。
1软件验证的作用
在验证活动中必须回答以下问题:①通过评审到底能发现多少缺陷;②有多少缺陷是在评审过程中发现的,又有多少是在后面的确认测试中发现的;③有多大比例的缺陷留到了测试结束,由客户发现的。进行验证活动的顺序是:工作产品规模小的在先,大的在后,简要的在先,详细的在后,验证成本低的在先,高的在后,潜在收益大的在先,小的在后。如果资源和进度的限制不能进行某些验证活动,那省去验证活动的顺序与上面要验证的顺序相反。需求验证最可能为软件开发节省成本。它可以检测出许多缺陷,否则这些缺陷会进入开发周期的后期,那时再纠正缺陷代价就要高多了,问题转移到了下游阶段。实际上509/6以上的缺陷都是在需求阶段引入的。
验证的效果总的来说要高于确认测试。它可以发现一些在确认测试过程中几乎不可能检测出来的缺陷。最重要的是,利用验证可以尽早发现和检测出缺陷。在大多数组织当中,验证/确认的缺陷分配为2o/80甚至更低。作为尽早发现缺陷的原则,应加大验证的比例,主要还是观念的转变。
2软件验证基本方法
验证测试是对工作产品进行人工检查或评审,评审的方法有:审查、走查、技术评审等。
3软件验证活动
验证方法的核心就是举行一次会议,会上针对受审产品的缺陷进行讨论和确认。验证的主要因素:
①评审小组的每个成员以开放、积极的方式参与活动,通过传统、管理和评审活动的书面规定对评审的参与进行管理。
②提供一份关于产品状态的书面报告,与项目有关的每个人,包括管理人员,都可以获得报告。
③评审小组对书面报告内容的质量负责。
4验证工具
审查单是软件验证的重要工具,尤其是审查一类比较正式的验证。各种类型的验证都有相应的审查单,例如,需求审查单、设计审查单、测试计划审查单、代码审查单等。开发和测试应使用不同的审查单,测试使用的审查单注重面向产品的可靠性和可用性,而开发用的审查单更注重可维护性,以及代码标准指南之类。审查单一般是利用一般的检查单,在此基础上针对特殊目的和特定项目开发属于自己的检查单,这些检查单应该有明确的目的,并充分反映组织在验证测试方面的成熟水平。检查单是测试件的重要组成部分,为了最大程度发挥验证的作用,检查单应保持改进和更新。
5需求验证
需求验证的目的是保证用户的需求转化为设计之前能得到完全的理解,保证需求包含以下特性:明显、清楚、完整、一致、合理、可度量、可修改、可跟踪、相关的需求明确。
6设计验证
设计验证的目的是确定用户需求如何在设计中得到具体的体现,可追踪性在这里开始,需求在该阶段作为设计的原始输入文件,需求中的每一段都要在设计文档中得到体现。需求本身也有很多源头,例如标准、信函、会议记录等等,他们应该是可追踪的源头。
7代码验证
编码是将详细设计规格说明转换为特定的代码集的过程,该过程的输出是源代码本身,许多开发组织把代码审查作为审查工作的起点,也许是一个很舒服的起点,很多工作已经完成,但肯定不是最有效的起点。代码验证包括以下活动:
①将代码与设计规格说明进行比较。
②对照特定语言审查单检查代码。
③使用静态分析工具对是否满足句法规则进行检查。
④验证代码中的名词与数据字典和设计规格说明的一致性。
⑤寻找新的边界条件、可能的性能瓶颈、以及其他可能需要追加确认测试的内部需考虑的条件。
8成功因素
①过程责任人
如果还没开展验证,需要一个过程倡导者,可以是开发人员,质量保证人员、过程改进组成员,可以是全职或兼职。
②管理支持
审查需得到管理部门在经费和其他资源方面的支持,管理部门应了解到早期通过审查发现缺陷的数据,和缺陷遗留到下一阶段将发生的费用。
③培训
评审和审查中培训是重要的,包括对参与者如何进行评审和审查的特殊培训。
9结束语
验证就其成就感和重要性来说,比确认测试有过之而无不及。审查能够在尽早的时候发现缺陷,从而大大减小缺陷修复成本。为减少验证成本,应尽量验证关键文档。 |
|