计算机系统应用教程网站

网站首页 > 技术文章 正文

第16篇 软件工程(四)过程管理与测试管理

btikc 2024-11-18 09:11:49 技术文章 2 ℃ 0 评论

本篇介绍软件工程的过程管理、软件测试、测试管理的基本概念和相关知识

一、软件工程的过程管理

1、软件过程

软件过程是软件生命周期中的一系列相关活动,即用于开发和维护软件及相关产品的一系列活动。软件产品的质量取决于软件过程,具有良好软件过程的组织能够开发出高质量的软件产品。

2、能力成熟度模型集成(Capability Maturity Model Integration,CMMI)

(1)能力成熟度模型集成融合了多种模型形成了组织范围内过程改进的单一集成模型,其主要目的是消除不同模型之间的不一致和重复,降低基于模型进行改进的成本;

(2)CMMI继承了CMM的阶段表示法和EIA/IS731的连续式表示法。这两种表示方法各有优缺点,均采用统一的24个过程域,它们在逻辑上是等价的,对同一个组织采用两种模型分别进行 CMMI 评估,得到的结论应该是相同的

3、阶段式模型

阶段式模型基本沿袭CMM模型框架,仍保持4个成熟等级,但关键过程域做了一些调整和扩充。当组织通过了某一等级过程域中的全部过程,即意味着该组织的成熟度达到了这一等级。利用阶段式模型对组织进行成熟度度量,概念清晰、易于理解、便于操作。


4、连续式模型

与阶段式模型相比,连续式模型没有与组织成熟度相关的几个阶段。连续式模型将24个过程域按照功能划分为过程管理、项目管理、工程和支持四个过程组。


二、软件测试

1、基本概念

软件测试是发现软件错误(缺陷)的主要手段,是软件交付前必须完成的重要步骤。根据国家标准《计算机软件测试规范(GB/T15532-2008)》,软件测试的目的是验证软件是否满足软件开发合同或项目开发计划、系统/子系统设计文档、SRS、软件设计说明和软件产品说明等规定的软件质量要求。同时,GB/T15532-2008还规定了测试用例设计原则和测试用例要素。通过测试,发现软件缺陷,为软件产品的质量测量和评价提供依据;

2、软件测试的方法:静态测试、动态测试(白盒测试和黑盒测试)

(1)静态测试:静态测试是指被测试程序不在机器上运行,而采用人工检测和计算机辅助静态分析的手段对程序进行检测。静态测试包括对文档的静态测试对代码的静态测试。对文档的静态测试主要以检查单的形式进行,而对代码的静态测试一般采用桌前检查(Desk Checking)、代码走查和代码审查。经验表明,使用这种方法能够有效地发现 30%~70%的逻辑设计和编码错误;

(2)动态测试:动态测试是指在计算机上实际运行程序进行软件测试,一般采用白盒测试黑盒测试方法;

  • 白盒测试也称为结构测试,主要用于软件单元测试中。它的主要思想是,将程序看作是一个透明的白盒,测试人员完全清楚程序的结构和处理算法,按照程序内部逻辑结构设计测试用例,检测程序中的主要执行通路是否都能按预定要求正确工作。另外,使用静态测试的方法也可以实现白盒测试;
  • 黑盒测试也称为功能测试,主要用于集成测试、确认测试和系统测试中。黑盒测试将程序看作是一个不透明的黑盒,完全不考虑(或不了解)程序的内部结构和处理算法,而只检查程序功能是否能按照 SRS 的要求正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息(例如,文件和数据库等)的完整性等。黑盒测试根据SRS所规定的功能来设计测试用例,一般包括等价类划分、边界值分析、判定表、因果图、状态图、随机测试、猜错法和正交试验法等。

3、软件测试的类型

根据国家标准GB/T15532-2008,软件测试可分为单元测试、集成测试、确认测试、系统测试、配置项测试和回归测试等类型;

4、面向对象的测试

由于OO系统具有封装性、继承性与多态性三个明显特征,与传统信息系统相比,测试目标是一致的,测试策略主要体现在测试的焦点从模块移向了类、测试的角度扩大到了分析和设计模型两个方面的不同;

5、软件调试

(1)常用的软件调试策略有蛮力法、回溯法和原因排除法三类;

(2)软件调试与软件测试的区别

  • 测试的目的是找出存在的错误,而调试的目的是定位错误并修改程序以修正错误;
  • 调试是测试之后的活动,测试和调试在目标、方法和思路上都有所不同;
  • 测试从一个已知的条件开始,使用预先定义的过程,有预知的结果,调试从一个未知的条件开始,结束的过程不可预计;
  • 测试过程可以事先设计,进度可以事先确定,调试不能描述过程或持续时间。

三、软件测试管理

软件测试的管理包括过程管理、配置管理和评审工作

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表