假设我们都赞成测试是必要的,那么我们接下来必须回答这些问题:我们如何进行测试?实际上都包括哪些内容?我们如何保证已经进行了有效的工作,并且真正地改善了应用程序的质量?
答案很简单:制定计划。
本文是系列文章中的第一篇,该系列文章将评审在软件生命周期中制定测试计划的作用,以及有效制定测试计划的有关概念。在本文中,我们要讨论为什么进行测试,尤其是自动化测试,是必需的。然后,我们将介绍制定计划的概念:为什么制定计划是如此的重要?在随后的文章中,我们将分解测试计划中的不同因素,并且研究如何进行制定计划的过程才能最大程度地增加成功的机会。
为什么花费精力制定计划?
现在看来,没有怎么制定测试计划而造成的后果比以前更加明显了。失败的案例有很多--看看报纸或者杂志就知道了。还有一些明显的低质量软件的案例,它们包括:
AT&T-一个软件交换系统,系统崩溃造成了美国几乎24小时的长距离通信中断。仅仅修改了一行源代码就解决了问题。
Denvor机场--软件的缺陷延误了机场的开放几乎长达9个月之久,据估算,每天花费纳税人大概$500,000。
Ashton-Tate--在80年代,Ashton-Tate的DBASE软件是基于PC的数据库应用程序的实际标准。版本中的缺陷导致了利润的减少,最终造成了Ashton-Tate(和DBASE)的转让。Ashton-Tate最后被Borland(拥有极具竞争力的数据库管理应用程序,Paradox)收购。
当然,这些都是知名度很高的公司和项目。这些问题不会出现在您的公司中,对吗?
错误!我们都要面对软件的缺陷,在我们的组织中与外界都是一样,这些问题都是关键的,也是很明显的。这里有一些低质量软件的更加共同的症状:
生产力损失
系统性能
缺少功能/特性
没有满足用户需求--无法销售
用户挫折感
强迫用户以不直观的方式执行任务
循环工作
延迟