Testing concurrent java programs - Sameer Arora

  • 1,239 views
Uploaded on

Session presented at the 6th IndicThreads.com Conference on Java held in Pune, India on 2-3 Dec. 2011. …

Session presented at the 6th IndicThreads.com Conference on Java held in Pune, India on 2-3 Dec. 2011.

http://Java.IndicThreads.com

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,239
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
8
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Testing Concurrent Java programs Sameer Arora Xebia IT Architects. 1
  • 2. AGENDA What makes Concurrent programs hard to test. How concurrent applications design drives testability. Testing asynchronous code - demo. Testing Blocking operations and Resource Management - demo. Testing Thread Safety - demo. Complementary testing approaches. Questions & Feedback 2
  • 3. What makes concurrency hard to testTests for Concurrent Programs are themselves concurrent programs.Failures are rare and probabilistic in nature.Execution is Platform Dependent. 3
  • 4. Design and TestabilityEncapsulating concurrent interactions .Thread Delegation.Effectively Immutability.Figuring Single Thread Confinement.Composition. 4
  • 5. Testing Asynchronous Method Calls Asynchronous Job Signal Demo 5
  • 6. Testing for Resource Management 6
  • 7. Bounded Job QueueTest for Blocking Operations - Demo 7
  • 8. Testing for Thread SafetyBounded Job Queue Thread Interleaving Test 8
  • 9. Complementary Testing Approaches Injecting Callbacks. Static code Analysis Tools. Code Review. Profilers and Monitoring tools. Frameworks for Multi-threaded Testing.  ConcJunit  Awaitility  MultiThreadedTC 9
  • 10. QuestionsQuestions/Comments/Feedback 10
  • 11. Thank you 11