软件测试遵循的7条原则
1、所有的测试都应追溯到用户需求。因为软件的目的是使用户完成预定的任务,满足其需求,而软件测试揭示软件的缺陷和错误,一旦修正这些错误就能更好地满足用户需求。
2、应尽早地和不断地进行软件测试。由于软件的复杂性和抽象性,在软件生命周期各阶段都可能产生错误,所以不应把软件测试仅仅看作是软件开发的一个独立阶段,而应当把它贯穿到软件开发的各个阶段去。在需求分析和设计阶段就应开始进行测试工作,编写相应的测试计划及测试设计文档,同时坚持在开发各阶段进行技术评审和验证,这样才能尽早发现和预防错误,杜绝某些缺陷和错误,提高软件质量,测试工作进行得越早,越有利于提高软件的质量,这是预防性测试的基本原则。
3、在有限的时间和资源下进行完全测试,找出软件所有的错误和缺陷是不可能的,软件测试不能无限进行下去,应适时终止。因为,测试输入量大、输出结果多、路径组合太多,用有限的资源来达到完全测试是不现实的。
4、测试只能证明软件存在错误而不能证明软件没有错误,测试是无法显示潜在的错误和缺陷,继续进一步错误可能还会找到其它错误和缺陷。
5、充分关注测试中的集群现象。在测试的程序段中,若发现的错误数目多,则残存在其中的错误也越多,因此应当花较多的时间和代价测试那些具有更多错误数目的程序模块。
6、程序员应避免检查自己的程序。考虑到人们的心理因素,自己揭露自己程序中的错误是件不愉快的事,自己不愿意否认自己的工作;另一方面,由于思维定势,自己难以发现自己的错误。因此,测试一般由独立的测试部门或第三方机构进行。
7、尽量避免测试的随意性。软件测试是有组织、有计划、有步骤的活动,要严格按照测试计划进行,要避免测试的随意性。
为了发现更多的错误让系统更完善,设计测试用例时不但要选择合理的输入数据作为测试用例,而且要选择不合理的输入数据作为测试用例,使得系统能应付各种情况。
测试过程不但要求软件开发人员参与,而且一般要求有专门的测试人员进行测试,并且还要求用户参与,特别是验收测试阶段,用户是主要的参与者。