• 【转载】【缺陷预防技术】自动错误预防(AEP)


    AEP Automated Error Prevention,简称AEP,是指通过在整个软件开发周期中自动地预防错误来提高产品质量。
    AEP是基于质量大师戴明的质量模型的基础上加入了自动化的元素。戴明提倡质量改进应该通过分析错误根源和消除错误原因。但是对于软件行业,这种手工的质量改进方式很难实现,需要花费大量时间和精力,因此有必要引入自动化的实现方式。
    AEP Methodology 是一种改进软件质量、提高软件开发生命周期效率的新方法。它基于 AEP 概念,此概念的核心,在于从自身及其它人的错误中吸取教训,然后将学到的东西应用到软件生命周期中,使软件成功运行。

    AEP 概念提倡以下五个特定过程的自动化,可以把这五个过程组合起来,以改进生产流程、并预防错误:
    1.识别错误。
    2.找到错误原因。
    3.定位产品产生错误的地方。
    4.修改现有的实践(或者添加一些新的)、以确保相同的错误不再出现。
    5.监视流程。

    至于如何应用 AEP 概念的例子,请想象您有一个n层的系统,包括客户机、用 Java 编写的中间件、以及数据库。假定负载测试显示系统由于负载过重而停止了工作。在经过详细分析之后,您发现资料从开放式连接泄漏到了数据库中。通常,您只需修改代码以关闭连接。不过,如果您要从 AEP 的角度来解决此问题,则还应设法确定如何预防错误再次出现。在将问题单独处理为开放式连接之后,您可以确定流程中出现错误的原因,在于某个开发人员编写代码打开了连接、但没有关闭该连接。然后,您可能会设法采取一项措施,以确保编写的打开连接代码中始终伴随有关闭该连接的代码,从而避免再次出现此类错误。
    实现此措施的一种方法,在于建立一条 Java 代码规范,要求每个打开连接的类必须有一个finalize ( ) 方法,使用finally块来关闭连接。如果代码遵循此规则,那么错误就不会再次出现。但您如何能实施该项措施呢?您可以通过让团队进行代码复审来实施该项措施。不过,这缺乏效率,因为团队需要人工审查和分析所有的代码,以确定是否所有连接都已关闭。更有效率的策略,是将产品整合到流程中,该产品会自动检查代码规范,然后让该产品分析您的代码,自动识别违反此代码规范的情况。
    这就是 AEP 概念所蕴含的原理。您在负载测试期间发现一条错误,然后将来自于 Java 中间件内开放式连接的错误源码,作为资料泄露单独处理出来。您发现 Java 代码缺少finally块和finalize ( ) 方法,于是定义了一个代码规范,规定将来应该如何编写代码,并使流程自动化,以确保遵循此项标准。通过此方式,可以预防所有这一类的性能问题。

    AEP Methodology 有五条主要原则,该方法提供了一个经过良好测试的蓝图,用以在团队环境中实现五步AEP概念:

    1.应用行业最佳实践来防止普遍错误,并建立全寿命周期的错误预防基础。
    2.按需修改的方法,以预防特殊的错误。
    3.确保每个小组都能正确并始终如一地执行 AEP。
      a.按小组逐个引入 AEP。
      b.确保每个组都有一个合适的支持体系。
      c.建立小组的工作流程,以确保错误预防被恰当地执行。
    4.循序渐进地采用每一个实践。
    5.利用统计来稳定每一个过程,让它发挥价值。
    为让 AEP 产生最大效益,必须向整个团队提供必需的技术、体系和培训,正确并始终如一地执行错误预防实践。

    From:www.51Testing.com

  • 相关阅读:
    创建工作窗口
    windows下关闭进程树
    VC socket api使用引入
    实现PC延迟执行函数
    CxImage实现9PNG
    bzoj 3211 花神游历各国
    codevs 3287 货车运输 NOIP2013提高组
    bzoj 3732 Network
    codevs 2370 小机房的树
    图论-最近公共祖先-在线树上倍增
  • 原文地址:https://www.cnblogs.com/hncjp1989/p/2377274.html
Copyright © 2020-2023  润新知