网站首页 > 技术文章 正文
本篇介绍软件工程的过程管理、软件测试、测试管理的基本概念和相关知识
一、软件工程的过程管理
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)软件调试与软件测试的区别:
- 测试的目的是找出存在的错误,而调试的目的是定位错误并修改程序以修正错误;
- 调试是测试之后的活动,测试和调试在目标、方法和思路上都有所不同;
- 测试从一个已知的条件开始,使用预先定义的过程,有预知的结果,调试从一个未知的条件开始,结束的过程不可预计;
- 测试过程可以事先设计,进度可以事先确定,调试不能描述过程或持续时间。
三、软件测试管理
软件测试的管理包括过程管理、配置管理和评审工作。
猜你喜欢
- 2024-11-18 软考系统分析师知识点十六:系统实现与测试
- 2024-11-18 编程|实例(分书问题)了解数据结构、算法(穷举、递归、回溯)
- 2024-11-18 算法-减治法
- 2024-11-18 笑疯了!巴基斯坦首金!没有技巧全是蛮力!解说:真远啊!笑死!
- 2024-11-18 搜索算法之深度优先、广度优先、约束条件、限界函数及相应算法
- 2024-11-18 游戏中的优化指的的是什么?
- 2024-11-18 算法-分治法
- 2024-11-18 思考不能靠蛮力,带你领悟高效工作精髓
- 2024-11-18 搜!一个都不能放过!暴力枚举法
- 2024-11-18 隋唐四大遗失的绝技:失传的伍家七绝枪、遗忘的六十四路宣花斧
你 发表评论:
欢迎- 11-18软考系统分析师知识点十六:系统实现与测试
- 11-18第16篇 软件工程(四)过程管理与测试管理
- 11-18编程|实例(分书问题)了解数据结构、算法(穷举、递归、回溯)
- 11-18算法-减治法
- 11-18笑疯了!巴基斯坦首金!没有技巧全是蛮力!解说:真远啊!笑死!
- 11-18搜索算法之深度优先、广度优先、约束条件、限界函数及相应算法
- 11-18游戏中的优化指的的是什么?
- 11-18算法-分治法
- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)