软件测试定义和原则

  软件测试的定义

  观点一

  1972年。软粉测试领域先驱班Btz!薄土在美国的光卡罗来纳大学组织了历史上第一次正式的软件测试的会议1973年他首先给出软件测试的定义。“测试就是建立一神信心,确信程岸够按所设想运行”。193他又将软件测试的定文修改为*评价一个程序和系统的特性或能力,序确定容是到预期的结果,歌有测试就是以此为目的的在何行为。“这是他定义中的“设”和预期结”,也就是我们现在所说的用户需求”,他把航得的质量定义为“符合要求“。他认为测试方法是试图证是工地”、所工作的”就是指的动是服照预先的设执行的观点二

  与观点一相反,代表人物是Gle到fod工,,认为应该首先认定饮件是有语误的,然后用测试发现尽可能多的错。除此之外,Myers还给出了与测试相关的三个重要观点,那就是(1)测试是为了证明程序有错,而不是证明程序无错(2)一个好的测试用例是在于它发现以前未能发现的错误(3)一个成功的测试是发现了以前未发现错误的测试

软件开发人员即程序员应当避免测试自已的程序,不管是程序员还是开发小组都应当避免测试自己

1.2软件测试的原则

  的程序或者木组开发的功能模块。若条件处许、皮当由独立于开发组和客户的第三方测试组或测试机构来进行软件测试。但这并不是说程序员不能测试自己的程序,而且更加鼓励程序员进行调试,因为测试由别人来进行可能会更加有效、客观,并具容易成功,而允许程序员自己调试也会更加有效和具有针对性。

  2应尽早地和不断地进行软件测试。应当把软件测试贯穿到整个软件开发的过程中,而不应该把软件测试看作是其过程中的一个独立阶段。因为在软件开发的每一环节都有可能产生意想不到的问题,其影响因素有根多、比如软件本身的抽象性和复杂性、软件所涉及问题的复杂性、软件开发各个阶段工作的多样性、以及各层次工作人员的配合关系等。所以要坚持软件开发各阶段的技术评审,把错误克服在早期,从对测试用例要有正确的态度:第一,测试用例应当由测试输入数据和预期输出结果这两部分组成:

  而减少成木,提高软件质量,

  第二,在设计测试用例时,不仅要考虑合理的输入条件,更要注意不合理的输入条件。因为软件投入实际运行中,往胜不遵守正常的使用方法,却进行了一些甚至大量的意外输入导致软件一时半时不能做出适当的反应,就根容易产生一系列的问题,轻则输出错误的结果,重则瘫痪失效!因此常用一些不合理的输入条件来发现更多的鲜为人知的软件缺陷。

  4人以群分,物以类聚,软件测试也不例外,一定要充分注意软件测试中的群集现象,也可以认为是*80-20原则”。不要以为发现几个错误并且解决这些问题之后,就不需要测试了。反而这里是错误群集的地方,对这段程序要重点测试,以提高测试投资的效益。

  5.严格执行测试计划,排除测试的随意性,以避免发生疏漏或者重复无效的工作。

  6.应当对每一个测试结果进行全面检查。一定要全面地、仔细地检查测试结果,但常常被人们忽略导致许多错误被遗漏。

  7.妥善保存测试用例、测试计划、测试 告和最终分析 告,以备回归测试及维护之用。在遵守以原则的基础上进行软件测试,可以以最少的时间和人力找出软件中的各种缺陷,从而达到保证软件质量的目的。

  8.最重要的一个原则:所有测试的标准都是建立在用户需求之上。

  测试工作要尽可能地找出关键性的错误。

  因为这些错误很可能会限制用户使用此软件产品完成工作的能力,从而会直接影响客户对质量的评价在实际测试过程中,可以应用ALAC(Act like a customer模拟客户)测试理念和用户剖面的分析方法。

  →把Pareto原则应用于软件测试。

  因为测试中的也有群集现象,也适用于Pareto原则。事实证明:一段程序中存在的错误数与其中己现的错误数是成正比的。一般情况下,在分析、设计、实现阶段的复审和测试工作能够发现和避免80%Bug,而系统测试又能找出其余Bug中的80%,最后的5%的Bug可能只有在用户的大范围、长时间使用才会曝露出来,因为测试只能够保证尽可能多地发现错误,无法保证能够发现所有的错误。

  100%测试覆盖率,

  只有达到100%测试覆盖率才能最大程度地降低软件质量风险,这就要求我们实际测试过程中设计的试用例要100%地执行。

  所有的测试都应追溯到用户需求。

  软件测试的最终目的就是验证软件是否满足用户需求,所以测试工作要以用户需求为根本出发点,用户实际应用环境为判断依据。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年2月20日
下一篇 2022年2月20日

相关推荐