软件测试可以防止那些修复起来成本很高的错误,从而避免将来因为它们所导致的高昂费用。以下是优化前期成本的7个步骤。
为什么软件测试很重要
平均一款手机应用程序包含大约5万行代码,微软Windows操作系统有大约万行代码,而谷歌的整个代码库估计包含20亿行代码。如果每个KLOC(千行代码)平均有15-50个缺陷,那么在产品投放到市场之前,软件测试人员有大量的工作要做。
那么软件测试人员如何决定测试什么呢?如何测试?测多少是足够的,测多少是冗余的?这是一个艰难的决定,即使对经验丰富的测试人员也是如此!数百万行的代码对于任何测试团队来说都是难以承受的,而且测试成本也可能高得令人望而却步。
然而,任何软件产品都不可能在没有经过彻底和全面的测试周期的情况下发布到市场上。软件测试是SDLC(软件开发生命周期)中至关重要的,也可能是最重要的部分。
软件测试之所以重要,一些最重要的原因是:
保证了软件的可靠性和安全性。在飞机和车辆、医疗设备和关键制造设施中使用的软件系统,它们甚至可以决定生死。
它确保了高性能,这在需要处理非常大的负载(比如成千上万的并发用户或非常高的数据传输速率等情况)的系统中是必不可少的。
它提供客户满意度,这是任何业务或产品成功的关键。
为什么能省钱?
软件测试可以防止那些修复起来代价高昂的错误,这些错误会导致以后不必要的高昂费用。我们都听说过一些公司因为系统中的“漏洞”而召回了数千辆汽车甚至飞机。想象一下由于缺少测试而导致的损失吧!
一个简单的规则是,你越早跟踪一个bug,修复它的成本就越低。
这使得更加全面的软件测试在任何依赖或使用软件工程的业务或项目中变得更加重要。软件缺陷未被发现的时间越长,它就越有可能像滚雪球一样变成更大、更关键的缺陷,并逐渐变得越来越难修复。有些情况下,缺陷检测得太迟,以致于无法修复,从而危及整个应用程序的成功。
在早期测试和频繁测试有投入的科技公司从长期来看更有可能获得丰厚的回报。这是因为软件缺陷不仅会导致代价高昂的修复之外,它们还会对公司的声誉造成负面影响,导致停机、用户体验不佳和客户流失,从而进一步减少收入。
如果没有彻底的回归测试,即使修复bug也会导致新bug的产生,这对任何组织来说都是灾难性的。
如何通过在软件测试上的花费来获得更多的收益
这似乎有点自相矛盾:软件测试确实需要花钱,但它实际上又为您节省了更多。这取决于你怎么看它。软件测试不应该被看作是一项单纯的开支,而应该被看作是用于交付可靠的、无缺陷的和高质量的软件的一项投资,从而在市场上获得可靠的声誉,并吸引更多的忠实客户。
不幸的是,许多公司在测试时往往会偷工减料,要么是因为成本,要么是因为苛刻的交付时间表。而实际上,公司与其去忧心“有测试”的缺点,还不如多