发布时间:2020-06-24
软件测试不仅仅只是找错而已,还需要有计划的进行,同时大家都知道发现软件缺陷越早,修改的成本就越低。那么怎样才能准确而又及时的发现软件缺陷,这首先要从软件生命周期讲起。
软件的生命周期
软件的生命周期将软件开发分为若干个阶段,主要有需求,分析,设计,编码,测试几个主要的阶段,同时在RUP的开发过程中除了这几个主要阶段外,还对这些阶段进行迭代式的开发。但是我有几点疑问,测试难道就必需在开发后期进行吗。在早期的开发过程中也许是可以的,但是现在的软件开发逐渐由小作坊式的开发进入大规模的团队开发,早期介入测试有助于提早发现问题,同时大幅度的降低项目风险有很大的好处。不过如何在早期介入测试则是一个很值的讨论的问题。下面我们从软件生命周期详细的叙述一下如何介入软件测试。
需求,分析阶段测试的结合
首先我们从软件生命周期的各个阶段进行分析。在需求,分析阶段,需求人员会对用户的需求进行详细的分析,形成产品说明书,如果更好的可以细化到用例图,活动图。也就是说我们在早期的需求分析阶段就可以介入测试,确定后期测试的目标,如果要求更高点可以进一步的进行需求测试,论证需求是否可以满足用户的要求,从而减少需求风险。
设计阶段与测试的结合
进入设计阶段,设计组成员会提供详细的设计文档,其中主要有时序图,协作图(状态图),类图等等。时序图向我们展示了用例事件发生的过程中与系统直接发生交互的处部参与者,系统(可以看作一个黑盒)。这时可以提取出有哪些系统是要进行测试的,可以明确我们黑盒测试的目标,而不是在最后再找有哪些系统是要进行测试的。协作图可以详细的描述出系统状态的变化。为一个大型软件产品建立状态图是艰苦的事情,既然有大家的劳动成果为什么我们测试不利用呢?前面进行的测试需求是捕捉的都是静态的需求,但这里我们可以清晰的看到软件状态的变化,这时我们就可以针对各种状态分析要测试的状态转换和主要的程序流程来设计测试案例,同时状态的变化有时也是对系统接口的交接,这时设计的案例则主要针对接口优先的原则,保证了接口在挂接过程中得到有效的测试。
编码阶段实施测试
到达编码阶段时,怎样在早期就可以介入测试,这要从每日编译说起,在可能的情况下对已开发的功能进行每日编译,形成可测试的版本,从而让测试人员进行测试,这时前期的工作并没以白做,这时我们已经有了测试需求说明书,测试计划书与重要的案例,可以对它进行分配并测试,这时至少重要的功能在早期就得到了保障。同时随着系统的不断完善,可以让各个功能模块的测试人员增加测试案例,保证测试的完备性。每日编译还有个好处,就是测出的软件缺陷可以在当天就可以处理,从而保证了把缺陷消灭在早期。这时测试与开发已经完美的结合起来,做到测试与开发的同步,并且不相互冲突。
后期测试
开发后就是测试,说到现在这时你才感到轻松,由于测试与开发是同步进行的,所以这时我想你主要进行的就是对开发过程中发现的问题的回归测试。甚至你可以喝喝咖啡了J,因为在编码阶段软件缺陷就发现差不多了,这时主要的精力放在集成测试,性能测试,兼容性测试等一些测试上来,而且这些测试的标准在需求分析时就有了,比如性能测试,它要求的数据在需求时我们就关注过,有了这些有效的目标我们还做不好吗。
测试如果与软件生命周期结合,可以有效的保证测试的目标和覆盖率,同时可以充分利用需求人员,设计人员的力量来指导我们的测试,不过也带来一些问题,就是实施的难度,同时高级测试人员对此要有一定的了解才可能实施,不过它的好处还是显而易见的,我们为什么不尝试着做一下呢,最后祝大家好运,多多发现问题,早早发现问题,写出高质量的软件。
推荐阅读:
您的信息已成功提交!
我们的客服人员稍后会与您联系