软件工程阶段性总结(四)——测试和维护

来源:互联网 发布:java guava cache 编辑:程序博客网 时间:2024/05/15 02:10

       在经过了软件的定义和开发阶段,接下来要进入测试和维护阶段了。大家可能都觉得软件的开发是核心,但比软件开发更重要的是测试和维护。从长远来看,在软件开发的后期以及软件正常投入使用以后,一直到软件生命周期的完结,维护都占了很大一部分比重,大约70%。

       测试

       测试包括两方面:软件测试和程序测试。软件测试是对软件计划、软件设计、软件编码进行查错和纠错的活动;程序测试是对编码阶段的语法错、语义错、运行错进行查找的编码执行活动。

       首先对这章的知识点做一个宏观的把控:

               

       我认为测试阶段的主要内容包括三个方面,弄清这三部分,就可以了解它的整个过程:

       一、测试与软件开发阶段的关系:

        测试过程是依相反顺序安排的自底向上,逐步集成的过程。也就是说测试的过程和软件开发各个阶段的过程刚好是相反的,下图可以很好的反应他们之间的关系:
              

       二、用例设计

       用例的设计和编制是软件测试阶段的核心,测试用例是测试工作的指导,是软件测试的必须遵守的准则。更是软件测试质量稳定的根本保障。所以说好的用例设计能够更好的发现软件系统的缺陷,保证软件的优良品质,减少测试的成本和时间。用例的设计包括黑盒测试和白盒测试。
       黑盒测试:着重测试软件的功能,对系统的各个模块进行的功能测试,可以说是从宏观上来把握的。常用的测试技术包括等价类划分、边界值分析、错误推测法、因果图。
       白盒测试:主要对模块内部的数据结构进行测试,就好像一个透明的盒子一样。其中比较重要的就是逻辑覆盖和控制结构的覆盖。

       三、测试策略

       测试策略的过程包括四个:单元测试、组装测试、确认测试、系统测试。
       单元测试:对程序各个模块的测试,主要针对编程阶段。
       组装测试:将多个模块组装在一起测试,主要针对设计阶段。
       确认测试:验证软件的功能和性能是否与用户的需求一致,主要针对需求分析阶段。
       系统测试:将经过确认测试的软件作为一个整体,与计算机硬件、外设、其他支持软件和数据等结合在一起的测试。

       总结:

       软件的测试和维护阶段是软件在进入市场,开始运行的很重要的过程,通过测试可以达到用户的需求标准,但这不是测试的结束,而仅仅是软件维护的开始。因为软件测试不可能暴露出所有的隐藏问题,这需要后期长达软件生命周期70%的时间去维护才能不断的更新以满足人们的需要。
0 0
原创粉丝点击