软件工程之软件质量

上一篇我们讲了软件工程的介绍,这一篇介绍软件质量,大家都知道在软件过程的不同阶段修复软件缺陷的代价是不同的,总的来说越早修复代价越低,因此我们应该早早的开始关注软件的质量问题。
1.软件质量的IEEE定义:
系统、部件或者过程满足规定需求的程度。
系统、部件或者过程满足顾客或者用户需要或期望的程度
 
ANSI定义:
软件产品中能满足用户给定需求的全部特性的集合
软件具有所期望的各种属性组合的程度
用户主观得出的软件是否满足其综合期望的程度
决定所用软件在使用中将满足其综合期望程度的软件合成特性
 
软件质量的方向:
(1)软件结构方面
(2)功能与性能方面
(3)开发标准与文档方面
 
2.SQA这个概念想必大家都不陌生,很多公司将软件测试部门或者软件测试人员称为SQA,虽然这个称呼不太专业,但也包含了SQA的大部分内容。
SQA:软件质量保证,全称:Software Quality Assurance
IEEE定义:
(1)一种有计划的,系统化的行动模式,它是为项目或者产品符合已有技术需求提供充分信任所必需的。
(2)设计用来评价开发或者制造产品的过程的一组活动,与质量控制有关。
是一种应用于整个软件过程的保护性活动,它包含如下方面:
(1)一种质量管理方法
(2)有效的软件工程技术(方法和工具)
(3)在整个软件过程中采用的正式技术复审
(4)一种多层次的软件测试策略
(5)对软件文档及其修改的控制
(6)保证软件遵从软件开发标准的规程
(7)度量和报告机制
 
3.千年虫问题想必大家都听说过,正是因为程序员的疏忽,没有人去了解程序的质量,导致出现这样的问题。因为技术、文档,分析和需求导致程序出问题的情况比比皆是,因此诞生了软件测试这个专门度量软件质量的活动。
软件测试IEEE定义:软件测试是使用人工或自动手段来运行或测定某个系统的过程,检验它是否满足规定的需求或者弄清楚预期结果与实际结果之间的差别。
软件测试的艺术中定义:
(1)测试是程序的执行过程,目的在于发现错误
(2)一个好的测试用例可以发现至今尚未发现的错误
(3)一个成功的测试能发现至今未发现的错误
 
4.软件测试方法
(1)静态测试和动态测试
 
(2)黑盒测试,白盒测试和灰盒测试
(3)基于开发阶段的测试方法

posted @ 2020-10-13 22:20  hokecoko  阅读(617)  评论(0编辑  收藏  举报