云服务器

我与测试的不解之缘系列 1—— 初识软件测试

2017-12-14 11:55:35 0

在进入睿江云之前,我虽然知道有软件测试这个职业的存在,但是从没有想到自己有一天会从事软件测试相关的工作,并跟“测试”结下不解之缘。软件测试成为了我人生重要的组成部分。

目前,国内软件测试过程的仍不规范,重视开发和轻视测试的现象仍然存在,对于软件测试还停留在非常浅层的理解中,实际上软件测试这个环节在IT行业中至关重要。很多知名的IT企业已经逐步认识到软件测试步骤流程的重要性。很多人可能会认为软件开发过程中贡献最大的人是开发人员,这个观点虽然不能否认,但是软件测试人员在其中也扮演着非常重要的角色。它保证新开发的产品可以正常工作,最大程度上避免能够通过技术来解决的软件问题。也避免了产品在推出后因为出现的故障所产生的经济损失。如果哪一款软件产品没有经过软件测试就上市了,必然会出现或多或少的漏洞,很有可能导致很大的经济损失和企业的名誉损失。

软件测试是软件质量保证的关键环节,代表了产品的需求、设计和开发编码的最终检查。

在产品研发阶段,由于开发人员能力的局限性,审查还不能发现所有的缺陷。而且在编码阶段还可能会引来大量的错误,而这些错误与缺陷如果在产品发布投入运行之前不能完全找出,最终在产品上线才暴露出来,到那个时候改正这些错误的代价会更高,而且也会造成非常恶劣的影响。因此,在产品测试阶段,发现缺陷越早修改就越容易,投入的代价就越小。

软件测试这个步骤不仅能找出软件中存在的技术问题,还能够检测产品是否符合客户的需求,是否达到了客户的要求,这样有助于提高客户使用产品的用户体验。显然,如果IT公司推出的产品在使用中常出现错误甚至无法正常使用,这样对这个IT公司的声誉会造成很大的影响,相信也没有人愿意再使用这个公司开发的产品。

还记得在研发睿江云这个产品时,曾经有这么一个场景:

开发:有时间测试睿江云V3.3么?

测试:暂时还排不上时间测试。

开发:呜呜,尽快排出时间,你没测试过,不敢产品上线!

 

可见,测试人员在产品发展过程中处于一个非常重要的位置。作为产品质量把控的最后一道门槛,测试工作尤其关键,测试人员千万不要太妄自菲薄。

在了解软件测试的重要性后,接下来我们来看看产品测试流程是怎样的,有一个流程图充分表明了整个产品研发-测试-运维-上线的流程。这是根据我们公司的产品流程总结出来的一整套流程。

其实,真正的产品研发过程中测试人员究竟是怎样做呢?其实就分成四部分:

  1. 在产品研发需求阶段,参与需求讨论分析
  2. 开发阶段,编写相关文档或测试用例等
  3. 测试阶段,根据文档或用例测试软件相关缺陷,提交开发人员,以及分析问题产生的原因和趋势,帮助开发者发现当前产品开发中的缺陷
  4. 上线阶段,从用户体验的角度编写相应的文档,并对上线产品提出优化意见。
 

第一点其实很多产品经理都经常忽略,在产品研发的需求阶段是否应该加入测试人员进行讨论,其实是很有必要的,测试人员对于产品了解以及用户体验是清楚的,从他们的角度去思考产品应该怎样,需要怎样,产品的全面性、细节化的了解,对于整个研发产品帮助尤其大。

第二点是最基础性的工作,测试人员根据需求文档等产品开发文档编写详细的测试用例,功能测试案例,在这期间往往会提出一些严谨或极端的用例,如数据崩溃现象,字符最大值等问题,从产品整体角度看,测试人员会注重流程和细节反馈问题,对整块需求理解深刻,对于好的测试环节必不可少。

第三点属于测试的工作环节,在这个环节中如何完成测试阶段的工作流程,如何协调好产品测试流程中的上线(开发),下线(运维)显得格外重要,举个例子,程序开发往往会注重实施的结果,通过不同的方法编写代码,达到产品需求的实现。但从个人意识去判断,很难发现代码自身的问题,很多时候也是因为时间的紧张。因此测试若能分析一些漏洞产生的原因,自然会对整个流程体系把握更加到位,甚至在很大程度上告诉开发者的问题,以便达到再次开发的过程优化。具体的说明会放在下期进行,请大家继续关注喔。

第四点属于产品上线阶段,测试人员通过对产品的反复测试,是属于最了解该产品的人,编写相关的产品说明也会最贴近用户使用,以及通过本产品的测试提出一些优化建议给产品的下一个版本考虑。

总之,产品测试工作不仅仅是找出Bug,提出bug,同时也是对开发和产品设计改进的重要一步,当然良好的测试协调也是必不可少。

本期主要是说明了软件测试的重要性,以及产品研发-测试-运营的流程进行了简单说明,下一期我将会继续介绍在产品测试工作流程,测试人员所用的相关的测试方法,以及在测试过程中如何进行测试协调。

 

微信关注

获取更多技术咨询