Your SlideShare is downloading. ×
0
Testing Concurrent Java programs                        Sameer Arora                       Xebia IT Architects.           ...
AGENDA    What makes Concurrent programs hard to test.    How concurrent applications design drives testability.    Tes...
What makes concurrency hard to testTests for Concurrent Programs are themselves concurrent programs.Failures are rare and ...
Design and TestabilityEncapsulating concurrent interactions .Thread Delegation.Effectively Immutability.Figuring Single Th...
Testing Asynchronous Method Calls   Asynchronous Job Signal Demo                                    5
Testing for Resource Management                                  6
Bounded Job QueueTest for Blocking Operations - Demo                                      7
Testing for Thread SafetyBounded Job Queue Thread Interleaving Test                                             8
Complementary Testing Approaches    Injecting Callbacks.    Static code Analysis Tools.    Code Review.    Profilers a...
QuestionsQuestions/Comments/Feedback                              10
Thank you            11
Upcoming SlideShare
Loading in...5
×

Testing concurrent java programs - Sameer Arora

1,392

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,392
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "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.

×