Hi guys,
coming from strong test-driven development background I'm bit sad that in our Cloud Engine test we don't do testing as much as we could. Now we could polemize if the testing is so important so let's do that. I'm strong believer (with common-sense) and proponent of test driven development, but that's not what I want for you and for the project.
The fact that I prefer TDD with RSpec/BDD style of testing is my choice and I don't mind if somebody does it different way, but hey they at least write good tests. Having to write tests before the code is just matter of choice but writing test for the code is *must*.
Why *must*? :-)
More code, more people we add to the project more we have to explain, teach, "control" what gets in. With all that it will take more and more time to do our job. We as a team want to keep the velocity of our work as high as possible. And testing our codebase is one of the great ways to do that. I'm fully aware of that just testing ins't enough. But looking at the code I know we don't do any good job. A lot of us are not writing tests at all. Most of us not checking the tests they broke. Most of us don't care about green build at all. Too bad.
I would like you to encourage you to get better and more disciplined writing better code by writing it altogether with tests.
Tests will help you to: 1) make sure whatever you write is correct 2) document the code for others 3) do refactoring faster and also help you make sure u didn't broke anything what was working before 4) keep all your coworkers happy that you didn't broke their code 5) be better programmer ;)
To emphasize the need for tested code let me say that "It's not only about you anymore but about us.". Let's make life of the team and each other easier.
Feedback, critique, comments, opinions very appreciated.
Next week I want to write more about the way we test and try to get us all on the same level of testing if possible.
-- Ladislav
I whole heartedly agree.
We sort of started to slack a little with regards to writing tests at the end of the last phase.
I think we need to be a little stricter with regards to what tests we add too. If it's a bug we at the very least need to test the bug is now fixed. For new features we need to be a little more comprehensive and add more than just the normal case, such as adding extreme cases and expected failures. This way we could likely avoid a lot of the bugs we have today, from things like validation and niggling UI bits.
I'm a usually against having documentation all over the place, mainly because it's a pain to maintain. But I think this is one of those things that if documented could help others, maybe we could use the wiki to store things like this (hang on I haven't checked yet it might even be there). Also, some guidelines on how we treat error handling, I personally would find very useful.
If we wiki all this it would make it much easier for new starters (I know we're looking atm)
Thanks
Martyn
----- Original Message ----- From: "Ladislav Martincik" lmartinc@redhat.com To: deltacloud-devel@lists.fedorahosted.org Sent: Friday, November 12, 2010 2:28:54 PM GMT +00:00 GMT Britain, Ireland, Portugal Subject: [deltacloud-devel] Advocate for more and better testing
Hi guys,
coming from strong test-driven development background I'm bit sad that in our Cloud Engine test we don't do testing as much as we could. Now we could polemize if the testing is so important so let's do that. I'm strong believer (with common-sense) and proponent of test driven development, but that's not what I want for you and for the project.
The fact that I prefer TDD with RSpec/BDD style of testing is my choice and I don't mind if somebody does it different way, but hey they at least write good tests. Having to write tests before the code is just matter of choice but writing test for the code is *must*.
Why *must*? :-)
More code, more people we add to the project more we have to explain, teach, "control" what gets in. With all that it will take more and more time to do our job. We as a team want to keep the velocity of our work as high as possible. And testing our codebase is one of the great ways to do that. I'm fully aware of that just testing ins't enough. But looking at the code I know we don't do any good job. A lot of us are not writing tests at all. Most of us not checking the tests they broke. Most of us don't care about green build at all. Too bad.
I would like you to encourage you to get better and more disciplined writing better code by writing it altogether with tests.
Tests will help you to: 1) make sure whatever you write is correct 2) document the code for others 3) do refactoring faster and also help you make sure u didn't broke anything what was working before 4) keep all your coworkers happy that you didn't broke their code 5) be better programmer ;)
To emphasize the need for tested code let me say that "It's not only about you anymore but about us.". Let's make life of the team and each other easier.
Feedback, critique, comments, opinions very appreciated.
Next week I want to write more about the way we test and try to get us all on the same level of testing if possible.
-- Ladislav _______________________________________________ deltacloud-devel mailing list deltacloud-devel@lists.fedorahosted.org https://fedorahosted.org/mailman/listinfo/deltacloud-devel
deltacloud-devel@lists.fedorahosted.org