Archive for the 'PBooks Testing' Category Page 2 of 2



PBooks Trac

I’ve decided to use Trac as the bug tracking system for PBooks. It will initially serve as a repository for the existing bugs which reside in the PBooks wiki, and will eventually host a code browser and act as a developer’s resource.

The MediaWiki installation will migrate towards being a user resource for PBooks, as well as a bookkeeping resource in general.

In preparing for public release, I’ve been manually testing PBooks like crazy. As I find bugs, I fix them. I hope to soon stop doing the testing manually, and instead use Selenium to automate the process. When that happens, it will be nice to have Trac in place.

You can visit the limited access Trac system for PBooks here.

webGUI Bugs

Couple of webGUI bugs to sort out:

safari-pbooks-calendar.jpg

In IE, the page title sinks below the background… = fixed!

Major Performance Increases




I’ve cleaned up the database model, many of the SQL queries and statements, as well as the XSL templates. This has resulted in greater performance across the board! The most noticeable improvements are in the general ledger and the journal views.

I also removed some other pieces, like the account parent column of the accounts model. PBooks is going to use account groups instead, and these will be fully user customizable. The account types shall remain mostly static and reside in an XML file.

PBooks on FreeBSD

Its really interesting when you try to install a software package on a variety of platforms. I just tried PBooks on FreeBSD, and it failed at first - without providing much insight into why. This revealed some needed improvements to Nexista, mostly minor error reporting issues.

Once I did get it running, I ran into some obvious things like using <?php instead of just <?. All in all it was a good experience, I’ve still got more patching to do! :-)

As of this morning, I’ve pretty much got PBooks running on FreeBSD / lighttpd without issue. As I said earlier, much of the difficulty was with nexista and the nexista project template, not with pbooks per se. I still need to do more testing, but that is something that needs to be done anyway. In particular, various test scripts need to be written. I’ve got a few tests for pbooks written, but they are very basic and just test the basic functionality like logging in and clicking on links. My goal is to fully test the accounting parts of the program, to ensure that the transactional data is being handled accurately.

PBooks Installation Form

This process has also alerted me that I will need to do more testing on various platforms, and to do so I need to improve the installation process. I’ve started a form to collect the necessary data, like database host, name, user, and credentials, as well as the information for the new administrator. But after that, I’m still undecided on how to handle that information. It is usually managed in the config.xml file, along with a lot of other settings like paths and debug switches. Should I write the configuration data to the config.xml file, or should I post it back to the user in xml format for them to copy and paste into the file?

For my purposes, it doesn’t help me much to do the latter, so I’ll try for the former, as that will be easier for end users in the long run. To do so, I’ll need to form the XML string from the content the user submitted, then write that to the config file. Beyond that, I think I’ll put the creation of a custom user on hold for now and continue to use the demo user which is still in the sample sql file. I’ll take the quick and easy route - use tokens to act as placeholders in the default configuration, then replace them with the user-submitted values.

UPDATE:
PBooks is now running great on FreeBSD / lighttpd / MySQL / MDB2! I’m tempted to try another database, but I’m doubtful it will work right away.

More PBooks Development Progress




Getting there, slowly but surely. There’s really nothing like the real world to test a software application! :-) Its been a while since I used PBooks on a day-to-day basis, and its great to start up with it again. I’ve learned a lot since my last foray into managing my books on my own, and I can see where PBooks needs some help.

I ran into a few small bugs today, and resolving them and the data corruption they caused wasn’t as bad as it could have been. The problem was rooted in the use case where transaction data is imported from CSV text (which reminds me there is still a small bug that causes a problem if the CSV text has a comma in the transaction memo!). Once transaction data is imported, it must be matched to another account to balance out the accounting equation. This process is made easier by the journal entry form getting pre-populated with data from the transaction. If its a simple transaction involving only two accounts, all the user has to do is select the other account and click submit. If there is more than two accounts involved, that’s still pretty easy, but the user will have to click a few more times. Anyway the problem was that the original transaction had to be deleted when the journal entry was made, and then reposted back to the account ledger. That was not only inefficient, but it also caused the transactions to get out of order with respect to the original bank statement, while not causing real issues, just making it very difficult to trace running balances.

The fix was to retain the original transaction, and simply link it up with the new journal entry that was created from it. If this doesn’t make sense, check out the pbooks data model for reference.

This experience with live data has reinforced my confidence in the core model, and working it as thoroughly as possible before opening up the source code and letting others monkey around with it. Maybe this is a stretch to the “what color should we paint the bike shed?” question that plagues open source project from time to time, but I hope to have the core bookkeeping model and supporting functions working so well that when people twist and turn and fold and manipulate it beyond belief - it still works really well.

So even though I’m the guinea pig here using PBooks to manage our books, I’m still planning to build some serious test cases to cover as many bases as I can dream up. This will ensure in an efficient manner that the working functionality is preserved as new features and changes are made to the code base. In the meantime, take a moment to check out some of the basic tests I’ve put together on the PBooks live demo. (I know one of the tests fails!)

Good Old Internet Explorer

In testing PBooks in Internet Explorer, I found this display problem on the journal entry form:

2007-05_ie-display-problem.jpg

Should be an easy CSS fix. Put it on the to-do list!