软件测试心得

引言:前阵子去考了计算机三级,应试的考一考试,具体啥题型也不知道,反正就是背,等考完试后,回头细细品了品这俩本书西安电子的《软件测试技术》和邮电的《软件测试》第2版,受益匪浅,想想之前所做过的项目,都跟书上写的一毛一样呀,哇。下面是我的心得笔记。
  软件测试应该是从一开始的需求评审到项目结束的,而不是等待开发完毕后才进行的功能测试。
看书的时候看到一句话,『客户拿到手后,才知道自己想要的是什么』,深深触动,回想起之前我的开发经历,真的是深有同感。
经常通过项目组的埋头苦干之后,公司内部的测试通过,然后交给客户,但是客户很大几率会跟你说,这并不是他们想要的功能,这个只是有点像而已,而实际想要的功能是另一样子的。然后接着项目就按照客户的“新需求”改了下,接着又按照咱们刚刚说的这个流程重新走一遍,甚至糟糕的话,这个功能得重做。这来回整整得消耗多少人力和时间。
那么该怎么避免这种情况呢,需求测试。需求测试是指,需求由客户提出来后,由相关人员,如:市场、项目经理、开发人员,小组开会讨论客户的需求,进行的需求可行性分析。开会的结果是布置好每个人的任务,接着定好一个日期,再开一次解决方案会,这次会议,相关人员要给出需求的解决方案,与客户商量好后,最终由负责人决定开发。
需求的可行性分析
  需求的整理,客户的需求可能比较混乱,没有条理,单独的一条条,咱们要为客户整理好需求,然后为客户进行可行性的分析,有可能这个功能没必要,而且在开发周期有限的情况下,占的时间和资源比较多,那么就可以跟客户商量砍掉。有可能这个功能是重要的,但需求却不重视,那就可以提出建议,让客户掂量,不要到时候按照自己的意愿开发,否则项目完成后,客户会觉得跟之前商量好的不一样,会有不悦,这时候再解释也不会怎么奏效。
  需求的扩展,要想客户所想,以客户的身份去思考这些需求,去扩展这些需求。因为很多人并不是专业的,也不是从事这个的,说的很多东西都不“规范”,这时候就要换位思考,把自己代入客户。如果你是客户,以你公司的利益最大化来讲,这个项目的这些需求需要满足哪些?
举个例子,客户要求做一个自动售卖机,这是他们的需求。
①自动售卖机-》②投钱-》③出饮料
客户能告诉你能描述出来的就只是这么多,而我们代入后,则应该是
①自动售卖机-》②投钱-》③验假钞假币-》④判断金额是否足够饮料钱-》⑤够就出饮料并找零,不够继续投
实际上的逻辑还有硬件参与还会更复杂,我们就不多举例了。从这个例子我们可以看出,我们以专业的角度去把客户的需求,补全、扩展,这是站在客户的角度考虑的,会更加全面,也会让自己的开发更加方便。
功能和bug
功能和bug可分为4种,
紧急:必须立马完成的。
重要:在这版本内需要完成的。
普通:可以留到下一版本解决的。
瑕疵:可以留到空闲时间解决的。
不用解决所有的Bug,没必要花大部分时间去做一个完美版本,而是把基础功能完成后,发布市场,让市场反馈,让用户来当测试者,接受用户的反馈。有可能你花两周解决的一大bug,在用户看来却是碍眼的不实用的小东西。
总结经验
一个项目开始,客户说需求,我们进行需求整理、需求分析、需求测试、需求评审,这环节中要不断的和客户沟通,然后开始做一个产品原型,也可以只是图,完成后发送给客户,跟客户说明逻辑和流程,让客户理解,当客户拿到后,提出不可行的地方后进行更改,接着跟客户进行交接,直到客户满意,这个时候才能开始开发,虽然可能会有点繁琐,但是这样的一个流程会大大的减少开发的周期和大大的增加客户的满意层度。

发表评论

电子邮件地址不会被公开。