Your SlideShare is downloading. ×
Testing concurrent java programs - Sameer Arora
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Testing concurrent java programs - Sameer Arora

1,331
views

Published 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

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,331
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
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