Am Freitag, dem 29.06.2012 um 14:20 schrieb Frank Karlitschek:
> Hi everybody,
> 
> 
> the main problem our users mention about ownCloud is the number of bugs we 
> have. I think we have to be more careful in the future about code quality if 
> we want that more users use our software to manage their important documents 
> and data.
> We got a lot of bad press and feedback for ownCloud 4 and it took us several 
> weeks to fix the major bugs in 4.0.4. We have to be way better in ownCloud 5.
> 
> Robin, Thomas and others are working on automated unit tests. This will help 
> us a bit in the future.
> But automated test have only a limited effectivity in complex 
> client/server/web environments like ours.
> So every developer is full responsible for the bugs and security problems a 
> commit might introduce. You can´t rely on a unit test or a different 
> developer or user to find and fix your stuff.
>

After building up the unit test suite to a necessary extend we shall start to 
think about going 
into integration testing and maybe even think about behavior driven test cases 
built on top of e.g. selenium.

With such tests and tools we can build up an acceptance test suite, which can 
be executed against a running instance of owncloud.
Firing such a acceptance test suite against master and stable-x within an ci 
process would be almost perfect.

I know some tools from the ruby'n'rails world - there are for sure similar 
tools for php.
Some of them can even be used in the php world as well.

Anybody interested in these things: step a head and speak up! ;-)
 
> A few important rules:
> 
> - Test your code before commit!
> - Only backport important and fully tested bugfixes to stable4

Maybe not everybody shall be allowed to push stuff to a stable branch?
Maybe we nominate a small team of core devs, who receive the merge request and 
decide of it can be merge to stable or not. 

> - Switch PHP notices on and have a look at the Apache error log regularly.
> - Test you code before commit!!
> - Do complex stuff in branches and only merge when fully working
> - Respect the coding guidelines http://owncloud.org/dev/contribute/

Within the continuous integration server - which I'm currently setting up - we 
can scan php, js and css for their style.
(BTW: the first run with the standard PEAR ruleset detected over 110000 code 
style violations ;-) )

> - I suggest that developers run master so that we are sure that it is always 
> usable.
> - Use JS debugger like Firebug to catch JS errors.
> - Test you code before commit!!
> - Always sanitize user data to prevent XSS or CSRF security problems.
> - Always write documentation for your classes/functions.
> - Test your code before commit!!!!
> - And please test your code before commit!
> 

I'd like to add:
- ask other devs for code reviews - a second pair of eyes will see more

Cheers,

Tom aka DeepDiver

> 
> Thanks a lot!
> 
> Frank
> 
> 
> _______________________________________________
> Owncloud mailing list
> Owncloud@kde.org
> https://mail.kde.org/mailman/listinfo/owncloud
_______________________________________________
Owncloud mailing list
Owncloud@kde.org
https://mail.kde.org/mailman/listinfo/owncloud

Reply via email to