Wednesday, February 26, 2014

The fine print

I feel i've neglected to mention few things for the uninitiated in Murphy, mostly due to lack of time and the little I had was spent with this new cool feature I'm adding. But fear not as I plan to pay my debt now.

Murphy was born as my wish of getting rid the boring and tedious tasks of testing which could be automatically automated to a high degree (as redundant as that sounds), so it never had a clear direction nor idea of how, but of what to achieve.
As soon as I got the initial sparks a colleague pointed me into the model based approach, which at first I did not wanted to look deeper as to not to pollute my thoughts with preconceived ideas.

On my journey to create my tester automaton I deviated from what model based advocates and literates do, which is to focus in the test case generation, I saw many benefits could be harvested before reaching the state of 'mass generation of test cases' (like model extraction, model comparison, the interactive model and so), even as of today Murphy lacks the kind of traditional test case generation.

So I'll be disappointing model test based advocates and literates, Murphy cannot be considered it (in the traditional sense) however I hope at some point I could claim it does. It is not far from it but my energy at this moment goes into other aspects.

Got that out of my system, so let's go with other warnings :)

There has been a lot of different ideas and approaches tried out in the code, so the code has some debt to be paid, old stuff got forgotten in there, unpolished things and all kind of bad things that can happen when you experiment over the code trunk, heh, i'm totally to blame about it but it is not as bad as it sounds, just so you know if you dig into the code.

Even so it should be said that what is published is still a trimmed down of the original beast, I had to cut down parts that were not ready to be published, experiments in the middle, the self tests, even some functionality like the model comparison had a (bad) scissor cut (it is mostly working, but the real thing works better), I hope to rectify this in future releases, especially the model comparison thingy which is extremely useful.

And before I forget, let me warn you again, it will not work out of the box for every application, in fact very little has been tested with real life applications outside the company I work for, it is expected (to your disappointment) that it is likely not gonna work for you, I hope one day will.

So why bother? well, I did invest a lot into this just because I had fun and believe that there's room for a tool like this, my wish and hope is to inspire others to experiment and do things along the same lines, if I see at least another project inspired by this or get contributions and new cool ideas from the community then all the time I've spent was worth it.

If you reached this point and are reading this, you gotta be quite bored by now, go and give a download at https://github.com/F-Secure and play around with it! or tell me what cool things you're doing!

-Mat

No comments:

Post a Comment