Computing Blog

A blog about all aspects of computing and technology from software development to social network to commentary on the IT industry as a whole.

Facebook – The Wal-Mart of the internet

Facebook’s recent behaviour with the pay-to-play “promote” is screwing over small businesses, and I know for a fact that a lot of bands are up in arms about this.

By sucking the life out of the artists’ own forums and websites, they’ve encouraged bands to use Facebook as their primary means of communicating with fans. Now they’re changed the rules, played a bait-and-switch, and are demanding money for continued access to their own fanbases.

There are a lot of parallels with the way big supermarket chains have used predatory pricing to force their smaller independent competitors out of business, and then hike their prices once they’ve established a near monopoly.

Facebook is the Wal-Mart of the internet.

Posted in Music, Social Media | Tagged | 4 Comments

Requirements? Are they necessary?

In a thread on the Software Testing Club, one poster came up with this gem:

I repeat, if you have no requirements, you cannot test anything. I think it’s important to grasp that there is a fundamental difference between a test, and an experiment ;-)

To which I replied:

If you have no requirements, you have to make assumptions about how and what to test based on your knowledge of the domain and the system.

Being able to make those sorts of assumptions is part of the skill-set of a good tester. So is knowing when you lack sufficient domain knowledge to be able to make any meaningful assumptions.

It’s the difference between intelligent exploratory testing and mindless script-checking. I test using a mental model of the system. Detailed functional specifications are often a very important source for that model, and when they exist, a tester should certainly read them. But knowing who and what to ask when you have gaps in your mental model is just as important.

Posted in Testing & Software | Tagged | 8 Comments

I do like this software testing term. “A Lance Armstrong Bug”. It means that the code is passing all the tests, but it’s not behaving as it should.

Posted on by Tim Hall | Comments Off

This is why I will never buy an Amazon Kindle, and why I refuse to buy eBooks or music crippled by DRM. Because the vendor can take away what you thought you’d bought and paid for on a whim. Just like that…

Posted on by Tim Hall | 9 Comments

Even though Excel is Microsoft and therefore supposed to be stable, there were serious bugs” – Actual quote from a meeting in which we decided to defenestrate a notoriously squamous and rugose spreadsheet.

Posted on by Tim Hall | Comments Off

A question for those of you who listen to music while you work. Are you more productive if you listen to music on random shuffle rather than listening to individual albums all the way thought as Steve Wilson intended? Does it actually make any difference?

Posted on by Tim Hall | 1 Comment

Exploratory Testing

Great blog post by Anne-Marie Charrett on Courage in Exploratory Testing.

Exploratory Testing is tester centric, meaning the tester is central to the testing taking place. The tester has the autonomy and the responsibility to make decisions about what to test, how to test, how much to test and when to stop. This may seem blatantly obvious to some, but its surprising the number of test teams where this is not the case.

The downside is that management love their spreadsheets with their percentages and red yellow and green colour coding, which is where that courage thing comes in.

In scripted testing, testers have artifacts which they measure and count giving an illusion of of certainty but really this is smoke and mirror reporting and generally offers little genuine information. “We have reached 78% test coverage, with a DDR of 85%”

I used to work in a testing team where we had spreadsheet-based test scripts that calculated “percentage complete” and “percent confidence” by counting the number of boxes ticked off. The figures those formulae calculated were far less meaningful than estimates based on gut feeling.

For my current project I create test spreadsheets as I test, with “Test performed”, “Test Result” and “Pass/Fail” columns (There are other columns, but that’s the guts of it).  This provides the auditability that managment needs. There is no “Expected result” column, and that’s deliberate. Unfortunately there is no guarantee that management won’t see the thing as a test script and expect the whole lot to be re-run for regression testing…

Posted in Testing & Software | Tagged | 1 Comment

Would you classify this as a bug?

Mashable have found a bug in Facebook that means you can create wall posts that can’t be deleted.

You can reproduce this by posting something, quite possibly something rude and offensive, on a friends wall, then defriending and blocking them. Blocking them means neither of you can see each other’s posts and walls, and neither of you can see the post. But it remains visible to anyone else who can see the former friends’s wall. Because neither of you can see it, neither of you can delete it either.

Is this a bug?

I would say that it is, and would log it as a defect were I working as a tester for Facebook. Techically it’s a missed requirement rather than simple coding error, but the potential unexpected consequence could be quite serious. There’s quite a lot of potential for malicious misuse of this.

Posted in Social Media, Testing & Software | Tagged | Comments Off

Things I Have Learned as a Tester

If you have an adversarial relationship between testers and developers, you’re doing it wrong. Once got asked in a job interview “How do you avoid going native?”, and thought that was a rather ridiculous question. The common enemy is the bugs.

“Exploratory Testing” isn’t some revolutionary new technique, but describes what I’ve actually been doing for years. Ticking boxes on a test script is not only dull work, but you’re far less likely to discover any significant bugs.

If you’re supposed to be testing an interface with a third party product, and the third party product starts returning messages like “Object reference not set to an instance of this object”, then you’re also performing acceptance testing on the third party product regardless of whether that was supposed to have been within the scope of your testing.

Just because the functional specification says it’s a common function does not necessarily mean that it’s been implemented as a common piece of code.

Test automation is an awful lot harder than either management thinks it is, or the tool vendors claim it is. Scripting high-volume repetitive tasks on a small part of the system adds a lot more value than attempting to automate an entire end-to-end process.

Using metrics related to bugs logged to measure performance of developers is just asking for trouble. It just politicises the process of logging bugs and does nothing for software quality.

Sanitising your test data because somebody needs to use one of the test databases for a pre-sales demo is occasionally part of the job. So is verifying that the customer data that’s supposed to have been scrambled and anonymised actually has been. Good way to test this is to copy and past a name and address into Google, and see if it finds a match. So there is no such address as “Apocalypstick Avenue, Elektra City”. Turns out there really is a Platypus Road, but not in Scunthorpe. Their local authority’s pest control department is unlikely ever to have to deal with an infestation of tribbles…

Thinking of putting a few of these on my LinkedIn profile to make it less boring.

Posted in Testing & Software | Comments Off

Twitter turning into a walled garden?

Following on from Tumblr and Instrgram, IFTTT is the latest victim of Twitter’s API changes, which forbid syndication of Tweets to other cloud services. Twitter, rather than being a glue that held other parts of people’s online presence together is trying to become more of a walled garden, like Facebook. This is not a good thing.

The relationships we build and maintain through social networks are far more valuable to us than the networks themselves.

Twitter ignores this at their peril.

Posted in Social Media | Tagged , | Comments Off