用发展的眼光看软件测试

软件测试从本质上讲,和其它领域的测试一样,都是为了验证该能用的功能都能用。拿造自行车来讲,出厂之前得试一下吧,保证脚蹬刹车等都好用。软件也一样,发布之前通过测试来完成产品验收。可不一样的是,自行车出厂之后,是什么就是什么了,很少有人会回来要求给自行车添加新的功能。可对于软件来说,这却是家常便饭。不变和变之间,虽然只有一字之差,却意味着思维方式上本质上的区别。

对于自行车的测试来说,它们也是一成不变的,就是为了在车子出厂之前,利用他们给车子打下个合格证。而软件呢,是变化的,不断成长的,主要体现在新功能的引入。可限于软件这种产品的复杂性,新功能的引入是有风险的,它们可能破坏既有的功能。所以在面对这些风险的时候,软件中的原有测试所扮演的角色,就是保护这些既有的功能在新事物的入侵下安然无恙。

所以说要用发展的眼光来看待软件测试,同一个测试,随着时间的推移,虽然说在本质上讲是不变的,但它们在不同的生命阶段扮演的角色的侧重点是不一样的。