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