Java 并发程序的测试

概述

并发测试大致分为两类,即安全性测试与活跃性测试。安全性:不发生任何错误的行为。活跃性:某个良好的行为终究会发生。
在进行安全性测试时,通常会采用测试不变性条件的形式,即判断某个类的行为是否与其规范保持一致。
活跃性测试包括进展测试和无进展测试两方面,这些都是很难量化的。
与活跃性测试相关的是性能测试。性能可以通过多个方面来衡量,包括:

  • 吞吐量:指一组并发任务中已完成任务所占的比例。
  • 响应性:指请求从发出到完成之间的时间(也称为延迟)。
  • 可伸缩性:指在增加更多资源的情况下(通常指CPU),吞吐量(或者缓解短缺)的提升情况。

正确性测试

在为某个并发类设计单元测试时,首先需要执行与测试串行类时相同的分析——找出需要检查的不变性条件和后验条件。

性能测试

性能测试通常是功能测试的延伸。事实上,在性能测试中应该包含一些基本的功能测试,从而确保不会对错误的代码进行性能测试。
虽然在性能测试与功能测试之间肯定会存在重叠之处,但它们的目标是不同的。性能测试将衡量典型测试用例中的端到端性能。
性能测试的第二个目标是根据经验值来调整各种不同的限值,例如线程数量、缓存容量等。这些限值可能依赖于平台的特性(例如,处理器的类型、处理器的步进级别、CPU的数量或内存大小等),因此需要动态地进行配置,而我们通常需要合理地选择这些值,从而使程序能够在更多的系统上良好地运行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值