chapter12_并发程序的测试_4_其他的测试方法

  • 测试的目标不是为了更多的发现错误, 而是提高代码能按照预期方式工作的可信度

  • (1) 代码审查CodeReview

    (2) 静态分析工具: 它们不需要运行代码, 是在分析代码中是否存在常见的错误模式, 例如FindBugs软件

    常见的能被静态分析出来的问题

    1° 不一致的同步

    使用了不同的锁

    2° 调用了Thread.run()

    3° 显示锁没有被释放

    4° 空的同步块

    5° 双重检查加锁

    6° 在构造函数中启动一个线程

    this引用逸出

    7° notify和notifyAll通知了错误的对象

    8° 条件等待(Object.wait(), Condition.wait())了错误的对象

    9° 对Lock和Condition的误用

    10° 在休眠或者等待的同时持有一个锁

    11° 自旋循环

    通过忙等待的方式检查某个域的值而不做任何事情, 会浪费CPU时钟周期

    (3) 面向切面AOP测试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值