Smart Contracts

Updating Solidity code and Testing a Smart Contract

Books on the Blockchain

Publica Self Publishing

Goodbye Contracting

Hello brave new old world...

Ruby-Selenium Webdriver

In under 10 Minutes

%w or %W? Secrets revealed!

Delimited Input discussed in depth.

Sunday, 26 April 2009

Why there are bugs in software

Why bugs are present in software?

The development of software is a complex discipline the output of which cannot be exactly the same as any previous time or approached in exactly the same way using exactly the same techniques.

It’s obvious the exact actions that are used to develop software cannot be repeated precisely. This is not manufacturing, there are no poke-yoke, failsafe software development system, fixed-gauges to ensure precise quality is achieved or robotic systems to reduce human input.

The development of software involves large amounts of human involvement, ambiguity, ambiguous statements of requirements, a myriad of possible solutions and uncountable potential failures.

This means two things are guaranteed:
• Bugs will be found at every stage of the SDLC.
• Every application released will always have bugs present within it.

That's my thought for the day lay here on the sofa like a cat in the sun, lush green sunny Spring days, nice.

Tuesday, 21 April 2009

The Irrational Tester

Just read a great paper by James Lyndsay of Workroom Productions.

In it he talks about the various types of irrational bias that we can suffer from as testers. Read the paper here.

Confirmation bias = Test Cases?
Process Imperialist, Agile Evangelists = Congruence Bias?
Clustering Illusion = Bugs are where bugs are? How to avoid false clusters?

Under Illusion of Control james states "When testing... we seek reproducible experiments". So, testing is an experimental activity? James Bach thinks it's a science. Testing is an Experimental Science then?

In the same section he discounts testers (unlike traders) being "vi) Goal focused". testers aren't goal focused and so this isn't of Illusion Control? That doesn't seem right unless I've not understood (likely). Aren't testers very goal focused?

Broken Windows, paragraph 4. Yes, it will lead people to become sloppy because that's what happens. people are a) lazy or b) suffering some form of bias mentioned in the paper.


Thursday, 9 April 2009

How can China become the world leader in Software Testing?

There’s two aspects to this, firstly there’s the individual test professionals and secondly the testing companies and organisations in China.

Assuming there's an active testing profession in China, lot's of skilled, well educated testers who are all doing great work and assuring the quality of world beating software, then the first step is for these skilled testers to say 'hello' to the rest of the world, just like you're all doing by being part of Software Testing Club

I could give you a list 20 people long of test professionals that I would say are the most prominent or active in the worldwide testing community - but they'd be British, American, Australian, European and Indian. Not one would be Chinese. There must be Chinese software testing forums but what / where are they? People from all of the above countries/regions can be found on this site as well as on other websites, so where are all our Chinese friends talking about software testing? Why aren’t we seeing them on English language forums?

At this point we hit possibly the major issue, English is the lingua franca of the testing profession in the above countries/regions. So if there’s to be wider global collaboration for the profession it’s going to have to be done in English. I know that’s a bit one sided but that’s the reality, the world isn’t going to learn Mandarin.

That means testers in China need to speak and write English if they’re to fully interact with the countries/regions that already actively collaborate. I know many China based offshore development centres and large consultancies already have this as part of their business approach (E.g. CSC, Bleum, Microsoft, IBM). It’s an obvious thing to do if these companies want to work outside of the local Chinese market with their international customers and partners.

So far I’ve suggested individual Chinese test professionals need to become more visible to the global software testing community, they become more collaborative with the worldwide testing profession, learning and sharing with a sense of equality and shared purpose, utilising English as the language of the global profession.

There’s one further aspect to China becoming the leading light in software testing and that’s the companies and organisations involved in software testing.

I’ve said before that I’ve contacted organisations in China, and continue to do so, to discuss how to collaborate with them. The response has been stunningly poor. Examples include proposing the writing of a test training course that could be used freely by the Chinese organisation, I never heard back from them. Another the offer to an individual of a collaboration on Papers and Podcasts, again nothing happened.

I’ve asked you guys here and on other forums about who leads the testing profession, who’s been on CSTQB courses, authors of Chinese software testing books, magazines, trade shows like the SIGIST meetings we have here, etc. and everything I’ve been told is on the China Testing Club here. It’s about 5 lines of material. The Chinese software testing profession seems invisible, almost insular.

The worst response to date was the most recent, where I offered to run my Test Practice training course for free when I visit family in Shanghai in September “honestly speaking, hires professional testers, so there is fat chance to have the training; also we have our in-house trainer”. Wow, so much for collaboration with the global testing community. That put me in my place! ;]

What’s the steps in summary then? Encourage Chinese testing professionals to;
• Get involved with the global testing community. Signing up here is s great first step.
• Write papers and essays on software testing and share them here and other forms, collaborate with non-Chinese test professionals such as me.
• Regularly write a blog here so we can see what they’re thinking and get insight into testing in China.
• Develop relationships that allow sharing of forums, papers, podcasts, etc. across websites.
• Pair up for cross-mentoring between Chinese and non-Chinese test professionals.

My final thought is that a Chinese test professional making the effort to become known and collaborate in this way can easily make themselves known globally as a notable figure within the Chinese testing community.