软件开发和测试之间是什么样的关系?

2017-12-21 16:15:19 admin_ 4

   在IT行业中,开发和测试之间的关系一直是大家津津乐道的话题。在整个软件产品的生命周期中,开发和测试人员所做的工作分别对应不同的阶段,分为,概念阶段,计划阶段,开发阶段,验证阶段,发布阶段,运营维护阶段。

timg.jpg

   开发和测试是一个上下游的关系。具体而言,开发人员主要做这样几件事情:

   一,对软件需求说明书进行详细评审,弄清楚要开发一个什么样的软件。

   二,编写软件详细设计、单元测试和集成测试规程文档。软件详细设计文档是最重要的文档,在里面,要写清楚自己程序的流程、函数设计、异常保护考虑等。在动手写程序之前,一定要将软件详细设计文档写好,等评审通过了再写代码。

   三,编写代码,用程序实现软件的功能。很多人认为的软件开发就是写代码,其实这是一种很狭隘的理解,写代码在整个开发流程中,只占了很小的部分。

   四,程序写好之后,开发人员要对它进行单元测试和集成测试也叫(自测),确保程序的正确性。这里就出现了“测试”二字,但与软件测试所做的“测试”是不同的,他们做的是“系统测试”。等自测通过之后,并且相关文档也写好之后,就可以提交程序版本,供测试人员进行测试了。

   相对开发,测试人员主要做这几件事情:

   一,参与软件需求说明书的评审,对软件要实现的功能有一个大致的了解。

   二,搭建测试环境。这个是很重要的,也是比较难的事情。那么什么是“测试环境”呢?就是说,不管什么软件,都有个运行的条件,如操作系统类型、参数设置及配套软硬件设施等,这些统称为“环境”。为了保证程序功能的正确性,要在软件上线之前,尽量模拟软件实际的运行环境,这就是搭建测试环境时要做的事情。很多软件在正式商用之后出问题,就是测试的时候没有还原现场环境所致。

   三,对软件进行系统测试并输出测试报告。所谓系统测试,就是指将配套的所有软件都运行起来,看一下所有的功能是否正常。当出现问题的时候,要及时和开发人员联系,以修正软件缺陷。

   四,指导现场人员安装软件程序,并在必要的时候亲自出差到现场去安装软件。因此,测试人员也可能会经常出差的。

   在完成软件研发的过程中,开发和测试之间的关系非常的“微妙”,时而合作如亲人,时而争论如敌人。为了做出高质量的软件产品来,开发和测试需要做到:

   一,共同参与软件需求文档的评审,对程序要实现的功能有一个清晰的认识,如果对需求有疑问,一定要当面提出来。

   二,在对需求达成共识之后,软件开发人员要严格按照软件需求文档上的描述来编写程序,如果在程序实现上有困难,要提出来和大家讨论。软件测试人员严格按照需求的描述来验证程序的功能,如果发现程序实现与需求不符,要及时与软件开发人员联系,大家共同将程序问题解决掉。

   三,如果开发时间紧张、人手不足,那么在开发人员编写程序的时候,测试人员可以帮忙把测试环境搭建好,等程序编写好之后,开发人员便可以立即进行单元测试和集成测试。

   四,不管是需求有问题,还是程序有缺陷,大家都可以指出来,不过要注意就事论事,不可将软件问题上升为人身攻击。

   虽然是各司其职,也许还身处不同的部门,但大家的共同目标是一致的:做出让客户满意的、高质量的软件产品。开发和测试人员要为了这个目标共同努力。 一个软件产品的成功需要从各个环节上去把握,好的软件产品需要开发和测两手抓,两手都要硬。