计算来源
计算机之父:
图灵(图灵机,人工智能之父,图灵测试)
冯诺依曼(冯诺依曼计算机体系:输入、输出、计算、控制、存储)
计算机的发展
人工控制计算机硬件----->操作系统控制计算机----->程序来完成特定的功能----->测试来联测软件/程序的好坏
软件的分类
单机软件:只有一台服务器,仅个人使用
分布式软件:1):C/S 架构软件 client-server:有一个专门的客户端,也可以在网页直接访问
2):B/S 架构软件 web-server:可以在网页直接访问,但是没有专门的客户端
软件开发模型
v模型:
| 测试活动的展开次序正好与开发次序相反,动态测试的行为和开发行为相对应。忽略了测试的对象不应该仅仅包括程序,没有明确指出对需求、设计的测试。
v模型优点:
| 包含了底层测试(单元测试)和高层测试(系统测试);清楚的标识了开发和测试的各个阶段;自上而下逐步求精,每个阶段分工明确,便于整体项目的把控。
v模型缺点:
| 自上而下的顺序导致测试工作在编码后,不能及时的进行修改;实际工作中,需求经常变化,导致V模型步骤反复执行,返工量很大,灵活度较低。
w模型:
| 补充了v模型中忽略的内容,强调了测试计划等工作的先行和对系统需求和系统设计的测试;与v模型相同,没有对软件测试的流程进行说明。
w模型特点:
| 强调尽早测试、强调不断测试、提现静态测试
w模型优点:
| 开发伴随着整个开发周期,需求和设计同样要测试;更早的介入测试,可以发现初期的缺陷,修复成本低;分阶段工作,方便项目整体管理。
w模型缺点:
| 开发和测试依然是线性的关系,需求的变更和调整,依然不方便;如果没有文档,根本无法执行w模型;对于项目组成员的技术要求更高!
瀑布模型:
优点:开发的各个阶段比较清晰,有大量的文档
缺点:1)不适应需求的变化
2)风险往往到后期才会发现,无法及早纠正
快速原型模型:
| 在开发真是系统前,先构造一个原型,在原型的基础上,逐渐完成整个系统的开发
优点:1)快速构建软件的原型
2)支持用户快速参与
3)减少由于软件需求不明确带来的项目开发风险
缺点:不适合用来做大型系统的开发
螺旋模型:
优点:引进了风险分析活动,很大程度上是一种风险驱动的方法体系
缺点:使用螺旋模型需要具有相当丰富的风险评估经验和专门知识
敏捷开发:
比快速原型还快的一种开发手段
主要依托于:自动化的平台环境、高效灵活的团队,已经充分的沟通