软件理论基础一

一. 概念
软件:实现用户需求的源代码,及与之匹配的文档和支撑其运行的配置数据,是一种逻辑存在的资产(数据结构+算法+文档+服务)
软件测试:以用户的需求为基准,运用科学的测试方法对被测对象进行检测,找出偏离需求的需求实现
软件测试:为了尽早尽快的发现软件产品中所存在的各种软件缺陷而进行的贯穿整个软件开发生命周期对软件产品进行验证和确认的活动过程
调试:对软件程序代码对出一系列的检查和纠正的过程,以保证软件能正常运行为目的
软件测试的目的:是为了发现错误而执行错误的过程,此外,不仅发现错误,而且还有易用性等测试,这些统称为缺陷

二. 人们对软件测试目的的认知过程
证明(表明软件能够运行)-->纠错(发现错误)--> 预防(预防管理)

三. 测试执行
单元测试执行
集成测试执行
系统测试执行

四. 测试和调试的区别
测试的目的是发现错误,对象为文档和代码,有待定的流程有计划性,从已知条件开始,有预定义过程,我预定结果
调试的目的是定位问题,纠错,对象为代码,无特定流程,无计划,无已知条件和预定结果

五. 回归测试的目的
1.验证修复的缺陷或者新的的功能是否正确
2.验证对代码的修改是否引入了新的错误

六. 软件测试的主要工作
1.查视代码,评审开发文档
2.进行测试设计,写测试文档(测试计划,测试方案,测试用例等)
3.执行测试,发现软件缺陷,提交缺陷报告,并确认缺陷得到了解决
4.通过测试度量软件的质量


七. 软件危机的出现主要表现在
1.缺乏大型软件的开发经验和软件开发数据积累,开发工作很难制定计划
2.开发早期需求分析不够明确,导致开发后期矛盾集中暴露
3.不遵循开发规范,开发文档不完善,软件难以维护
4.缺乏严密的质量测试手段,交付给客户的软件质量差

八. 软件危机的后果
1.软件质量不高,很难稳定,
2.软件项目延期,进度很难控制
3.成本增加,很难控制预算

九. 软件危机的根源
1.硬件发展很快,相对对软件的期望也越来越高
2.软件系统的复杂性高,需多人合作
3.软件开发是人的智力活动,无法用已有的产业来组织管理

十. 为什么会出现软件缺陷
1.需求说明书
2.设计方案
3.编写代码
4.其他

十一. 常见引入缺陷的原因
1.开发过程缺乏有效的沟通,或者没有沟通
2.软件的复杂度越来越高
3.编程中产生的错误
4.需求的不断变更
5.项目进度的压力
6.不重视开发文档
7.开发工具本身隐藏的问题
8.人员自大

十二. 缺陷的类型
1.遗漏
2.错误
3.额外实现

十三. 常见软件生产流程
软件的生命周期:市场调研-->可行性研究-->产品立项-->需求调研-->设计开发-->系统测试-->产品发布-->产品维护-->产品升级


十四. 软件研发的三要素
人员,过程,工具:
只有适合的人员借助适合的工具经过适合的过程才能研发出高质量的软件;工具是为人员和过程服务,起辅助作用,起关键作用的是人员和过程。

十五. 常见的项目组架构
项目经理
开发组
测试组
配置管理组
质量保质人员

原文地址:https://www.cnblogs.com/elephant-study/p/11753572.html