,软件工程模型
一.瀑布模型
- 一级一级流下来
- 需求分析:需求分析书
二.V模型
1.单元测试
单元测试是对软件中的最小可验证单元进行检查和验证。比如对Java中的类和方法的测试。测试原则:
1、尽可能保证测试用例相互独立(测试用例中不能直接调用其他类的方法,而应在测试用例中重写模拟方法);
2、此阶段一般由软件的开发人员来实施,用以检验所开发的代码功能符合自己的设计要求。3.静态检查(详细设计)和动态执行(白盒为主)
单元测试的好处:
1、尽早的发现缺陷;
2、利于重构;
3、简化集成;
4、文档;
5、用于设计。单元测试的不足:
1、不可能覆盖所有的执行路径,所以不可能保证捕捉到所有路径的错误;
2、每行代码需要3~5行代码进行单元测试,存在投入与产出的平衡。2.集成测试
集成测试是在单元测试的基础上,把软件单元按照软件概要设计规格说明的规格要求,组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求。集成测试包括BigBang、自顶向下、自底向上、核心系统集成、高频集成。
关注重点
- 最小单元A+最小单元B......==模块M
- 模块接口的数据交换
- 单个模块的误差是否会累积放大
3.系统测试
将经过集成测试的软件,作为计算机系统的一部分,与系统中其他部分结合起来,在实际运行环境下进行一系列严格有效的测试,以发现软件潜在的问题,保证系统的正常运行。
- 验证软件系统的功能和性能等满足其规约所指定的要求
- 静态检查(SRS)+动态执行(黑盒测试为主)
集成测试和系统测试之间的比较:
1、测试内容:集成测试是测试各个单元模块之间的接口,系统测试是测试整个系统的功能和性能;
2、测试角度:集成测试偏重于技术的角度进行测试,系统测试是偏重于业务的角度进行测试。3.静态检查(概要设计)和动态执行(黑盒+白盒)
4.验收测试
也称交付测试,是针对用户需求、业务流程进行的正式的测试,以确定系统是否满足验收标准,由用户、客户或其他授权机构决定是否接受系统。验收测试包括alpha测试和beta测试,alpha测试是由开发者进行的软件测试,beta测试是由用户在脱离开发环境下进行的软件测试。
其他测试类型
回归测试
- 每当软件发生变化时,就必须重新测试原有的功能,以便确定修改是否达到了预期的目的,检查修改是否损害了原有的正常功能。
- 回归测试需要反复进行
- 常利用自动测试工具来实现重复的和一致的回归测试
回滚测试
删除由一个或多个部分完成的事务执行的更新。为保证应用程序、数据库或系统错误后还原数据库的完整性,需要使用回滚。
回滚泛指程序更新失败, 返回上一次正确状态的行为。
三.W模型
四.迭代模型