[RANT]
When searching online for goods in stock in nearby stores, I get really wound up by having to put in a full postcode. This is normally mildly annoying, in that I know my own full postcode, but there are some places for which I only know a partial postcode.
Example: I live in Kent, but work in Hampshire. The local Argos doesn't have stock of the printer ink I need, but it is listed, and is available for home delivery. PC World, Comet, Curries, Tescos, etc, no longer stock the ink.
I attempt to search the Basingstoke store. I enter "RG21", which I know is the town centre. It's rejected because it's not a full postcode, even though an area postcode should be sufficiently accurate in this instance. Grrrr!
[/RANT]
Monday, 30 August 2010
Friday, 20 August 2010
Functional Testing Tools.
This week, I've spent a fair amount of time reading about functional test tools. Both for automated testing, and for manual testing, for two different projects.
I don't know what it is about tools for testers, but they feel terribly prescriptive and constraining. We tried Seapine's TCM tool a couple of years ago. The idea was to replace our slightly flaky Excel based scripts. It was chosen because we use Seapine's defect management tool, Test Track Pro, and it made for an integrated solution.
Test Track Pro is fine. I don't think we get much out of it that couldn't be achieved with Bugzilla or a hundred other defect management tools. It's not perfect, it's not simple enough for my tastes, but it's reliable and does what it needs to do.
What happened was that I spent a couple of months writing macros to convert our Excel scripts into a form that Seapine could handle, and using their SOAP/WSDL API to write a Java utility to inject the scripts as new test cases. I also spent some time writing another utility to generate a project status summary using the fundamental metric we measure against, which is number of test steps. It's not a particularly good metric, with tens of thousands of steps, we have a good feeling for how long scripts take to execute.
We also tend to write very long scripts, some with many hundreds of steps. It's probably bad practice, but it works for us, and historically, with no TCM, it was easier to manage a few long scripts rather than many short ones. I've written some fairly extensive VBA macros to make the scripts manageable. It used to be a manual task to clear results prior to a new test run, for example, but that's now one click away. Other macros allow steps to be included or excluded from a test run quickly based on context (e.g. enable different steps for hardware keyboard and touchscreen, or disable steps for deprecated devices). These macros were written, fundamentally, to save us time. They're written by the testers for the testers.
Trying to use a COTS TCM solution after being used to this kind of freedom was a nightmare. A few of the testers never even got started. I was quite enthusiastic, but other than a trial project, to prove the feasibility, it never got adopted.
Developers don't put up with these kinds of tools, and neither should testers. I think a lot of the test tools are designed by process nutjobs. Managers writing requirements for they way they think things should work and implemented blindly by developers, but the users, the real world testers, don't get enough say. It's a shame.
On the automated test side, things look a little better. I think it's because there's more developer influence. A lot of developers will want to use the tools themselves and their ideas get incorporated. In terms of web testing, there's plenty to choose from. Selenium and Watir seem to be top. Selenium's IDE for recording scripts is nice and simple, and the ability to convert these to Java or Ruby or Perl of Python means reusable modular tests are nice and easy to write. The problem I have is that I need to test Java. Specifically in-browser applets. Selenium can apparently do that through FEST, but on reading the instructions, I really can't be arsed, I'm not convinced that I'd actually get it to work at all.
The two front runners in this contest are HP's Quick Test Pro and Froglogic's Squish. Squish would let me use Python, which is a massive win, it's Eclipse based and the object lookup appears to be astonishingly good (from the demos). Froglogic have loads of information available on their website, including the user guide, so I can really find out about how it works. HP's on the other hand seems impenetrable. Quick Test Pro really is the industry standard, it'll look great on the CV, but it'll mean a VB-like language, which is a real shame. Head says QTP. Heart says Squish.
I don't know what it is about tools for testers, but they feel terribly prescriptive and constraining. We tried Seapine's TCM tool a couple of years ago. The idea was to replace our slightly flaky Excel based scripts. It was chosen because we use Seapine's defect management tool, Test Track Pro, and it made for an integrated solution.
Test Track Pro is fine. I don't think we get much out of it that couldn't be achieved with Bugzilla or a hundred other defect management tools. It's not perfect, it's not simple enough for my tastes, but it's reliable and does what it needs to do.
What happened was that I spent a couple of months writing macros to convert our Excel scripts into a form that Seapine could handle, and using their SOAP/WSDL API to write a Java utility to inject the scripts as new test cases. I also spent some time writing another utility to generate a project status summary using the fundamental metric we measure against, which is number of test steps. It's not a particularly good metric, with tens of thousands of steps, we have a good feeling for how long scripts take to execute.
We also tend to write very long scripts, some with many hundreds of steps. It's probably bad practice, but it works for us, and historically, with no TCM, it was easier to manage a few long scripts rather than many short ones. I've written some fairly extensive VBA macros to make the scripts manageable. It used to be a manual task to clear results prior to a new test run, for example, but that's now one click away. Other macros allow steps to be included or excluded from a test run quickly based on context (e.g. enable different steps for hardware keyboard and touchscreen, or disable steps for deprecated devices). These macros were written, fundamentally, to save us time. They're written by the testers for the testers.
Trying to use a COTS TCM solution after being used to this kind of freedom was a nightmare. A few of the testers never even got started. I was quite enthusiastic, but other than a trial project, to prove the feasibility, it never got adopted.
Developers don't put up with these kinds of tools, and neither should testers. I think a lot of the test tools are designed by process nutjobs. Managers writing requirements for they way they think things should work and implemented blindly by developers, but the users, the real world testers, don't get enough say. It's a shame.
On the automated test side, things look a little better. I think it's because there's more developer influence. A lot of developers will want to use the tools themselves and their ideas get incorporated. In terms of web testing, there's plenty to choose from. Selenium and Watir seem to be top. Selenium's IDE for recording scripts is nice and simple, and the ability to convert these to Java or Ruby or Perl of Python means reusable modular tests are nice and easy to write. The problem I have is that I need to test Java. Specifically in-browser applets. Selenium can apparently do that through FEST, but on reading the instructions, I really can't be arsed, I'm not convinced that I'd actually get it to work at all.
The two front runners in this contest are HP's Quick Test Pro and Froglogic's Squish. Squish would let me use Python, which is a massive win, it's Eclipse based and the object lookup appears to be astonishingly good (from the demos). Froglogic have loads of information available on their website, including the user guide, so I can really find out about how it works. HP's on the other hand seems impenetrable. Quick Test Pro really is the industry standard, it'll look great on the CV, but it'll mean a VB-like language, which is a real shame. Head says QTP. Heart says Squish.
Friday, 30 July 2010
Inception (no proper spoilers)
When I say no spoilers, if you read on, you may read something that makes the film less enjoyable, but there are no plot giveaways.
I don't get to the cinema often these days. I'd not heard of Inception until last week, when it was decided that I should take my twelve year old son to the cinema. He wanted to see it, it looked above average and so we went.
I think it was the first film we've seen together at the cinema that wasn't a kids film. We enjoyed it, we talked about it on the drive home. I thought the end of the final scene, just before the credits, was great.It made for a nice few hours of quality father-son time.
Two things distracted me. A phone rang. I was drawn out of the film, back to the theatre, frowning in the direction of the offending sound. But it was in the film, not in the audience. I've no idea how film-makers are going to deal with that problem.
The second distraction was Marion Cotillard, who plays DiCaprio's wife. She's simply ridiculously, compellingly, extraordinarily beautiful in this film. Whenever she was on screen, I simply forgot about the film.
So, decent enough film. Gets the brain working a bit, but it's not difficult to follow if you take Kermode's advice and don't go to the loo. My son loved it. It looked stunning.
This week, I've had the luxury of being able to read some of the criticism of it. I could argue that they should get off their high horses and enjoy it for what it is, but they all seem to have a point: There's way, way too much exposition. I can't see how they'd strip out all of it, but it's a film that explains itself far too well and leaves the viewer with (almost) no questions.
I've not thought about the film this week beyond just one niggling technical question (to which I think I know the answer). If it had been made without explaining itself as it went along, I'd have been begging friends to see it so that we could talk it through and try to figure it out, argue theories.
It's not going to stand the test of time.
I don't get to the cinema often these days. I'd not heard of Inception until last week, when it was decided that I should take my twelve year old son to the cinema. He wanted to see it, it looked above average and so we went.
I think it was the first film we've seen together at the cinema that wasn't a kids film. We enjoyed it, we talked about it on the drive home. I thought the end of the final scene, just before the credits, was great.It made for a nice few hours of quality father-son time.
Two things distracted me. A phone rang. I was drawn out of the film, back to the theatre, frowning in the direction of the offending sound. But it was in the film, not in the audience. I've no idea how film-makers are going to deal with that problem.
The second distraction was Marion Cotillard, who plays DiCaprio's wife. She's simply ridiculously, compellingly, extraordinarily beautiful in this film. Whenever she was on screen, I simply forgot about the film.
So, decent enough film. Gets the brain working a bit, but it's not difficult to follow if you take Kermode's advice and don't go to the loo. My son loved it. It looked stunning.
This week, I've had the luxury of being able to read some of the criticism of it. I could argue that they should get off their high horses and enjoy it for what it is, but they all seem to have a point: There's way, way too much exposition. I can't see how they'd strip out all of it, but it's a film that explains itself far too well and leaves the viewer with (almost) no questions.
I've not thought about the film this week beyond just one niggling technical question (to which I think I know the answer). If it had been made without explaining itself as it went along, I'd have been begging friends to see it so that we could talk it through and try to figure it out, argue theories.
It's not going to stand the test of time.
Friday, 16 July 2010
Please say what I'm thinking.
Was just reading Matt Gallagher's Is a virtual machine for Cocoa programming inevitable? on Cocoa With Love. I subscribe, but often don't read a lot of the posts. They're too technical for my current ability and level of interest. I want to be more interested, but I just don't have the time/inclination at the moment. I'll be reading every word of this one because I kind of hate C.
I read the introduction wanting Matt to say what I was thinking, which is essentially that C pointers suck. There are other things I dislike about the language, the curly braces and the misuse of '=' for assignment and '==' for equality, for example, but much of this is cosmetic. The pointers are a deeper issue, although there is a element of cosmetic unpleasantness about them too.
What was I thinking ? Well, in Matt's words (Yay!) :
The key thing to take from this is the rigour of the Ada compiler compared to C, the cost of finding defect at compile time versus runtime and the amount of time spent in debugging in Ada compared to C. I'm not saying Ada should be used instead (it shouldn't), but C in particular lets things through to runtime that are going to be a bugger to find and resolve. The nature of Cocoa, object based and dynamic is a much better fit to Python. If a virtual machine is proposed, a language like Python would be much more suitable.
I read the introduction wanting Matt to say what I was thinking, which is essentially that C pointers suck. There are other things I dislike about the language, the curly braces and the misuse of '=' for assignment and '==' for equality, for example, but much of this is cosmetic. The pointers are a deeper issue, although there is a element of cosmetic unpleasantness about them too.
What was I thinking ? Well, in Matt's words (Yay!) :
More relevant in the long term is the one feature that Objective-C can't remove or fix: complaints about C itself, in particular C pointers.
Even though this isn't the point Matt is making, I'm reminded of Robert B. K. Dewar's lectures on Ada. I've embedded part 3 below (will remove if requested to do so)…
The key thing to take from this is the rigour of the Ada compiler compared to C, the cost of finding defect at compile time versus runtime and the amount of time spent in debugging in Ada compared to C. I'm not saying Ada should be used instead (it shouldn't), but C in particular lets things through to runtime that are going to be a bugger to find and resolve. The nature of Cocoa, object based and dynamic is a much better fit to Python. If a virtual machine is proposed, a language like Python would be much more suitable.
Saturday, 10 July 2010
Certifications
I attended a course recently, took and passed an exam to qualify as an ISTQB Advanced Technical Test Analyst (ATTA) . It's probably the last certification course I'll ever do. I have ISEB's Foundation Certification, which basically confirms I'm not brain-dead, I have ISEB's Intermediate Certification, in which I learned nothing except how to pass the exam. ATTA is an improvement, but the certification demonstrates more about my understanding of the expectations of a the examination board than my testing abilities.
The reasons for doing these courses are to enhance the CV. I'm no longer convinced that they do this. Foundation is fine, but the others are pretty much worthless. In a fight between experience and certification, experience wins.
I'm just starting a new project at work. It's completely outside my comfort zone. It appears to be process intensive. There are high expectations. The lazy, comfortable part of me is dreading this. Having talked to the test manager, I suspect the pain will be worth it. It's genuinely going to be a 'valuable learning experience'. I mean that most sincerely, folks. I think I'll learn more about testing in the next few months than I have in three certifications and 4 years as a full time tester.
There may be a trip to Switzerland in it next year too, which will be nice.
The reasons for doing these courses are to enhance the CV. I'm no longer convinced that they do this. Foundation is fine, but the others are pretty much worthless. In a fight between experience and certification, experience wins.
I'm just starting a new project at work. It's completely outside my comfort zone. It appears to be process intensive. There are high expectations. The lazy, comfortable part of me is dreading this. Having talked to the test manager, I suspect the pain will be worth it. It's genuinely going to be a 'valuable learning experience'. I mean that most sincerely, folks. I think I'll learn more about testing in the next few months than I have in three certifications and 4 years as a full time tester.
There may be a trip to Switzerland in it next year too, which will be nice.
Setting Up for Productive Procrastination
There's only so much time, and much of it is wasted. I'm going to try to waste less of it by means of this cunning plan:
I'm unsubscribing from some RSS feeds and subscribing to some others.
I threw out the MacDailyNews feed a while ago, and it felt quite liberating. Today I've gone further. MacWorld, MacUser, TUAW, AppleMatters etc, in fact, the whole folder called 'Apple News' has been chucked.
I'm thinking of chucking 'Tech News' too (The Register, Wired, Ars Technica), but haven't plucked up the courage yet.
The feeds I'm subscribing to are all blogs. They're blogs by professionals software testers. It's what I do, but I don't think much about it, I don't read much about it, and I'm not really getting any better at it. I want to. Pretty much all the books I've read on testing cover the same old stuff and are, frankly, uninspiring.
So I'm looking to real people for inspiration instead. Wish me luck.
I'm starting with Adam Goucher's Quality through Innovation and Eric Jacobson's Test This Blog. I'm going to use them to learn from and I'm going to use them as experienced content filters.
I'm unsubscribing from some RSS feeds and subscribing to some others.
I threw out the MacDailyNews feed a while ago, and it felt quite liberating. Today I've gone further. MacWorld, MacUser, TUAW, AppleMatters etc, in fact, the whole folder called 'Apple News' has been chucked.
I'm thinking of chucking 'Tech News' too (The Register, Wired, Ars Technica), but haven't plucked up the courage yet.
The feeds I'm subscribing to are all blogs. They're blogs by professionals software testers. It's what I do, but I don't think much about it, I don't read much about it, and I'm not really getting any better at it. I want to. Pretty much all the books I've read on testing cover the same old stuff and are, frankly, uninspiring.
So I'm looking to real people for inspiration instead. Wish me luck.
I'm starting with Adam Goucher's Quality through Innovation and Eric Jacobson's Test This Blog. I'm going to use them to learn from and I'm going to use them as experienced content filters.
Monday, 21 June 2010
Cognitive dissonance holds no fears for him.
Charles Arthur calls Paul Thurrott an idiot very politely.
Subscribe to:
Posts (Atom)