前言: 软件是由人来完成的,所有由人做的工作都不会是完美无缺的。软件开发是个很复杂的过程,期间很容易产生错误。无论是软件从业人员、专家和学者做了多大的努力,软件错误仍然存在。因而大家也得到了一种共识:软件中残存着错误,这是软件的一种属性,是无法改变的。 软件测试是一个找错的过程。软件测试的过程亦是程序运行的过程。
1.定义
软件测试(SoftwareTesting):使用人工和自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清楚预期结果与实际结果之间的差别。
软件测试是与软件质量密切联系在一起的,归根结底,软件测试是为了保证软件质量。
2.目的
(1)为了发现尽可能多的缺陷,并期望通过改错来把缺陷统统消灭,以能提高软件的质量。一个成功的测试用例在于发现了至今尚未发现的缺陷。
(2)以最少的人力、物力和时间找出软件中潜在的各种错误和缺陷,通过修正各种错误和缺陷提高软件质量,回避软件发布后由于潜在的软件缺陷和错误造成的隐患所带来的商业风险。
3.软件测试的原则
1.所有的测试都应追溯到用户需求;
2.把“尽早和不断地测试”作为开发者的座右铭;
3.程序员应该避免检查自己的程序,测试工作应该由独立的专业的软件测试机构来完成;
4. pareto原则(80/20原则);
5.设计测试用例时,应该考虑各种情况;
6.对测试错误结果一定要有一个确认的过程;
7.制定严格的测试计划;
8. 完全测试是不可能的,测试需要终止;
9.注意回归测试的关联性;
10.妥善保存一切测试过程文档。
4.软件测试模型
软件测试过程模型是对测试过程一种抽象,用于定义软件测试的流程和方法。
随着测试过程管理的发展,软件测试专家通过实践总结出了很多很好的测试过程模型。这些模型将测试活动进行了抽象,并与开发活动有机的进行了结合,是测试过程管理的重要参考依据。
4.1 V模型
V模型是最具有代表意义的测试模型 ,反映出了测试活动与分析设计活动的关系。
V模型指