什么是软件测试?

开篇以三个可以作为我们日后工作知道的信条开始吧:

●  做不到更好是因为我们不知道什么是更好的。

●  所有人摘掉的借口不是借口。

●  更大的能力意味着更大的责任。

当听到这三句话的时候,发现如果在日常测试工作中能以这个为指导,那很多测试mm、刚毕业的测试人员等等,不会有那么多的抱怨,或者迷失方向的感觉。其实工作是一个探寻的过程,重点不是技术有多难,重点是判断事务的方法和做事情的态度。

下面本次的题目“测试过程与团队管理培训”进行一下简单的论述:

●  测试是一个软件质量保证的过程,不是在软件开发过程中的一个简单的环节。如果这样理解测试,那么测试过程可以类似软件开发过程一样,可以定位多个层级。然后可以针对各个层级的描述,针对当前公司的真实状态,找准需要紧迫要解决的问题。这样不会出现“测试现在问题好多呀,要改进的地方太多了,感觉哪一个都紧迫,所以不知道要先做哪一个。那干脆还是维持现状吧。”

目前我们的测试过程现状,基本上是处于重复级和定义级之间。目前传授的更多的是经验,例如:佳实践。但是也在做一些方法的定义,例如:度量数据的统计。是期望这些数据能给我们后续的一个  改进措施和方法。

●  测试的目的是什么?经常会有如下几类的答案。第一,测试是为了寻找bug,尽可能更多的寻找bug。第二,是通过寻找bug来保证和提高软件的质量。第三,是为了实现一个特定的目标而进行的有规划、设计、实施、完善等一系列活动。

如果我们延续第一个思路,那显然第三个才是正确的答案。也是说第三个才是我们做测试的真正目的。但是感觉第三又是比较玄乎的,怎么才能让测试真正的成为一个过程,而不简单的是一个行为、动作。那是要很定期测试整个过程的规范。

另外,从这个测试目的来说,测试其实不是很需要有特殊癖好的人。例如:有个人说自己很喜欢找别人的bug,把自己的幸福建立在别人的痛苦之上。显然,如果这个人技术很好,能找出很多隐藏很深的bug,而我们更需要让他把他的经验总结成为一个可操作的方法,这样才是对我们来说更有价值的。如果简单的是只有他一个人能做,那从整体的团队价值、过程建立方面,其价值是微乎其微的。并且我们更重要的是建立我们的产品目标。也许对某些产品而言,这些更深层次的bug并不影响用户的使用,或者用户根本遇不到这样的场景。

●  软件测试的成本。这个问题似乎在某一个阶段是很少有人考虑的。但是从现实情况来说,测试是公司的一个成本部门,所以我们在做任何行动的时候都应该考虑我们的投入产出比是否核算。怎么能利用更少或者更合适的人,做出更好的或者说更有效的产出。并且在做策略定义的时候也需要考虑一下公司对测试的定位和目标。

●  后,在此想几个错误认知在此描述一下。

误区一:按照规范来测试可以提高软件质量。

测试是用来验证软件质量是否符合预期的,软件质量是做出来的,不是测出来的。

误区二:依靠规范的过程来保证软件质量。

标准的规范只能作为规范受益者的一个判断衡量标准。