51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2706|回复: 2
打印 上一主题 下一主题

[转贴] 软件测试的原则

[复制链接]
  • TA的每日心情
    无聊
    4 天前
  • 签到天数: 1050 天

    连续签到: 1 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2016-9-12 15:13:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    转自:博客园
    软件测试是一项极富创造性、极具智力挑战性的工作。

    为了尽可能发现软件中的错误,提高软件产品的质量,在软件测试的实践中应把握以下几项测试原则:

    1.测试应基于用户需求

      所有的测试标准应建立在满足客户需求的基础上,从用户角度来看,最严重的错误是那些导致程序无法满足需求的错误。应依照用户的需求配置环境并且依照用户的使用习惯进行测试并评价结果。假如系统不能完成客户的需求和期望,那么,这个系统的研发是失败。同时在系统中发现和修改缺陷也是没有任何意义的。

      在开发过程中用户的早期介入和接触原型系统就是为了避免这类问题的预防性措施。有时候,可能产品的测试结果非常完美,可最终的客户并不买帐。因为,这个开发角度完美的产品可能并不是客户真正想要的产品。



    2.做好软件测试计划是做好软件测试工作的关键

      软件测试是有组织、有计划、有步骤的活动因此测试必须要有组织有计划,并且要严格执行测试计划避免测试的随意性。测试计划应包括:所测软件的功能,输入和输出,测试内容,各项测试的进度安排,资源要求,测试资料,测试工具,测试用例的选择,测试的控制方法和过程,系统的配置方式,跟踪规则,调试规则,以及回归测试的规定等以及评价标准。另外,回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多错误出现的现象并不少见。

      项目测试相关的活动依赖于测试对象的内容。对于每个软件系统,比如测试策略、测试技术、测试工具、测试阶段以及测试出口准则等等的选择,都是不一样的。同时,测试活动必须与应用程序的运行环境和使用中可能存在的风险相关联。因此,没有两个系统可以以完全相同的方式进行测试。比如,对关注安全的电子商务系统进行测试,与一般的商业软件测试的重点是不一样的,它更多关注的是安全测试和性能测试。



    3.应尽早的开始软件测试并不断的进行软件测试

      软件项目一启动,软件测试也就是开始。由于软件的复杂性和抽象性,在软件生命周期各阶段都可能产生错误,所以不应把软件测试仅仅看作是软件开发的一个独立阶段,而应当把它贯穿到软件开发的各个阶段去。在需求分析和设计阶段就应开始进行测试工作,编写相应的测试计划及测试设计文档,同时坚持在开发各阶段进行技术评审和验证,这样才能尽早发现和预防错误,杜绝某些缺陷和错误,提高软件质量。尽早开展测试准备工作使测试人员能够在早期了解到测试的难度,预测测试的风险,有利于制定出完善的计划和方案,提高软件测试及开发的效率,规避测试中存在的风险。尽早开展测试工作,有利于测试人员尽早发现软件中的缺陷,大大降低错误修复的成本。测试工作进行得越早,越有利于提高软件的质量,这是预防性测试的基本原则

    4.测试前必须明确定义好产品的质量标准

    只有建立了质量标准,才能根据测试的结果,对产品的质量进行分析和评估。同样,测试用例应该确定期望输出结果。如果无法确定测试期望结果,则无法进行检验。必须用预先精确对应的输入数据和输出结果来对照检查当前的输出结果是否正确,做到有的放矢。系统的质量特征不仅仅是功能性要求,还包括了很多其他方面的要求比如稳定性、可用性、兼容性等等。

    5.避免测试自己的软件

      由于心理因素的影响或者程序员本身错误的理解了需求或者规范导致程序中存在错误,应避免程序员或者编写软件的组织测试自己的软件。一般要求有专门的测试人员进行测试,并且还要求用户参与,特别是验收测试阶段,用户是主要的参与者。

    6.应充分注意测试中的集群现象

      一般来说,一段程序中已发现的错误数越多,其中存在的错误概率也就越大。错误集中发生的现象,可能和程序员的编程水平和习惯有很大的关系。因此,对发现错误较多的程序段,应进行更深入的测试。

    7.必须检查每个实际输出结果

      这个原则可能最显而易见,但也同样常常被忽视。应当彻底检查每个测试的执行结果,避免因为疏忽或者对结果与预期结果的一致性主观臆断造成错误遗漏。

    8.穷举测试是不可能的

      由于时间和资源有限,穷举测试是不可能的,软件测试不能无限进行下去,应适时终止。此外,应避免冗余测试。

    9.测试设计决定了测试的有效性和效率

      测试设计决定了测试的有效性和效率,测试工具只能提高测试效率而非万能。根据测试的目的,采用相应的方法去设计测试用例,从而提高测试的效率,更多地发现错误,提高程序的可靠性。除了检查程序是否做了应该做的事,还要看程序是否做了不该做的事;另外,测试用例的编写不仅应当根据有效和预料的输入情况,也需要根据无效和未预料的输入情况。



    10.注意保留测试设计和说明文档,并注意测试设计的可重用性

      妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护等提供方便。

    11.杀虫剂悖论

      杀虫剂用得多了,害虫就有免疫力,杀虫剂就发挥不了效力。在测试中,同样的测试用例被一遍一遍反复使用时,发现缺陷的能力就会越来越差。这种现象的主要原因在于测试人员没有及时更新测试用例,同时对测试用例及测试对象过于熟悉,形成思维定势。

      为克服这种现象,测试用例需要经常的评审和修改,不断增加新的不同的测试用例来测试软件或系统的不同部分,保证测试用例永远是最新的,即包含着最后一次程序代码或说明文档的更新信息。这样软件中未被测试过的部分或者先前没有被使用过的输入组合就会重新执行,从而发现更多的缺陷。同时,作为专业的测试人员,要具有探索性思维和逆向思维,而不仅仅是做输出与期望结果的比较。

    12.计划测试工作时不应该默许假定不会发现错误

    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏4
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2021-6-9 14:08
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    2#
    发表于 2016-9-13 20:02:18 | 只看该作者
    看起来很有用的样子
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-25 21:30 , Processed in 0.061065 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表