+ 4
What's Your Software Development Process?
What methods do you use ensure you produce quality software? I believe it's impossible to write perfect bug free code, but there's abundant ways to improve its quality... Do you work in a team? Do you drink the Agile cool-aid? How efficient do you think your methods are, in theory vs practice? How about development tools? Use any of these? * Source control * Static code validation * Unit testing * Automated functional tests * Leak and stability stress tests * Code reviews * Continuous integration builds * Bug tracking service
3 ответов
+ 2
It is good solution when your tests are unit tests. I did work with big regression suits in most cases they are not add any value comparing to maintenance effort. The best solution I seen so far, is small suite of sanity test running at every build(TeamCity was used), just to check that it actually working. And Smoke set containing UI and API functional tests, running after each major "release candidate" build. Additionally there was small set of UI tests running across different browsers, they were run occasionally in some cases. Automated tests can't replace human testing, they can only check some facts about SUT. So they should be build around this concept, check some facts, do it fast, precise, frequently.
+ 1
I believe without source control, continuous integration and bug tracking or task trecking tool it is impossible work in a team. Problem with code review s unit and functional testing, it is not only are they in place or not, but also how they done. If they done in formal way, just to have them they will only waste of time and effort. There are no silver bullet in quality assurance, it is always depends on team how they use tools and methods to get job done.
+ 1
On my side we're a pretty small team and each have some specialties for which we're more proficient, so no XP for us. I've been influenced a lot by "The Pragmatic Programmer" and am a fan of test driven development. We use Google-Tests for unit testing and Jenkins for CI builds.
Still we don't nearly have enough tests. I think in a perfect world each small feature of a product should have a bunch of tests to cover any possible input, and on top of that there should be a full regression test suite to ensure previously fixed bugs remain fixed.