六、什么(What)是测试计划
测试计划是一个强制性的文档。你不能在没有测试计划的情况下进行测试。“美国国家标准学会和电子工程师协会标准829/1983的软件测试文档“中指明,在软件测试计划中应该涉及到以下内容。


测试计划可以减少风险 一个新项目的发布和升级之后通常伴随一定程度的风险,即不能完成一些预期功能。好的测试计划旨在减少这种风险的存在。确定哪些区域是高风险的区域后,我们可以对此区域重点进行测试。不仅要测试这些领域必须具备的功能而且还要测试在哪些领域里技术人员是缺乏经验的,例如利用复杂的ETL逻辑来实时加载一个网页表单的内容到数据库中。因为风险较高的区域需要更多的测试工作量来保证其工作的正确性,未能准确识别高风险的区域会使测试工作量分配不合理。
我们如何识别风险区域?问问大家的意见!从开发人员,销售和营销人员,技术文档写者,客户支持和用户那里收集信息。市场上类似的产品或产品以前版本的历史数据和测试报告都可以帮助确定哪些区域值得进一步的探索和研究。来自客户的缺陷报告是重要的,开发商自己提出的错误报告也是很重要的,这些资料深入到了技术领域,也许对我们找寻高风险区域能提供帮助。 IT方和商业用户此前对如何应对发现的问题而达成共识是很重要的,包括对缺陷严重性级别的定义法。对缺陷的修复工作应该把重点放在最重要、最严重的问题上。下面是在企业/商业应用中非常普遍应用的一套划分类别:在一个系统中,级别'1'是最严重的,‘6’则是几乎没有造成什么影响,一个缺陷的类别
应被准确衡量和选择。 1 阻碍-因为缺陷太严重而无法继续测试。 2 严重-测试工作可以继续进行,但直到此缺陷修复,应用程序才能发布。 3 主要-测试可以继续,但如这一缺陷修复之前将程序投入应用将会导致与业务需求的严重偏离。 4 中等-测试可以继续,但如这一缺陷修复之前将程序投入应用将会导致与业务需求的少许背离。 5 小-测试可以继续,缺陷不影响产品的发布。缺陷应该被更正,但这一缺陷不会造成与也许需求的偏离。 6 建议-产品改进的一些建议,如颜色,字体和大小。这些都不影响测试工作,也不影响产品的正式发布。有一种情况例外,如果这些功能都是重要的业务需求时,这些问题将应被分配较高的严重级别。
七、总结
软件测试是软件生命周期里的重要因素,好的软件测试将我们带来缺陷少的软件,进而带来众多好处,如节约产品开发耗时,减少产品成本,提高用户满意度。遗憾的是,软件测试在很多公司或者很多项目里是不正式的,主要原因是项目成员对软件测试的基本理论、方法和工具不是很熟悉。针对这种现状,本文围绕着3W—what,why,who介绍了软件测试的一些基本理论和术语。
参考文献和资源
? Better Software magazine. Free issue at http://www.zinio.com/offer?issn=1532-3579f&of=PF01&bd=1
? Ergo/Gero Hhttp://www.ergogero.com/FAQ/Part4/cfaqPart4.htmlH (information on color blindness)
? Goldsmith, Robin F. (2002). Software Development Magazine, 4-part series, July-October. Information on the V-Model is at http://www.sdbestpractices.com/documents/s=8815/sdm0208e/
? International Institute for Software Testing. Hhttp://www.testinginstitute.com/
? Marrik, Brian. ”Classic Testing Mistakes” (1997) and “New Models for Test Development” (1999). http://www.testing.com/writings/writings.html
? Parasoft Corporation. “Automated Error Prevention”. http://www.parasoft.com/jsp/aep/aep.jsp?itemId=170
? Patton, Ron (2000). Software Testing.
? Software Engineering Research Network, University of Calgary, Alberta, Canada. http://sern.ucalgary.ca/~sdyck/courses/seng621/webdoc.html#Unit
? Software Testing Education Hhttp://www.testingeducation.org/coursenotes/H
? Vanderbilt University, MIS Application Services. “MIS Development Methodology”. http://mis.vanderbilt.edu/methodology/
? Wachovia Bank, Training Solutions (2004). Software Testing Fundamentals.