DZone
Java Zone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
  • Refcardz
  • Trend Reports
  • Webinars
  • Zones
  • |
    • Agile
    • AI
    • Big Data
    • Cloud
    • Database
    • DevOps
    • Integration
    • IoT
    • Java
    • Microservices
    • Open Source
    • Performance
    • Security
    • Web Dev
DZone > Java Zone > Integration Testing From The Trenches: An Upcoming Book You'll Want To Read

Integration Testing From The Trenches: An Upcoming Book You'll Want To Read

James Sugrue user avatar by
James Sugrue
CORE ·
Apr. 03, 14 · Java Zone · Interview
Like (1)
Save
Tweet
4.13K Views

Join the DZone community and get the full member experience.

Join For Free
DZone MVB Nicolas Frankel is working on his latest book, this time writing a book dedicated to integration testing. As one of the major pain points for anyone undertaking test driven development, this book is bound to be popular. Published on leanpub, you'll be able to get your hands on it soon. For now, I spoke with Nicolas to find out more about the book, and some of his opinions on testing
DZone: What prompted you to write another book?

Nicolas: No rest for the wicked, I guess! In fact, after the release Learning Vaadin 7, I felt very happy of course. But after some time, there was this feeling that I had to write again. I think this might not be different from what real litterature writers experience. 
DZone: A book dedicated to integration testing is rare. What makes it stand out from other books that cover the testing process?

Nicolas: You're entirely right. In fact, my bibliography on this subject is quite small. The problem is once people find an interest in something, there are plenty of other people that want to make use of it. I find it's a huge step that a majority of software developers and projects now enforce unit testing and code coverage. But this is not enough: it is as if you wanted to test a final assembled car by testing every part separately. While it makes sense to test every nuts and bolts, you must also test drive their interaction. And that's the domain of integration testing. 
DZone: Of all stages of test, what do you think is the most difficult stage to get right?

Nicolas: Unit testing has been extensively defined, documented and practiced. On the opposite side, there are many tools for end-to-end functional testing, as well as some experience. In the middle stands integration testing, with many tools available but very little practice; this leaves many software engineers with the trial-and-error strategy. Since I've done a lot of errors, I think it's good that other engineers also benefit from them. 
DZone: Developers seem to find ways to get out of testing all the time. What encouragement can you give to those who still don't quite buy into the benefits of test driven development? 

Nicolas:  Hmm.... I don't know about TDD since I'm not a fierce proponent of it, but any aspiring developer should be put on a maintenance project with no tests and experience first-hands how hard it is to update code with no test harness.
 
DZone: How would you approach testing for a legacy project, which has very little, if any, tests available?

Nicolas: I would suggest refactoring to make the code testable, which require testing first. Quite a quandary! So I would definitely use an iterative strategy. First, create a very coarse-grained functional end-to-end testing harness. Then, during each iteration, set up a finer-grained testing on a specific area with the help of dedicated libraries such as PowerMock, refactor to a more unit-testing friendly design, then remove PowerMock.
Book Integration testing Integration unit test

Opinions expressed by DZone contributors are their own.

Popular on DZone

  • How to Handle Early Startup Technical Debt (Or Just Avoid it Entirely)
  • Making Machine Learning More Accessible for Application Developers
  • A Guide to Understanding Vue Lifecycle Hooks
  • How Does the Database Understand and Execute Your Query?

Comments

Java Partner Resources

X

ABOUT US

  • About DZone
  • Send feedback
  • Careers
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • MVB Program
  • Become a Contributor
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 600 Park Offices Drive
  • Suite 300
  • Durham, NC 27709
  • support@dzone.com
  • +1 (919) 678-0300

Let's be friends:

DZone.com is powered by 

AnswerHub logo