[Owncloud] regarding quality

Thomas Müller thomas.mueller at tmit.eu
Fri Jun 29 19:18:52 UTC 2012


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 at kde.org
> https://mail.kde.org/mailman/listinfo/owncloud



More information about the Owncloud mailing list