Testing 1,2,3....
As developers go I like to think that I am better than the average developer at testing out the nooks and crannies of my own code. (That may not be saying much but I'll take it wherever I can get it). For some time now I have been diligent in using various testing paradigms on my own stuff with various results always beating a blank.
Nunit Testing
Virtual Machine Testing
Grunt UI manipulation with a printed list of steps
UI Automation with various tools
and so on
Now have stumbled onto another technique that I will be adding to my arsenal and am excited at the possibilities that this new technique affords. The new technique being "Running applications in/on foreign platforms". I am not talking about using VMware or Virtual PC to run a vista developed app on XP. I am of course speaking of running applications targeting .Net platforms on MONO. The Mono in question running on a different OS entirely like Linux.
Running a native .Net application on linux under mono presents all manner of challenges that really can test your mettle as a developer. Sure some of the challenges are as of yet insurmountable as mono is not as feature complete as it needs to be, but Mono is really coming along and for a great deal of our applications and custom controls for our client/server applications, our things run well on Mono. Its usually just a matter of getting the database connectivity happening and launch the thing and watch as it come up and runs. Where this becomes useful from a test standpoint is that subtle issues that might not cause any problems natively will stop you dead in Mono.
Case in point was just discovered today. I was testing out one of our applications called the Profiler on my Fedora 7 equipped Inspiron 9100 and found the app just bombed doing a series of data manipulations from our grid to parse that information and sent it along to our line charting control. All the stuff that you might expect to have a problem worked fine, it was blowing up on a simple Val() function. (Yeah its an old app written in VB.Net we transitioned to C# some time ago but we still have these older things lying here and there). The point is I was doing something stupid and the .Net framework handled my stupidity well enough but Mono simply said "Hey Stupid!" and went belly up. Just because stupidity can be handled doesn't mean it should be handled and I classify this as a bug thats been there forever. Mono showed it to me where all my other testing that I did on this years ago did not.
I take two things from all this
Revisit old applications from time to time they might prove enlightening
Try the thing on Mono you might learn something
0 Comments:
Post a Comment
<< Home