Testing concurrent java programs - Sameer Arora

1,475
-1

Published on

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

http://Java.IndicThreads.com

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,475
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Testing concurrent java programs - Sameer Arora

  1. 1. Testing Concurrent Java programs Sameer Arora Xebia IT Architects. 1
  2. 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. 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. 4. Design and TestabilityEncapsulating concurrent interactions .Thread Delegation.Effectively Immutability.Figuring Single Thread Confinement.Composition. 4
  5. 5. Testing Asynchronous Method Calls Asynchronous Job Signal Demo 5
  6. 6. Testing for Resource Management 6
  7. 7. Bounded Job QueueTest for Blocking Operations - Demo 7
  8. 8. Testing for Thread SafetyBounded Job Queue Thread Interleaving Test 8
  9. 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. 10. QuestionsQuestions/Comments/Feedback 10
  11. 11. Thank you 11
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×