This is the exact shit we used to have. HOLY SHIT DO I HATE CODE-BEHIND IN WEB APPS.They keep hounding us to write unit tests, but the problem is our application is so old it's inherently untestable. New stuff we can unit tested, sure, but changes or additions to legacy code? Forget it. Our app is an ASP.NET Web Forms which has so much business logic written into the code behind files it's crazy. There is no way to unit test this crap and I don't think TPTB understand this.
Ours was even more awesome as we had to mock vSphere.Yeah the webservice I'm on is pretty rough to test as well. It was clearly written by someone who knew how to integration test but not unit test atomically. The logic that you want to test is side by side and coupled with the various JMS queues, HBase put, all the persistance stuff and generally required spring-injected XML configuration files. So to test even some basic logic you have to create a full stack mock of an entire backend system.
haha, this removes me of a tweet I saw recently for an interview with a new developer.The main reason why developers don't like to QA, is simply laziness. To get people to write a test is like pulling teeth.
Because your tests are basicallyAnd what happens when the bug is in the test not in the code its testing? How do you test the test? And what do you use to test the test that tests the first test?
And who updates the tests to follow along with new requirements? If you had time to do that (roughly 100-150% increase in time spent to maintain code + tests) you could probably have just written better code in the first place. And again, nothing is stopping you from coding in bugs to the tests in the first place, making them useless.
I guess I don't really write the kind of bugs that testing would catch. Thats easy enough and probably has value, but I'd be afraid someone would just hit those and go "yup it works!" -> production.Because your tests are basically
If your tests are insanely complicated in terms of logic then you've got a problem with correct unit testing. I don't see how anyone can be a competent developer and not see the benefit of unit testing. And for the testing new requirements if the requirement turns out that method b when paramatarized with "c" should now return false that is captured in your unit test as a failing requirement. It also gives you a strong sense of "this still works" when/if you have to perform large rewrite and refactors on a code base.
I want developers to handle Unit Testing, Integration and Functional testing.It's interesting that so many people think it's an either/or scenario. I want unit testing AND QA.
The best development shop I ever worked for had pair programming, wrote unit tests, had automated daily builds that executed those tests AND had QA staff to test user experience and business edge cases. It was awesome.
Vinen, you can pretend people should be experts on everything they work on but the fact of the matter is you work for a solely technical company that values that technology above all else because it's what they sell. Many of us work in industries that need to leverage technology but don't value that technology enough. We, as developers in those industries, rarely get the chance to become experts in the business side of those industries. It's unrealistic to ask a single person to be an expert on such a wide array of subjects. That's why BAs exist, QA staff, etc etc.
Sometimes you have to rely on the expertise of the BA to write specs you can design around.
Yep, these are all big problems that have no easy solutions.And what happens when the bug is in the test not in the code its testing? How do you test the test? And what do you use to test the test that tests the first test?
And who updates the tests to follow along with new requirements? If you had time to do that (roughly 100-150% increase in time spent to maintain code + tests) you could probably have just written better code in the first place. And again, nothing is stopping you from coding in bugs to the tests in the first place, making them useless.
I want a Pony.I want developers to handle Unit Testing, Integration and Functional testing.
While qe handles System Testing (ex: System Performance, Product integration qualifications (ex: different versions of vSphere)) and other more complex tasks which require additional setup to test).
And I want developers to do thier job.I want a Pony.