1.软件的测试的发展历程
第一阶段:初始阶段(20世纪70年代以前)
测试等同于“调试”
1975年测试与“调试”区别开
第二阶段:定义阶段(进入20世纪70年代)
第三阶段:集成阶段(20世纪80年代初)
1.软件开发方式逐渐由混乱无序的开发过程过渡到结构化的开发过程
2.出现软件测试行业标准(IEEE/ANSI)和ISO国际标准
3.1981年,Bill Hetzel 首次在大学开设Structured Software Testing公共课,成为IT技术人员需要掌握的核心技术
4.1988年,David Gelperin 在Communicaions of ACM上发表论文The Growth of Software Testing,首次介绍系统化软件测试和评估流程
5.开始出现QA和SQA部门
第四阶段:管理、测量和最佳化阶段(进入20世纪90年代)
1.20世纪90年代,软件测试进入全面发展时期
2.出现多种测试工具
3.Gelper博士提出测试支持模型
4.Burnstein博士提出测试成熟度模型,依据软件能力成熟度提出5个不同级别
2. 软件开发模型:软件开发模型是软件开发的全部过程、活动、任务和管理的结构框架。它给出了软件开发活动各阶段之间的关系
3. 软件开发生命周期模型:
*大爆炸模式 优点:思路简单, 通常可能是开发者的“突发奇想”;缺点:开发过程是非工程化的,随意性大,结果不可预知
*边写边改模式 优点:简单考虑到了软件的需求,产品周期短 缺点:没有计划和文档的编制
*瀑布模型(主流)
优点:如同瀑布流水,逐级下落——样式
将软件生存周期各活动规定为依线性顺序联接的若干阶段的模型
易理解,阶段明显,强调需求分析,明确测试阶段,提供了一套模板
缺点:线性严格——成果晚出——风险大
阶段固定——反复&迭代不适合——灵活性差
单次需求——需求变更多——适应性差
测试滞后——缺陷晚查——代价大
螺旋模型
敏捷开发模型 :敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发