软件测试.doc
软件测试 软件测试的定义:根据软件的规格说明及程序结构,设计一批测试用例,运行程序查找程序错误。 软件测试的目的:是要发现程序的错误。一个好的测试用例,就是能发现程序中至今未发现的错误。一个成功的测试就是发现了程序中至今未发现的错误。可以看出,测试的目的是证明程序有错误,而不是为了证明程序是正确的。 软件测试的原则: 1. 要把“尽早地不断地测试”作为座右铭。 2. 测试用例应该同时包括测试输入数据和预期的输出结果。 3. 程序员应避免测试自己的程序。 4. 设计的测试用例应包括合理、有效、可验证程序正确的那些数据,以及不合 理的、无效的、证明程序做了不该做的事情的数据。 5. 如果程序中查出的错误越多,则未查出的错误也越多。 6. 仔细检验测试结果 7. 严格执行测试计划 8. 妥善保管测试计划、测试用例和结果,供维护时使用。 一般把测试方法分为两类:白盒法是着眼于逻辑结构,主要是进行结构测试;黑盒法主要着眼于功能。现在我行业务部门的人员经常要参与应用软件的测试,主要采用的就是黑盒法。在黑盒测试中,边值分析法和因果图法应该是常用的两种方法。 边值分析法是对程序输入输出的边界情况进行测试。具体设计原则是:1. 如果输入条件规定了取值的 范围,应选择正好等于边界的值,略小于最小值和 /或略大于最大值的值作为测试数据。 2. 如果输入条件规定了值的个数,应选择最小的个数、最大的个数、略小于最小和略大于最大的个数作为测试数据。 3. 对于输出条件,若规定了取值范围,则可以用类似 1 中的方法。 4. 对于输出条件,若规定了值的个数,可以使用类似 2 中的方法。 5. 输入、输出项若是一个有序的集合,则选择第一个元素和最末元素作为测试数据。 因果图法适用于输入条件之间关系比较复杂,不同的条件组合会产生若干动作的情况。通过判定表的形式,可以很好地表达多种条件组合产生 不止一个动作,其中输入条件就是因,输出条件就是果。 在实际的测试过程中,要综合运用多种测试方法。在测试中,有时需要借助其他的功能模块来运行要测试的部分,这样就产生了用于测试的其他功能模块是否正确的问题。这在集成测试中比较突出,为了避免引入新的错误,可以考虑采用增殖的测试方法,从一个模块开始,自顶向下或自底向上,用已经通过测试的模块作为将要进行测试的模块产生输入或接收输出,逐步增加新的模块,最终完成整体的集成测试。 值得强调的是,无论采用什么样的测试方法,都不要忘记,测试不是独立的一项工作,是软件生命周期中的 一个阶段,测试的依据必须是当初的需求和设计目标,要避免把对软件的新的想法与测试工作混杂起来,这是目前业务人员在进行实际测试工作中最容易出现的问题。