软件测试测什么?

2008-04-09 04:13:16来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

在软件工程中,测试是一个工程过程,是针对软件这一特殊产品的一道生产工序,是软件质量保证的重要一环。也就是说,软件测试不是项目管理过程的需要,而是软件工程过程的需要。

目前在软件开发的项目管理过程中,整体的工程过程主要包括这样几个主要步骤:
1, 由客户提出业务设想,分析市场可行性后,由与技术部门初步讨论技术可行性。
2, 由技术部门编写解决方案建议书。解决方案通常是为了向客户和投资方说明如何能够解决问题的方案,以获得订单或投资。解决方案建议书的内容包括技术方案、实施方案(初步的项目计划)、项目成本估算,随后提交给客户,由客户进行评审、立项。
从工程过程的角度来说,其中的技术方案所决定的,主要包括两个内容:
(1) 根据客户初步的业务需求,定义了业务处理流程中的人机接口,以及所要开发计算机系统的对外数据接口和程序接口,从而确定了计算机系统的边界。此项工作可以视为由技术部门帮助业务部门澄清了软件需求。
(2) 不仅是定义应用软件部分的业务需求,其实也同时决定了未来的运行环境要求。运行环境要求是软件设计的一个重要前提。
3, 在开发部门内部,根据批准的解决方案,针对业务需求进行分析和设计:
(1) 一方面内部组织项目,制定项目计划,包括项目预算,对项目范围进行跟踪管理,保证最终能够满足客户项目范围的要求。客户立项时的项目范围,包括实现的业务功能、业务的部署范围要求等,在技术部门内部往往需要通过多个内部项目、多个项目阶段、多个维护任务等不同的过程组织形式来完成,项目组织过程比较复杂,项目周期也很长,所以需要对项目范围进行跟踪管理。这方面的内容虽然是属于项目管理的范畴,但也直接影响到工程范围,所以需要在工程过程管理中同时予以考虑。
(2) 另一方面开始进行需求分析、业务功能分析和总体设计,根据业务处理流程定义出应用系统的边界,即我们要开发的计算机系统的对外接口(用户界面、数据接口、程序调用接口等),细化针对业务需求的分析和设计,将业务需求映射到软件系统上,最终能够定义出针对软件系统的功能需求。这一环节直接关系到后续的技术活动最终是否能够满足业务需求的要求。
4, 通过对业务需求的分析和设计,可以得到所涉及的各软件系统的功能需求,据此开始在软件系统一级进行功能分析和设计,根据系统本身的技术结构特点,将软件系统的功能需求分解到软件模块一级,形成软件模块的功能需求。
5, 将软件模块的功能需求进一步分解,成为程序级的功能要求,由程序员来实现。

可以看出,上述过程是一个自顶向下的分解过程,每一个分解的步骤中,分析方法本质上都是相同的。

相对于上述的分解过程,测试过程其实是一个自底向上的回溯过程,每个测试过程都是具有针对性的:
1, 基于程序设计,用白盒方法进行程序内部的代码的检查。
2, 基于程序功能要求,用白盒和黑盒的方法,对程序的外部特征进行检查,对程序的功能进行测试,这是软件测试中工作量最大的部分,不仅因为程序数量多,而且需要编写大量的驱动程序、桩程序来配合测试。
3, 用白盒方法对软件模块进行测试,测试模块内部各程序之间的接口关系。
4, 用黑盒方法对软件模块进行测试,基于软件模块的需求,对整个模块的外部特征进行测试。
5, 用白盒方法对软件系统进行测试,测试软件系统内部各模块之间的接口关系。
6, 用黑盒方法对软件系统进行测试,基于软件系统的需求,对整个软件系统的外部特征进行测试。
7, 用白盒方法对业务需求进行测试,测试业务需求所涉及的各个软件系统之间的接口配合关系。
8, 用黑盒方法对业务需求进行测试,基于业务需求的需求(项目中的业务需求),对整个业务需求的外部特征进行测试。
9, 验收测试应该对应最初客户确定的包括运行环境在内的业务需求的需求,在前期测试的基础上,增加运行环境的因素,先用白盒方法测试应用软件系统与运行环境的适应性,再用黑盒方法测试包括运行环境因素在内的应用软件的整体外部特征。考虑到用户验收测试(UAT)的特殊性,所以也可以对业务需求、软件系统进行不同层次的测试。同时由于用户的介入参与,在验收测试中一并测试软件系统处理流程与人工操作过程的配合,对整体的业务处理流程进行检验,其检测的依据就是最初的软件需求,它是人工操作与计算机处理的接口。

为了保证上述的分解和回溯过程的一致性,在各个分解层次上,都必须对接口定义给以高度的关注,要加强对接口的管理。软件系统之间的接口标准,决定了客户应用系统整体架构和业务处理流程,不仅会影响到开发部门的软件系统之间的配合关系,还会影响到统一版本的软件与个性化需求的配合,对业务和技术的发展都有很大影响,应单独进行管理。
将上述的分解过程和回溯过程,对照列表如下:

测试中的回溯过程,就像破镜重圆的过程,对程序的代码复查和测试,就好像先检查一下每个镜片的好坏和镜片边缘的情况,然后交替使用白盒和黑盒方法,先用白盒方法检查各个破碎镜片之间的接缝是否都已粘牢,然后再用黑盒方法看看整个镜子是否完整。

在使用黑盒方法测试不同对象的外部特征的时候,应包括功能、性能、安全、可靠等多方面的内容。除功能外,其他内容的测试标准也应在需求中加以描述,或者是在企业、行业中已经有现成的标准可供参照。

鉴于业务需求与软件系统的矩阵关系,在测试过程中,不仅要循着业务需求的方向测试新增部分的各项内容,还要从软件系统方向进行测试,测试被修改过的程序和涉及到的数据所支持的其他应用功能,保证新增部分不会对已有的其他业务需求造成不应有的影响。要从根本上做好此项工作,需要强大的配置管理能力的支持。

按照这种多层次的划分,对于需求变更等维护任务的处理过程,不需要都从头重新开始,完全可以根据具体情况从受影响的某个层次开发,例如BUG修改,如果程序BUG只影响到一个软件模块,对其他部分没有影响,那么其分析、实现、测试及文档修改,都只需要在这个模块范围内进行。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:建立正确的质量观念

下一篇:谈施工企业工程造价的全过程管理