前言
学习软件测试已经有几周了。理论学习了很多,但是实际上自己动手去做的测试也就是两次非常简单的实验。虽然只是两次简单的实验,但是呢,两个实验给我的收获是非常大的,让我对软件测试有了很多自己的想法。
一、非常大的工作量
软件测试耗费的工作量与我想象中相比,差距真的很大。我之前一直非常轻视软件测试这一环节,觉得这个环节可有可无。事实上,在我完成了一个程序,或者完成了一个项目之后,我并不会花费很多时间去系统地测试它。我觉得自己在写代码时就已经经过自测了,完成的程序应该并不会出现什么严重的BUG。即使是我想要测试这个程序,应该也是一件比较简单的事情,多耗费一点时间也就够了。"测试不就是用一下就好了吗?"当时是这样想的。
事实上,我在做测试的时候,花在软件测试上的时间甚至比写代码的时间还要多出很多。比如说之前做单元测试的时候,我写了一个排序算法的函数只用了5分钟,最多不到10分钟。而为了完成单元测试,我需要画一个流程图、再转成有向图,然后找到有效路径并设计测试用例,最后再测试看结果。我没有留意这些具体花了多少时间,但是至少也有半小时以上。当然我测试的函数是设计到算法的函数,这样的函数单元当然比较复杂,一般的函数应该比这简单很多,花费的时间也要少很多。但是其花费的工作量还是很大的。
当然为了减少软件测试的工作量,现在有很多的测试工具和测试框架可以给我们用,我们也必须要学习如何更好的使用这些工具来简化软件测试的工作,提升软件测试的效率。我们使用过的Visual Studio就可以帮着我们更快更好的完成软件测试,极大提升软件测试的效率。
二、人比机器更聪明
为了提升软件测试的效率,我们必须依赖一些软件测试的工具。但有些时候,我们并不能够过分的相信机器,人永远比机器更聪明。
这是我在做UI测试的时候发现的一件事:
前提:使用Visual Studio做自动化测试,对下面这个软件进行编码的UI测试;
没有测试出任何问题,每一个按钮都可以正常点击进入,也可以正常返回。
但是我兴致来潮地做了一下AD Hoc Test,按照自己的想法随便点的时候,试着改了一下屏幕的分辨率,如下:
屏幕从1280x768改为了1920x1080,图像按钮变形验证,软件无法正常使用。
利用工具的话就是这样,只能发现你料想的到的错误,一些奇怪的错误很可能就无法发现,所以说,机器无法完全代替人类。
三、总结
软件测试这门学科、或者说这门技术,是理论与实践都非常重要的。只有完善的理论,才能让我们更快更好的进行软件测试,没有理论来指导我们进行测试的话,软件测试是非常困难的,很可能会花费大量时间却没有找出相应的BUG。而实践,才能真让我们摆脱理论,真正地学会怎么进行软件测试,才能最高效地测试出软件的问题。