|
Testing methodologies - Regression testing |
One of the more overlooked forms of testing (you do test don't you?) is regression testing. I'm a big fan of scripted testing using both scripted tests to actually run against your code base (think cfUnit or Junit) and scripted testing as in a basic word doc of testing instructions.
This word doc can be as simple as 'click button N' - what displayed on screen? You can literally just list the actions, expected consequences and actual conqequences.
Regression testing is the practice of going back after a release and testing the functionality that was already present. IE did you break anything by releasing your new functionality. Often the business and IT focus is on the shiny new development, not the integrity of the existing application.
Developers in particular are guilty of zoning in on the specifc area that they are directly involved with. This can sometimes lead to other areas suffering, especially if you have an OO application layer. In just how many places is each individual object referenced? A change to it may work in one area, but have devastating consequences in another.
I've seen cases of this where its been months later before an error has reared its head, and without an accurate change log it can be difficult to track the root cause down. Needless error tracking and bug fixes take developers away from actually developing, and essentially cost the business money due to bad practice.
I mentioned scripted testing above as it has had unforseen beneficial consequences. If you have done anything like this in the past, your regression testing will be very easy. You will have a handy library of repeatable scripted tests, so it is very easy for you to measure the previous results against any new tests you might perform. Thus making it instantly obvious wether your functionality is still behaving as it was before the release.
|
Issues dealing with large text files? Use a file splitter App! |
I've been dealing with bulk data recently, CSV files of around 500mb or more. These can seriously stress out your pc. In the process of trying to write data import scripts I found an application that has proven its worth a few times over. This application allows you to split text files at points of your choosing.
File Splitter Pro, from wonderwebware. It doesn't look amazing, and it has a relatively simple interface, but after going through three or four alternatives that for the most part couldn't even open a 500mb csv file this has come through every time. What I really like though is the function that allows you to select N number of lines and move them to another file.
There is a trial version available too:
http://wonderwebware.com/file-splitter-pro/
(P.S I don't get commission or anything.)
|
Scotch on the road 2009 - London session |
I had the luck last week of attending Scotch on the road 2009 in the SwayBar, London. There were quite a few sessions crammed into the day of talks, some taking a more technical approach, others a little more evangelistic. In this article I'll cover the points that I found of particular interest.
Firstly I was struck by how well the ColdFusion community seems to be doing over the last few years. There were several comments as to how many more developers and companies are now using ColdFusion as a development language. It really is encouraging to see that ColdFusion still has a place in the modern development world.
The overall focus of the sessions this time around was ColdFusion 9. Obviously with a big release arriving Adobe are keen to extol its virtues as much as possible. The major differences appear to be some major performance increases, and several additions to the existing functionality.
ORM (Object Relational Mapping) Is the newly integrated Java Hibernate framework. This is pitched as a way of speeding up development time, and avoiding writing repetitive getters and setters in your CFC's. The Java engine handles the entire database layer and frees the developer up to write the actual functionality, rather than endless SQL scripts. At its most basic it is a way of mapping CFC's using the CFProperty tags to a database schema. It's an interesting methodology that I hope to test out soon. (This is known as 'Active record' in many other languages.)
Solr/Verity/Sphinx - The Verity search index is still present but has taken somewhat of a back seat to the new Solr search index. This was something that really piqued my interest as we currently use Sphinx to create large full text search indexes. There are murmurings that that there are some performance differences between Verity and Solr, but it would also be very interesting to see Sphinx thrown into the mix. At some point I hope to run some comprehensive tests against the three to see their performance differences under load.
There has been an interesting change to the Eula this time around too. It isn't something that most people look at, but the licensing model has changed slightly. You can now reuse your ColdFusion 9 license on a non production server. This means that it is very cost effective in upgrading your staging or failover servers, as they can use the same license as your live servers. (For legal reasons don't take my word as gospel, this is how I understood Claude Englebert's presentation on it.)
Another very interesting feature of ColdFusion 9 is its ability to expose a lot of its functionality as external API's. You can now expose specific functions of the server, and it is only a slightly different syntax from the traditional cfml code:
2 from="mary.jane@damselInDistress.co.uk"
3 subject="Rescue me please" />
4
5<cf:Mail to="peter@parker.com"
6 from="mary.jane@damselInDistress.co.uk"
7 subject="Rescue me please" />
Overall it was a very informative and thought provoking seminar. Fuzzy orange are to be commended on putting on a great day. I'd highly recommend any of their future events, not just for ColdFusion based developers, but for Adobe affiliates in general.
|
Movember - Prostate Cancer Charity month - time to grow a tash |
I don't normally 'do' charity, unless its animal charities as I think they get the roughest deal. However this year I am growing a moustache for Movember. I have decided to put down my razor for one month (November) and help raise awareness and funds for mens health, specifically prostate cancer.
What many people don't appreciate is that one man dies every hour of prostate cancer in the UK, more than 35,000 men will be diagnosed this year and that prostate cancer is the most common cancer in men in the UK. Facts like these have convinced me I should get involved and I am hoping that you will support me.
To donate to my Mo, you can either:
- Click this link http://uk.movember.com/mospace/26347/ and donate online using your credit card, debit card or PayPal account
- Write a cheque payable to 'The Prostate Cancer Charity - Movember', referencing my Registration Number 26347 and mailing it to: Movember - The Prostate Cancer Charity, First Floor, Cambridge House, Cambridge Grove, London, W6 0LE.
Movember is now in its third year here in the UK and, to date, has achieved some pretty amazing results by working alongside The Prostate Cancer Charity. Check out further details at: http://uk.movemberfoundation.com/research-and-programs.
If you are interested in following the progress of my Mo, click here http://uk.movember.com/mospace/26347/. Also, http://uk.movember.com has heaps of useful information.
Thanks Shaun