精华内容
下载资源
问答
  • 急于看到第一个成品),而不应该在软件有一定规模情况下使用。 纯托管化改造 <p>Windows 10 要出 ARM64 版本了,而这个项目包含一些本机 C++ 动态链接库。这种混用非微软提供本机动态...
  • 为嵌入式系统引入一个通用、完善的UML技术,必将当前高速发展的嵌入式系统的研究与开发产生积极的影响。而本文所提出的思想和方法,对于摆脱UML技术在嵌入式领域的困境起到了有益的探索和建议作用。
  • 评估需要大量文档来记录系统的每个元素,这是一项艰巨的任务,迫使我们在最后一个学期开始时动手。 在这次作业中,我们选择创建一个网站,重点处理学校环境中的膳食交易。 通过以我所学的其他技能(例如AJAX)实施...
  • 小组各成员mantisBT已经基本熟悉,而且也工具进行使用,下面是我们小组对于mantisBT工具概述介绍,以及小组各成员自己在使用该管理工具过程中一些感受和改进建议,工具概述 Mantis Bug ...

    经过上周对测试管理工具mantisBT的实践认知,小组的各成员对mantisBT已经基本熟悉,而且也对工具进行使用,下面是我们小组的对于mantisBT工具的概述介绍,以及小组各成员对自己在使用该管理工具过程中的一些感受和改进建议。

    一,工具概述

           Mantis Bug Tracker是一个基于php技术的轻量级的bug跟踪系统,它是以Web操作的形式提供项目管理以及缺陷跟踪服务。它实现了简单性和功能性之间的微妙平衡,在功能上、适用性上足以满足中小型项目的管理及跟踪;在实际操作上使得用户在几分钟之内就能学会其操作并开始管理他们的项目,同时能有效的与其队友或者客户进行协作。

     

    二,测试管理流程

    mantis背后所遵循或体现的测试管理流程图如下:

    具体过程如下:

    1, 管理人员在登录系统后在左侧的管理视图的用户管理中分别创建测试人员、高级测试人员、开发经理、开发人员,给与其账号以及密码,并设置其权限;另外在项目管理中创建当前开发的项目。

    2, 测试人员登录系统以后,测试人员在提交问题视图中填写相关的错误信息,包括错误的等级,使得新的Bug入库,然后将错误指派给高级测试人员,这时候错误状态为New。

    3, 高级测试人员验证错误,如果确认是错误,则将错误发送给开发经理,错误这时候的状态为Phostphone;如果不是错误,则拒绝,反馈测试信息,使得错误的状态为Declined。

    4, 开发经理查看错误,并决定发配或者延期。若果发配则代表认可,如果不发布则代表继续延期或者向高级测试人员反馈。

    5, 开发人员登录后查询指派给我的Bug,此时的bug状态为open, 如果不是错误,则置状态为Declined;如果是Bug则修复 并置状态为Fixed。不能解决的Bug,要留下文字说明及保持Bug为Open状态。
    注意:对于不能解决和延期解决的Bug,不能由开发人员自己决定,一般要通过某种会议(评审 会)通过才能认可。

    6, 测试人员查询状态为Fixed的Bug,然后验证Bug是否已解决,如解决置Bug的状态为 Closed,如没有解决置状态为Reopen。

    三,工具特点和局限性

    (1)基本特征:

    1, 个人可定制的Email通知功能,每个用户可根据自身的工作特点只订阅相关缺陷状态邮件;

    2, 支持多项目,多语言;

    3, 权限设置灵活,不同角色有不同的权限,每个项目可以设置成为公开或者私有的状态,每个缺陷可以在不同项目之间移动;

    4, 主页可以发布项目以及相关新闻,方便信息传播;

    5, 具有方便的缺陷关联功能,除重复缺陷外,每个缺陷都可以链接到其它先关缺陷;

    6, 缺陷报告可以打印或输出为CSV格式,1.1.7版:支持可定制的报表输出,可定制用户输入域;

    7, 有各种缺陷势图和柱状图,为项目状态分析提供依据,如不能满足要求,可以把数据输出到Excel中进一步分析;

    8, 流程定制方便且符合标准,满足一般的缺陷跟踪;

    9, 开源,不收费,对于公司有能力可以二次开发来满足定制需求;

    10,可以邮件通知,可以生成图表报告;

    11,丰富的过滤搜索功能;

    12,权限的分配十分灵活。

    (2)小组成员使用感受(包含改进建议)

    小戴:

    它是一个轻量级的工具,在登陆以后便可以轻松进行操作,界面美观,可操作性性强,最主要是能在几分钟之内学会操作,其权限设置灵活,不同角色有不同的权限,每个项目可以设置成为公开或者私有的状态,每个缺陷可以在不同项目之间移动。另外在该平台中,项目小组之间的人员能方便沟通,相互指派bug,这些都是很赞的设计。

    小何:

    安装和使用mantisbt后,了解到mantisbt是一款轻量级的缺陷管理工具,开发基于php,mysql和apache,是可以通过浏览器操作的b/s架构应用。他提供了对缺陷的提交,管理,跟踪等基本功能,另外还具有可以发送邮件,可以灵活地分配权限,可以导出图表,丰富的过滤器搜索功能等特点。但是mantisbt只是单纯地针对软件测试管理过程中的缺陷管理,相比其他功能完善的软测管理工具如jira,禅道等显得功能很单薄,在实际软测过程中可能需要和其他工具结合使用。

    小司:

    通过对mantis的学习,学会了管理项目,跟踪任务,修改bug,并且可以发送邮件进行组员之间相互协调。可以让管理员,报告者,开发人员等各种不同职位的人发挥自己各自的作用。

    Mantis优点:

    有我的视图的界面,可以很清晰的看到:分派给我的(未解决的),未分派的,我报告的,已解决的,最近修改的,我监视的。这样的将任务分门别类可以更加清晰的看见自己要解决的问题。时间轴可以按照时间顺序显示最近的任务分配。

    Mantis局限性:

    1. 变更日志和路线图目前无法使用。如果这两个功能可以使用,则可以更好的看到整个问题处理的进程。

    登录是,用默认的用户名可以成功登录,但是注册新的账号密码时,验证码无法发送到邮箱,试了几个办法目前还是没有解决这个问题。

    小林:

    MantisBT 的优点:

    开源免费可以进行二次开发;

    友好的中文界面;

    学习成本低,上手快;

    可以连接MySQL开源数据库;

    权限设置灵活,不同角色可以有不同的权限,不同的权限可以有不同的操作管理。

     

    局限性:

    Mantis是运行在PHP的环境中的,所以要运行mantis还需要安装PHP开发运行环境,安装复杂,配置邮件功能步骤复杂繁琐。无法适应大型项目的需要,缺陷管理流程相对固定,自定义的流程功能有限。

    小陈:

    因为在选择mantisBT这款测试管理工具之前,小组有对各大测试管理工具进行过简单的对比,首先看的就是软硬件要求,以及环境配置要求。通过对比我们发现在几款软件之中,mantisBT属于相对要求比较容易的一款软件,这应该属于mantisBT的一大优势,下面是通过对mantisBT的了解过程中,自己对于mantisBT一些优点的总结:

    1,环境配置要求易于满足;

    2,属于开源软件;

    3,支持汉化,这应该是一大优势,毕竟还是汉语更加亲切;

    4,角色的划分,不同的角色拥有不同的权利;这种操作就使得mantis的管理更加合理化和规范化;

    5,个人可定制的Email通知功能,每个用户可根据自身的工作特点只订阅相关缺陷状态邮件;

    局限性:mantisBT虽然使用方便操作简单,但是在功能上还是有一定的局限,比如只能跟踪bug,而且工作流程也不太灵活。如果能够在这方面加以改进,那么mantis的将会为更多的测试团队所接受。

    小李:

    以前从来没听说过Mantis这个测试软件生命周期产品,通过这几天 的学习才逐渐了解这个产品。
    Mantis是一个基于PHP技术的轻量级的开源缺陷跟踪系统,以Web操作的形式提供项目管理及缺陷跟踪服务;
    在功能上、实用性上足以满足中小型项目的管理及跟踪。更重要的是其开源,不需要负担任何费用;
    Mantis基于windows的安装相比较来说比较麻烦复杂一点,Mantis的界面则要友善的多了。操作也相对更加人性化一点;
    Manits的好多设置还得通过修改代码来实现,相比麻烦了很多; Mantis本身就提供了十几国的语言可以供用户直接选择,还是比较好一点的
    最主要是开源的开源的开源的!

    四,工具改进

    根据课程所学,我们了解到软件测试的流程管理包括了设计用例的管理和缺陷管理两个部分。因为测试的一般流程必定会产生大量的测试用例和测试过程中发现的缺陷。测试用例数量庞大,必须有效组织起来,实现分级管理。而缺陷同样需要识别和管理,确保缺陷被跟踪管理而不丢失。

    Mantisbt只是单纯的缺陷管理工具,工作流程基本固定,在缺陷报告描述中虽然可以以提交附件的形式来加入测试用例描述,但对比禅道,jira等功能不止于缺陷管理的测试管理工具还是不够详细和方便。在日益复杂的团队工作中,使用mantisbt可能需要结合其他管理工具一起使用,如测试用例管理工具testlink,团队工作管理软件teamoffice等等。

    综上,我们建议中小型的企业或团队可以使用mantisbt专门对缺陷进行管理,成本较低且功能完善,可以满足基本的缺陷管理需求。

    如上一节所说,mantisbt功能仅仅针对缺陷管理,虽然它的权限系统分配用户权限很方便,但是功能限制在不多的可选范围内,导致工作流基本固定。

    在此基础上,本小组讨论认为,可以进一步开放权限系统,使用户可以自定义一些操作而更加灵活的改变工作流,以此可以做到更多事情。

    另外mantisbt作为开源工具,在配置等方面还需要依靠修改配置文件和代码来实现,如邮件配置,图标功能配置等,增加了运维人员的负担,本组成员在配置mantis和其基本组件的过程中就遇到过不少困难,在这方面我们认为mantisbt的开发人员可以做的更好。

     五,任务分配

    戴:制作操作视频,说明该工具的基本使用过程;简要说明本小组选择的是什么测试管理工具。说明该工具背后所遵循或体现的测试管理流程是怎样的,必要时应绘制相关的流程图。

     

    :制作操作视频,说明该工具的基本使用过程,负责在哪些方面可以对该工具加以改进的问题

     

    负责查找Mantis的基本组成、结构、工作流程等相关资料,并能够进行运用,编写Mantis使用说明(结合例子);

     

    负责博客记录,以及整个任务资料包括文档、博客以及录制视频的整理和汇总

     

     确定选题,给小组各成员分配工作,跟进小组进度负责查找Mantis的基本组成、结构、工作流程等相关资料,并能够进行运用,编写Mantis使用说明(结合例子);

     

    负责查找Mantis的基本情况,如名称,提供商,发展简史等相关资料

     

    小司、小何、小戴、小陈、小林、小李:说明该工具是如何体现该测试管理需求的,具有哪些特点;说明该工具在使用过程中有哪些方面的局限性。

     

    转载于:https://www.cnblogs.com/1701fourth/p/7889784.html

    展开全文
  • 本文由 ImportNew - 唐尤华 翻译自 northconcepts。欢迎加入Java小组。转载请参见文章末尾要求。 合理地使用异常处理可以帮你节省数小时(甚至数天)调试时间。...1. 使用一个系统全局异常类
    本文由 ImportNew - 唐尤华 翻译自 northconcepts。欢迎加入Java小组。转载请参见文章末尾的要求。

    合理地使用异常处理可以帮你节省数小时(甚至数天)调试时间。一个乘法异常会毁掉你的晚餐乃至周末计划。如果处置不及时,甚至对你的名誉都会造成影响。一个清晰的异常处理策略可以助你节省诊断、重现和问题纠正时间。下面是6条异常处理建议。

    1. 使用一个系统全局异常类

    不必为每种异常类型建立单独的类,一个就够了。确保这个异常类继承RuntimeException,这样可以减少类个数并且移除不必要的异常声明。

    我知道你正在想什么:如果类型只有一个,那么怎么能知道异常具体是什么?我将如何追踪具体的属性?请继续阅读。

    2. 使用枚举错误码

    我们大多被教授的方法是将异常转为错误信息。这次查看日志文件时很好,(呃)但是这样也有缺点:

    1. 错误信息不会被翻译(除非你是Google
    2. 错误信息不会转换为用户友好的文字
    3. 错误信息不能用编程的方式检测

    将异常消息留给开发者定义也会出现同样的错误有多种不同的描述。

    一个更好的办法是使用枚举表示异常类型。为每个错误分类创建一个枚举(付款、认证等),让枚举实现ErrorCode接口并作为异常的一个属性。

    当抛出异常时,只要传入合适的枚举就可以了。

    1
    throw new SystemException(PaymentCode.CREDIT_CARD_EXPIRED);

    现在如果需要测试异常只要比较异常代码和枚举就可以了。

    1
    2
    3
    4
    5
    } catch (SystemException e) {
      if (e.getErrorCode() == PaymentCode.CREDIT_CARD_EXPIRED) {
      ...
      }
    }

    通过将错误码作为查找资源的key就可以方便地提供友好的国际化文本。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    public class SystemExceptionExample3 {
     
        public static void main(String[] args) {
            System.out.println(getUserText(ValidationCode.VALUE_TOO_SHORT));
        }
     
        public static String getUserText(ErrorCode errorCode) {
            if (errorCode == null) {
                return null;
            }
            String key = errorCode.getClass().getSimpleName() + "__" + errorCode;
            ResourceBundle bundle = ResourceBundle.getBundle("com.northconcepts.exception.example.exceptions");
            return bundle.getString(key);
        }
     
    }

    3. 为枚举添加错误值

    在很多时候可以为异常添加错误值,比如HTTP返回值。这种情况下,可以在ErrorCode接口添加一个getNumber方法并在每个枚举中实现这个方法。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    public enum PaymentCode implements ErrorCode {
      SERVICE_TIMEOUT(101),
      CREDIT_CARD_EXPIRED(102),
      AMOUNT_TOO_HIGH(103),
      INSUFFICIENT_FUNDS(104);
     
      private final int number;
     
      private PaymentCode(int number) {
        this.number = number;
      }
     
      @Override
      public int getNumber() {
        return number;
      }
     
    }

    添加错误码可以是全局数值也可以每个枚举自己负责。你可以直接使用枚举里的ordinal()方法或者从文件或数据库加载。

    4. 为异常添加动态属性

    好的异常处理还应该记录相关数据而不仅仅是堆栈信息,这样可以在诊断错误和重现错误时节省大量时间。用户不会在你的应用停止工作时告诉你他们到底做了什么。

    最简单的办法是给异常添加一个java.util.Map字段。新字段的职责就是通过名字保存相关数据。通过添加setter方法可以遵循流式接口

    可以像下面示例这样添加相关数据并抛出异常:

    1
    2
    3
    4
    throw new SystemException(ValidationCode.VALUE_TOO_SHORT)
      .set("field", field)
      .set("value", value)
      .set("min-length", MIN_LENGTH);

    5. 避免不必要的嵌套

    冗长的堆栈信息不会有任何帮助,更糟糕的是会浪费你的时间和资源。重新抛出异常时调用静态函数而不是异常构造函数。封装的静态函数决定什么时候嵌套异常什么时候只要返回原来的实例。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public static SystemException wrap(Throwable exception, ErrorCode errorCode) {
      if (exception instanceof SystemException) {
        SystemException se = (SystemException)exception;
        if (errorCode != null && errorCode != se.getErrorCode()) {
          return new SystemException(exception.getMessage(), exception, errorCode);
        }
        return se;
      } else {
        return new SystemException(exception.getMessage(), exception, errorCode);
      }
    }
     
    public static SystemException wrap(Throwable exception) {
      return wrap(exception, null);
    }

    Your new code for rethrowing exceptions will look like the following.

    1
    2
    3
    } catch (IOException e) {
      throw SystemException.wrap(e).set("fileName", fileName);
    }

    6. 使用带Web支持的集中式logger

    再额外附赠一个建议。可能你情况很难向产品记录日志,这个麻烦可能来自多个中间商(很多开发者不能直接访问产品环境)。

    在多服务器环境下情况可能会更糟。找到正确的服务器或者确定问题影响到了哪个服务器是一件非常令人头痛的事情。

    我的建议是:

    1. 将你的日志记录到一个地方,推荐记录到数据库中。
    2. 通过Web浏览器访问数据库。

    有很多方法和备选产品可以达成这一目标,log collector、远程logger、JMX agent、系统监视软件等。甚至可以自己写一个。重要的是要快速行动,一旦你达成了目标,你就可以:

    • 几秒钟之内定位错误
    • 为每个异常增加一个URL,可以记录或者发送email
    • 让你的伙伴可以在没有你的情况下定位错误原因
    • 避免测试人员为同一个bug添加多个记录。他们可以在bug记录里增加一条异常URL
    • 省钱
    • 让你的周末和名誉不受影响

    你有什么好的建议吗?

    希望这些建议对你有所帮助。给异常添加正确的信息和将异常放在易于访问的地方可以避免很多灾难事故和时间浪费。如果你有一些自己的异常处理秘诀,欢迎分享。

    下载

    这里包含了本文的所有代码(包括Eclipse项目)。代码的发布遵循Apache 2.0协议

    祝编程快乐!


    原文链接: northconcepts 翻译: ImportNew.com 唐尤华
    译文链接: http://www.importnew.com/5616.html
    转载请保留原文出处、译者和译文链接。]

    展开全文
  • 作为今年最重要Windows 10更新,微软显然准备了不少干货,比如新系统...首先,当用户在File Explorer 搜索框中输入内容时,将可看到一个下拉列表,其中包含了建议的文件。报道中提到,在Windows 10 2004系统...

    作为今年最重要的Windows 10更新,微软显然准备了不少干货,比如新系统内的文件资源管理器,将迎来重大改进。

    据外媒报道称,微软已计划在Windows 10 2004中引入针对文件资源管理器的重大改进,尤其是转向了由Windows搜索来驱动。首先,当用户在File Explorer 的搜索框中输入内容时,将可看到一个下拉列表,其中包含了建议的文件。

    报道中提到,在Windows 10 2004系统中改进后的搜索框,可以通过直接点击来启动。如果你想打开文件的位置,也只需右键点击该条目,参考弹出的新选项。

    e4c338f039394d9b2d058d634ee9c593.png

    如需借助命令、或更深入地研究未编入索引的位置,则仍可按回车键并使用传统的搜索结果呈现方式,以填充满当前的视图。

    ced5dcfef509caac357a326f5bbef70f.png

    新版还整合了OneDrive云盘与传统的本地索引搜索结果

    事实上,之前微软就已经表示,将对Windows 10的文件资源管理器进行大改,而这么来看的话,从体验和设计上看,他们的确是下了不少功夫,届时我们可以期待下新系统的到来,预计正式版在5月份前后推送。

    53f6ac94d8e71824e22f924a7d167352.png
    展开全文
  • 本文由 ImportNew - 唐尤华 翻译自 northconcepts。如需转载本文,请先参见文章末尾处转载要求。 合理地使用异常处理可以帮你节省数小时(甚至数天)调试时间。...1. 使用一个系统全局异常类 不必为每种异常...

    本文由 ImportNew - 唐尤华 翻译自 northconcepts。如需转载本文,请先参见文章末尾处的转载要求。

    合理地使用异常处理可以帮你节省数小时(甚至数天)调试时间。一个乘法异常会毁掉你的晚餐乃至周末计划。如果处置不及时,甚至对你的名誉都会造成影响。一个清晰的异常处理策略可以助你节省诊断、重现和问题纠正时间。下面是6条异常处理建议。

    1. 使用一个系统全局异常类

    不必为每种异常类型建立单独的类,一个就够了。确保这个异常类继承RuntimeException,这样可以减少类个数并且移除不必要的异常声明。

    我知道你正在想什么:如果类型只有一个,那么怎么能知道异常具体是什么?我将如何追踪具体的属性?请继续阅读。

    2. 使用枚举错误码

    我们大多被教授的方法是将异常转为错误信息。这次查看日志文件时很好,(呃)但是这样也有缺点:

    1. 错误信息不会被翻译(除非你是Google
    2. 错误信息不会转换为用户友好的文字
    3. 错误信息不能用编程的方式检测

    将异常消息留给开发者定义也会出现同样的错误有多种不同的描述。

    一个更好的办法是使用枚举表示异常类型。为每个错误分类创建一个枚举(付款、认证等),让枚举实现ErrorCode接口并作为异常的一个属性。

    当抛出异常时,只要传入合适的枚举就可以了。

    1 throw new SystemException(PaymentCode.CREDIT_CARD_EXPIRED);

     

    现在如果需要测试异常只要比较异常代码和枚举就可以了。

    1 } catch (SystemException e) {  
    2     if (e.getErrorCode() == PaymentCode.CREDIT_CARD_EXPIRED){  
    3         ...  
    4     }
    5 }

    通过将错误码作为查找资源的key就可以方便地提供友好的国际化文本。

     1 public class SystemExceptionExample3 {     
     2     public static void main(String[] args) {        
     3         System.out.println(getUserText(ValidationCode.VALUE_TOO_SHORT));    
     4     }     
     5     
     6     public static String getUserText(ErrorCode errorCode) {        
     7         if (errorCode == null) {            
     8             return null;        
     9         }        
    10         String key = errorCode.getClass().getSimpleName() + "__" + errorCode;        
    11         ResourceBundle bundle = ResourceBundle.getBundle("com.northconcepts.exception.example.exceptions");        
    12         return bundle.getString(key);    
    13         } 
    14 }

    3. 为枚举添加错误值

    在很多时候可以为异常添加错误值,比如HTTP返回值。这种情况下,可以在ErrorCode接口添加一个getNumber方法并在每个枚举中实现这个方法。

     1 public enum PaymentCode implements ErrorCode {  
     2     SERVICE_TIMEOUT(101),  
     3     CREDIT_CARD_EXPIRED(102),  
     4     AMOUNT_TOO_HIGH(103),  
     5     INSUFFICIENT_FUNDS(104);   
     6 
     7     private final int number;   
     8 
     9     private PaymentCode(int number) {    
    10         this.number = number;  
    11     }   
    12 
    13     @Override  
    14     public int getNumber() {    
    15         return number;  
    16     } 
    17 }

    添加错误码可以是全局数值也可以每个枚举自己负责。你可以直接使用枚举里的ordinal()方法或者从文件或数据库加载。

    4. 为异常添加动态属性

    好的异常处理还应该记录相关数据而不仅仅是堆栈信息,这样可以在诊断错误和重现错误时节省大量时间。用户不会在你的应用停止工作时告诉你他们到底做了什么。

    最简单的办法是给异常添加一个java.util.Map字段。新字段的职责就是通过名字保存相关数据。通过添加setter方法可以遵循连贯接口

    可以像下面示例这样添加相关数据并抛出异常:

    1 throw new SystemException(ValidationCode.VALUE_TOO_SHORT)  
    2     .set("field", field)  
    3     .set("value", value)  
    4     .set("min-length", MIN_LENGTH);

     

    5. 避免不必要的嵌套

    冗长的堆栈信息不会有任何帮助,更糟糕的是会浪费你的时间和资源。重新抛出异常时调用静态函数而不是异常构造函数。封装的静态函数决定什么时候嵌套异常什么时候只要返回原来的实例。

     1 public static SystemException wrap(Throwable exception, ErrorCode errorCode) {  
     2     if (exception instanceof SystemException) {    
     3         SystemException se = (SystemException)exception;    
     4         if (errorCode != null && errorCode != se.getErrorCode()) {      
     5             return new SystemException(exception.getMessage(), exception, errorCode);    
     6         }    
     7         return se;  
     8     } else {    
     9         return new SystemException(exception.getMessage(), exception, errorCode);  
    10     }
    11 } 
    12 
    13 public static SystemException wrap(Throwable exception) {  
    14     return wrap(exception, null);
    15 }

    Your new code for rethrowing exceptions will look like the following.

    1 } catch (IOException e) {  
    2     throw SystemException.wrap(e).set("fileName", fileName);
    3 }

     

    6. 使用带Web支持的集中式logger

    再额外附赠一个建议。可能你情况很难向产品记录日志,这个麻烦可能来自多个中间商(很多开发者不能直接访问产品环境)。

    在多服务器环境下情况可能会更糟。找到正确的服务器或者确定问题影响到了哪个服务器是一件非常令人头痛的事情。

    我的建议是:

    1. 将你的日志记录到一个地方,推荐记录到数据库中。
    2. 通过Web浏览器访问数据库。

    有很多方法和备选产品可以达成这一目标,log collector、远程logger、JMX agent、系统监视软件等。甚至可以自己写一个。重要的是要快速行动,一旦你达成了目标,你就可以:

    • 几秒钟之内定位错误
    • 为每个异常增加一个URL,可以记录或者发送email
    • 让你的伙伴可以在没有你的情况下定位错误原因
    • 避免测试人员为同一个bug添加多个记录。他们可以在bug记录里增加一条异常URL
    • 省钱
    • 让你的周末和名誉不受影响

    你有什么好的建议吗?

    希望这些建议对你有所帮助。给异常添加正确的信息和将异常放在易于访问的地方可以避免很多灾难事故和时间浪费。如果你有一些自己的异常处理秘诀,欢迎分享。

    下载

    这里包含了本文的所有代码(包括Eclipse项目)。代码的发布遵循Apache 2.0协议

    祝编程快乐!

    -- 扫描加关注,微信号: importnew --

    原文链接: northconcepts翻译: ImportNew.com - 唐尤华
    译文链接: http://www.importnew.com/5616.html
    [ 转载请保留原文出处、译者、译文链接和上面的微信二维码图片。]

    转载于:https://www.cnblogs.com/dwf07223/p/3224613.html

    展开全文
  • 他们通常做法是,由公司设计能力较强技术人员,给出一个概要设计,这些概要设计,往往是相当概要,也就只是系统划分、接口、关键实体模型关键属性、系统运行结构等进行定义。做得好,会做一个...
  • 该算法采用Unscented卡尔曼滤波器(UKF)产生系统的状态估计,并在量测更新过程中加入衰减记忆因子,消弱滤波器历史信息的依赖,增强当前量测信息滤波器的修正作用,从而产生一个优选的建议分布函数,较好地抑制...
  • 调用 <code>shareSecureKey</code> 重复分发权限给一个用户会返回 <code>key already shared to target user</code> 错误,但实际用户权限做了修改 <p><strong>期望(必填) 用户权限做...
  • 最近写了一个简单单点认证系统(更喜欢称它为组件) 由于刚涉及sso不久,他还不是很了解(不了解也敢写组件? 呵呵 见笑了) 所以问题再所难免,系统大家能够给予指正和帮助,先谢谢了. 下面贴一下简单说明文档, ...
  • 各位社区成员,新版极客头条上线已一个时间。期间,我们收到了大家很多反馈意见和建议,也做过多次系统更新予以改进。今天,我们又极客头条系统进行了更新,主要变更记录如下:1.增加内容分享推荐理由:欢迎...
  • 新年伊始,将自己独立实现的一个比较小RTOS源码贴上来,顺便把原理都讲一讲,希望在这块工作朋友有些帮助或者启发大家也给点改进的意见和建议。本系列文章标题叫做《实时操作系统揭秘》第一篇 前言很多人...
  • 本文讨论了干扰错误形成机制,提出了MCU改进的建议。这个建议如果实施,不仅有利于高技术领域应用,也会惠及一般民用领域。  1 干扰源讨论  很久以前,还在“8031+2764+14433”年代,我们做了批...
  • 在调查2010—2014年5年时间138起煤矿事故的基础上,造成事故发生的因素进行了系统分析,构建了一个更适合煤矿行业的改进的HFACS模型,运用灰色关联分析法,造成煤矿事故的各因素进行了分析,并计算了各自的关联度,...
  • 企业想要提高业务效率,实施ERP...ERP可以集成现有的系统和业务需求,进而改进业务能力。每企业都使用不同软件和流程组合,有独一无二客户服务方式,所以不建议使用现成软件和预配置解决方案,也不能相...
  • 推荐文章系统

    2020-12-17 17:19:00
    希望它能起到交流学习经验的目的,同时也希望朋友们多的提出系统的改进意见和建议。如果有什么建议或意见,欢迎给Bamboo(wangyy@363.net)来信,或者到斑竹园的BBS给Bamboo留言。 本系统是在时间十分紧张的情况...
  • 非圆截面零件车削中由于刀具存在径向进给运动以及切深变化,材料特性也各不相同,切削力是不断变化,这控制系统一个很大干扰。在Pro/E中建立直线电机动子部分模型,然后建立Pro/E与ANSYS接口,将模型导入有限元...
  • 7.支持近三天、近一个月、阅读次数、日期视图、问答学习等来复习收藏资料为自己知识 8.支持用Word来收集网页,这是PinPKM 独门武功 9.知识库容量仅受硬盘大小限制,采用分散文档保存来确保文档不受损 10....
  • 我们很多时候需要已有的机器学习系统进行改进...这章会介绍“机器学习诊断法”,一个测试系统的存在问题的方法,告诉你系统所存在的问题,你怎么去改进才有意义。 1、假设评价 怎么评价你的算法,学习得到假...
  • 151. 解决一直以来论坛编码解码上的一个潜在错误 152. 一些页面进行瘦身,进行JS文件分离 154. 总专题及版面专题,预载数据更稳定,而不需要事先访问版面 158. 允许自定义版面是否直接显示专题区 159. MP...
  • , 每条都包括具体、可执行、清晰组织指南,还有精细的建议、详尽技术讨论以及启发性代码实例。如果存在多种可选方案,Jones也会讲解在特定情况下如何选择最优方案。, 本书将帮助你系统性地改进代码,...
  • 如果您代码改进,新可选或核心功能或增强功能有任何建议,请创建一个问题,以便您或我们任何开放源码信徒可以着手进行此工作。 产品特点 您laravel应用程序非技术客户/用户或经验丰富开发人员都可以...
  • 如何评价和诊断一个机器学习系统,可以极大地提高改进算法效率。 评估假设 如何防止过拟合与欠拟合问题 将数据分割为训练集与测试集,统计测试集预测错误以此假设进行评估 模型选择和训练、验证、测试集 ...
  • 7.2.5 一个示例 130 7.2.6 指定权限传播限定 131 7.3 多级安全性强制访问控制和基于角色访问控制 132 7.3.1 自主访问控制与强制访问控制比较 134 7.3.2 基于角色访问控制 134 7.3.3 ...
  • 3.6 COMPANY数据库ER设计的改进 52 3.7 ER图、命名约定和设计问题 53 3.7.1 ER图表示法小结 53 3.7.2 模式结构的正确命名 53 3.7.3 ER概念设计的设计选择 54 3.7.4 ER图的候选表示法 55 3.8...
  • 今天在这里主要介绍一下MySQL8.0里错误日志的改进。MySQL8.0的错误日志可以理解为一个全新的日志,在这个版本里,接受了来自社区的广泛批评意见,在这些意见和建议的基础上生成了新的日志。下...
  • 存档:Tado现在在其自己应用程序中提供了一个按钮来切换此行为。 我来说这已经足够好了,所以我不打算继续致力于这个特定Homebridge插件。 Homebridge塔多存在 :fire: 在HomeKit中提供一个控件,用于在家庭...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 351
精华内容 140
关键字:

对一个系统的改进建议