《软件质量保证与测试》读书笔记(一)

第一章,概述`

“像外行一样思考,像专家一样实践”—Kanade Takeo

1.1软件特征
1,软件包含4个部分——计算机程序、规程、文档和软件系统运行所必须的数据。
2,软件的分类(7大类):
系统软件
应用软件
Web应用软件
工程和科学软件
嵌入式软件
产品线软件
人工智能软件

Ps:“站在风口上,猪也会飞”—小米董事长雷军
3,IEEE(Institute of Electrical and Electronics Engineers,国际电气和电子工程师协会)对于软件工程的定义:
软件工程是将系统化的、规范化的、可度量的方法应用于软件的开发、运行、维护的过程,即将工程化应用于软件中,同时是对上面所述方法的研究。
4,软件工程的方法必须以质量保证为基础。
5,MSF过程模型(Microsoft Solutions Frameworks,微软解决方案框架)
在这里插入图片描述
Ps:1983年,乔布斯为了说服当时最红的消费产品营销奇才——百事可乐公司总裁John Sculley加入苹果,说了一句极具煽动性的话:“你是想卖一辈子糖水呢,还是想”抓住机会来改变世界?

1.2软件质量

1,我们应当从以下三个方面来看软件的质量:
(1)软件结构方面:
B,界面友好,使用方便。
(2)功能与性能方面:
(3)开发标准与文档方面:
2,ANSI/IEEE STD729-1983给出软件质量的定义:
“软件产品满足规定的和隐含的与需求能力有关的全部特征和特性。”
3,各类软件综合起来看,质量要求一般有下列6个特征:
(1) 功能性:软件实现的功能达到要求和隐含的用户需求以及设计规范的程度。
(2) 可靠性:软件在指定条件和特定的时间段内维持性能的能力程度。
(3) 易使用性:用户使用该软件所付出的学习精力。
(4) 效率:在指定条件下,软件资源与所占用的比值。
(5) 可维护性:当发现错误、运行环境改变或用户需求改变时程序能修改的容易程度。
(6) 可移植性:将软件从一种环境移入另一种环境的容易程度。

Ps:质量是产品的生命,对软件尤其如此。
4,软件质量保证的定义:IEEE给出软件质量保证(SQA,Software Quality Assurance)是:
(1) 一种有计划的,系统化的行动模式,它是为项目或者产品符合已有技术需求提出充分信任所必需的。
(2) 设计用来评价开发或者制造产品的过程的一组活动,与质量控制有区别。
而针对实际情况,SQA不应局限于开发过程,SQA行动不应局限于功能需求的技术方面,而应该包含与进度和预算有关的活动。所以针对SQA有一个扩展定义:
SQA是一种有计划的、有系统的行动集合,是为提供软件产品的软件开发过程与维护过程符合已经建立的技术需求,以及跟上计划安排与在预算限制之内进行的管理上的充分信任的必需。

1.3软件测试与可靠性

1,定义(IEEE):软件测试是使用人工或者自动手段来运行或测试某个系统的过程,检验它是否满足规定的需求或者弄清预期结果和实际结果之间的差别。
2,软件测试是保证软件质量的关键步骤,是对软件规格说明、设计和编码的最后复审,其工作量约占总工作量的40%以上。对于人命关天的项目,测试相当于其他部分总成本的3~5倍。
21世纪,软件发展的大方向是质量提高优于性能改进。

Ps:推荐读书:美国计算机科学家Glenford Myers经典论著《软件测试的艺术》。
Ps:图灵奖得主Dijkstra指出:“测试可以表明缺陷的存在,但绝不能证明没有缺陷。”
3,软件测试的方法
静态测试和动态测试
白盒测试、黑盒测试、灰盒测试
4,软件开发阶段的测试方法:
(1) 需求测试
(2) 单元测试
(3) 集成测试
(4) 压力测试
(5) 容量测试
(6) 配置测试
(7) 安装测试
(8) 安全性测试
在这里插入图片描述

ps:第一次写博客,不大会玩,但希望自己以后可以坚持下去。

猜你喜欢

转载自blog.csdn.net/xiao_yi_xiao/article/details/88838702