软件测试组织和方法
随着计算机硬件成本的不断下降,软件在整个计算机系统的成本中占有越来越高的比例,怎么提高软件质量是整个计算机软件行业的重大课题。软件测试作为软件研发的一个重要环节,日益受到人们的重视。为了尽可能多地找出程式中的错误,生产出高质量的软件产品,加强对测试工作的组织和管理就显得尤为重要。
一、 软件生存周期
一个软件从开始计划起,到废弃不用止,称为软件生存周期。一般来说,软件生存周包括计划、研发、运行三个时期,每一时期又可分为若干更小的阶段。计划时期的主要任务是分析用户需求,分析新系统的主要目标及研发该系统的可行性。研发时期要完成设计和实现两大任务具体。具体分为需求分析、概要设计、周详设计、编码、测试。其中编码和测试是软件研发期的最后两个阶段。运行时期是软件生存周期的最后一个时期,软件人员在这一时期的工作,主要是做好软件维护。
统计表明,研发较大规模的软件,有40%以上的精力是耗费在测试上的,即使富有经验的程式员,也难免在编码中发生错误,何况,有写错误在设计甚至分析阶段早已埋下祸根,无论是早期潜伏下来的错误或编码中新引入的错误,若不及时排除,轻者降低软件的可靠性,重者导致整个系统的失败。为防患于未然,强调软件测试的重要性是必要的。
二、 测试的过程和方法
1、 测试的目的
在G.J.Myers的经典著作《软件测试技巧》中,给出了测试的定义: "程式测试是为了发现错误而执行程式的过程"。测试的目的是发现程式中的错误,是为了证实程式有错,而不是证实程式无错。在软件研发过程中,分析、设计和编码等工作都是建设性的,惟独测试是带有"破坏性",测试可视为分析、设计和编码3个阶段的"最终复审",在软件质量确保中具有重要地位。为了确保软件的质量,较最佳的做法应该是对软件的研发过程,按软件工程各阶段形成的结果,分别进行严格的审查。
2、测试的过程
当设计工作完成以后,就应该着手测试的准备工作了,一般来讲,由一位对整个系统设计熟悉的设计人员编写测试大纲,明确测试的内容和测试通过的准则,设计完整合理的测试用例,以便系统实现后进行全方面测试。
在实现组将所研发的程式经验证后,提交测试组,由测试负责人组织测试,测试一般可按下列方式组织:
(1)首先,测试人员要仔细阅读有关资料,包括规格说明、设计文件、使用说明书及在设计过程中形成的测试大纲、测试内容及测试的通过准则,全方面熟悉系统,编写测试计划,设计测试用例,作好测试前的准备工作。