对于欲加入软件测试领域工作的学生,或打算从其他行业转岗的社会人士,或是对软测感兴趣的相关人员。
他们常问到同样一个问题:软件测试是做什么的?
关于这个问题的回答,在业界流行着这样一个故事。
话说,某天,阳光灿烂,一测试界大牛-陈师,领着一群小白来到一施工现场。
陈师:这扇墙都有什么组成。
小白们:不是红砖,钢筋,水泥,石灰吗。
陈师:好,这扇墙彻的质量怎么样?
小白们:看上去很好呀,其上面的平顶也已封起来了。
陈师:随即,拿起一把锤子把墙面敲了又敲,然后用放大镜查查看看。接着又用铁凿在红砖之间的缝隙处挖了又挖。 问小白,你们都听到什么了,看到什么了?
小白们:‘咚咚咚’,‘卟卟卟’的声音,有些红砖出现了敲打的裂痕,缝隙处掉渣子了。
陈师:这扇墙是昨晚施工队发微信告诉我,可以验收的工程,你们就把它当成软件开发发布的版本好了。
大家注意到了没,我手上有放大镜,锤子,凿子,可都是利器呀。我这把锤子很特别, 它有不同的棱角,就看你的力往哪使,在墙面的不同地方使用不同的棱,不同的力,发出的声音是不一样的。这些棱、力的组合就构成了你的验收方法。放大镜可以让你看到墙面更深层的纹理,便于判断使用何种棱与力去敲打。这就是软件测试的方法、工具的应用啊,它们的组合构成了对软件的不同输入,在此,不同的输入带来了不同的输出。
敲打后出现的裂痕,我们可以理解为软件的某功能模块经不起考验,不可靠,有Bug,需修改。缝隙处掉渣子,同样的道理,给不起验收的折腾,需局部重构。
此时,只听一片嘘唏。
小白A:原来这样,好像有些残酷,盖得好好的房子,怎么可以用锤子、凿子去捣鼓呢,这不是明摆的拆房子吗
小白B:不能直解,要会意。老师表达的是思路,软测本身不是要去干坏事,与开发对着干。你需要应用一系列的工具、方法,折腾软件,对它进行功能,性能,安全等质量可靠性上进行验收。
陈师:冲着小B笑笑,答道:正解,收官。