【转载】【缺陷预防技术】自动错误预防(AEP)
2012-03-02 16:15
183 查看
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
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
相关文章推荐
- 在51testing的博客上新开了个栏目:自动错误预防AEP
- 【转载】【缺陷预防技术】流程技术预防
- Qt singal 机制与调试错误技术(转载)
- 程序员的五种非技术错误 --转载
- [转载]抛弃QII自带文本编辑器,换Notepad++,照样可以定位错误行;暨如何开启Notepad++的自动补全功能
- 对象拷贝类PropertyUtils,BeanUtils,BeanCopier的技术沉淀(2)------缺陷预防
- 利用动态创建层技术实现无冗余代码为表单自动添加错误提示
- 【转载】Unity3D研究院之静态自动检查代码缺陷与隐患
- 用core dump和错误自动重启技术提高软件可用性
- 利用动态创建层技术实现无冗余代码为表单自动添加错误提示
- 常用软件缺陷预防技术和缺陷分析技术
- 转载_kdump的出现(基于嵌入式Linux的内核错误跟踪技术)
- Qt singal 机制与调试错误技术(转载)
- 最全,最强的软件测试资料汇总 (性能测试,性能调优,功能测试,自动化测试,测试管理,测试工具,测试用例设计,缺陷分析预防,前沿测试技术...)
- 缺陷分析和缺陷预防技术
- 【转载】【常见缺陷分析技术】ODC缺陷分析法
- [转载]搞定amd64 8.04下面mldonkey自动退出问题(段错误)
- 【转载】【常见缺陷分析技术】基于ODC的软件缺陷度量研究
- 最全,最强的软件测试资料汇总 (性能测试,性能调优,功能测试,自动化测试,测试管理,测试工具,测试用例设计,缺陷分析预防,前沿测试技术...)
- 还为安装IIS发愁吗?全系列IIS自动安装程序倾囊奉送!--技术原理介绍及成品下载