The foundation for your business
Fork me on GitHub
[ledgersmb-devel] LedgerSMB community update
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ledgersmb-devel] LedgerSMB community update


It was just before New Year when I sent out the last community update, so it's time for a follow up.

This half year, we only released 1 maintenance release for 1.6.10. With no specific new bug reports coming in, the development team was able to focus its efforts on 1.7.0.

On that front, a lot of development effort has gone into getting the Multi-Currency branch ready to be merged to master. On January 20th the long-awaited multi-currency branch merge happened, followed by the release of 1.7.0-alpha1.

Since then, we've been developing more tests simulating user interaction with LedgerSMB to ensure that 1.7.0 will be as good as 1.6.0 when it is released. In the process, we have been fixing a few regressions. With the additional tests - which include tests for AR & AP invoices and transactions - we have increased test coverage from 29% (current on 1.6) to 40% (on master) and we're working to increase the number to well above 50% before release.

The speed at which we're able to implement new tests is severely impacted by the fact that we hit a continuous integration limit: Travis CI allows us to run tests for a maximum of 50 minutes. Our test suite runs between 40 and 45 minutes in code-coverage testing mode.

A lot of effort has gone into working on this problem. We're working to off-load the code-coverage test jobs to another Continuous Integration service (CircleCI) which *does* allow jobs to run longer than 50 minutes. Another direction of research was to reduce execution time of our test jobs. And while that did turn up some bugs in our Selenium test driver, it mainly helped the area where we didn't experience any problems (the non-code-coverage tests were reduced from 29-30 minutes of execution to 20-21 minutes of execution).
Migrating some of our test infrastructure to CircleCI turned out to have the additional benefit of being able to start running our tests against Chrome and Firefox. Currently we only run against PhantomJS. While PhantomJS implements enough of _javascript_ to support our testing, it's unmaintained and getting behind on recent standards. Being able to test with Chrome and Firefox will help to take advantage of more modern browser development techniques.

As part of our optimization work, we helped create new releases of Weasel, Pherkin::Extension::Weasel and Test::BDD::Cucumber, where significant new features were added to Pherkin::Extension::Weasel to support increased developer efficiency.

Looking to the immediate future, we're expecting to release 1.7.0-beta1 this week: we think 1.7.0 is feature complete and we'll work simply to stabilize it from here on. This means that 1.7.0 isn't production ready, but we're looking for people to test-drive it and value any and all bug reports we can get!





http://efficito.com -- Hosted accounting and ERP.
Robust and Flexible. No vendor lock-in.
devel mailing list