这篇文章旨在论述软件测试在正个软件开发中的不可缺性,在现在的软件开发中软件测试贯穿了整个软件开发的整个过程。在一开始软件的开发还是处于小规模式的作坊式开发阶段,此时的软件开发人员往往能够自己解决掉大部分甚至所有的bug,但随着软件事业的飞速发展,作坊式的开发已经逐渐转化为大规模的集中式开发,开发规模的扩大,导致软件的复杂程度也大大增加,软件中隐藏的bug和逻辑错误也变得越加难以发现,并且开发人员如果自己进行测试,在测试的过程中会因为开发人员原有的思维逻辑模式,导致其测试会在其开发软件时的思维逻辑上进行,也就是说开发人员自身不能更加明确的全面的设计测试案例,因此,为了软件产品的稳定性和安全性,人们在软件的开发过程中增添了另外的软件测试人员来对软件性能进行更加准确的测试。
在经过对软件测试方面的资料的查找,发现软件测试一般具有以下四个进本要素:
1.软件测试是为了发现错误而执行的测试程序的过程;
2.软件测试时为了发现或者证明程序有错,而不是去证明程序本身没有错误的过程;
3.一个好的软件测试用例在于其能发现至今还未发现的错误;
4.一个成功的软件测试用例是发现了至今还未发现的错误的测试;
“软件质量正确的内涵是完整的需求,正确的代码和最少的缺陷”,Borland中国区售前技术总监刘晓伍曾经谈及的,而恰恰软件测试就是在整个软件开发过程中对着三个方面进行有效控制的重要手段。在数据统计中,经过必要的软件测试的软件产品的缺陷数会下降大概75%,而其软件开发的投资回报率更是高达350%。这一数据说明了软件开发过程中软件测试的不可或缺性。而软件产品的缺陷发现的越早往往会大大的降低其开发的投入成本,其缺陷的发现时间与修复缺陷的成本如下图中红色曲线。红色曲线表明随着软件开发的进行,漏洞越早发现,其修复的成本越低,并且其修复成本与开发进度的上升趋势越在后期越接近于指数上升。这一数据统计表明软件开发中软件测试进行的越准确,发现错误越早越有利于软件产品的开发和投入使用。
软件测试的意义--事后分析。所谓的软件测试,其实并不仅仅是要在软件开发过程中发现错误,正所谓“历史的轨迹总是有这惊人的相似”,而软件开发中的漏洞往往也有这其相似的面貌,如果只是进行简单的软件测试,不去了解其发生的原因和总结应该采取的应对措施,那么在下一次测试的时候我们又不得不耗费大量的人力和物力来进行查找,而且有了之前的经验或者是软件发生漏洞的总结,那么在另一个相似的软件开发过程中,开发人员就可以事先进行漏洞的规避,尽量减少不必要耗费的人力和物力。
在文章的末尾进行一下总结,当软件的开发人员在充分认识到软件测试的重要性和复杂性之后,合理地选择测试方法,有效地组织测试人员和安排测试任务,并且尽量使用软件测试工具增强软件测试的自动化程度,无疑可以帮助软件开发和测试人员大大提高测试效率和软件的质量,并且尽可能的压缩其开发的成本。