Weighing in...

I prefer option 1.

A specific problem is that we tend to test functionality of an
enhancement not necessarily how that enhancement integrates with the
eco-system of Koha and its these kind of conflicts that tend not to
surface until its been deployed in the real world.

This is a huge issue, and while it is not entirely solvable, we can definitely do *better*. Part of the problem is conflicting expectations, which we can't automate out of existence, but part of the problem is regression, plain and simple. One of the lowest impact ways to reduce regression is automated regression testing, which we can do, for example, with WWW::Mechanize. The tests are dead simple to write, and fantastically useful. There's even a wiki page about interface testing using WWW::Mechanize: http://wiki.koha-community.org/wiki/Interface_testing_with_WWW::Mechanize

Regards,
Jared

--
Jared Camins-Esakov
Bibliographer, C & P Bibliography Services, LLC
(phone) +1 (917) 727-3445
(e-mail) jcamins@cpbibliography.com
(web) http://www.cpbibliography.com/