在软件开发完成交付用户使用后,就进入软件运行/维护阶段。软件维护活动根据其内容可以分为4种类型: ①正确性维护。为了识别和纠正软件错误,改正软件性能上的缺陷,排除实施的误使用,应进行的诊断和改正错误的过程。 ②适应性维护。由于信息技术飞速发展,软件运行的外部环境或数据环境可能发生变化,为了使软件适应这种变化而修改软件的过程。 ③完善性维护。在软件使用过程中,用户往往会对软件提出新的功能与性能要求, 为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性而进行的维护活动。 ④预防性维护。为了提高软件的可维护性和可靠性等,为以后进一步改进软件打下良好基础而进行的维护工作。
1. 顶向下集成优点:较早地验证了主要控制和判断点;按深度优先可以首先实现和验证一个完整的软件功能;功能较早证实,带来信心;只需一个驱动,减少驱动器开发的费用;支持故障隔离。缺点:柱的开发量大;底层验证被推迟;底层组件测试不充分。适应于产品控制结构比较清晰和稳定;高层接口变化较小;底层接口未定义或经常可能被修改;产口控制组件具有较大的技术风险,需要尽早被验证;希望尽早能看到产品的系统功能行为。
2. 自底向上集成优点:对底层组件行为较早验证;工作最初可以并行集成,比自顶向下效率高;减少了桩的工作量;支持故障隔离。缺点:驱动的开发工作量大;对高层的验证被推迟,设计上的错误不能被及时发现。适应于底层接口比较稳定;高层接口变化比较频繁;底层组件较早被完成。
软件测试按阶段划分为单元测试、集成测试和系统测试。在单元测试基础上,将所有模块按照设计要求组装为系统,此时进行的测试称为集成测试。 集成测试有多种策略: 自底向上:从系统层次中最底层的构件开始测试,逐步向上。需要设计驱动模块来辅助测试。 自顶向下:与自底向上相反,从最顶层的构件开始,逐步向下。需要设计桩模块来辅助测试。 三明治:结合自底向上和自顶向下两种测试策略。 一次性:对所有构件一次性测试,然后集成。 根据题干,该实例采用了三明治测试策略。 该测量的优势是结合了自底向上和自顶向下的优点,如较早地验证了主要的控制构件和底层模块,并行测试程度较高等。但缺点是需要写较多的驱动模块和桩模块