Sunday 31 October 2010

Test Automation: What Are The Real Costs?

For quite some time now i've found myself questioning the adoption of test automation. Is it that i'd seen no value in it or believed that it's had no valid applications? No, but I had witnessed a rise in its adoption that had left me questioning the broad embrace of automation that appeared to be happening.

In the cost cutting world we live in today it could not be of any real surprise that companies and thus people are looking to ways which will cut costs, reduce overheads and streamline operations. It seems quite logical really, the alternatives could be seen to result in a loss of jobs but is that the real cost and likewise is the approach of automation a real benefit in the wider scope of things?

The answer to this of course is not straight forward, it's not simple and much depends on what is being worked upon. Why? Because a project's scale, the people behind its testing, its time frame and other factors all contribute to either making a case for or against test automation.

A simple example would be taking a smaller scale project or one with a short time frame where manual execution of testing would be quicker than any automation could provide. Whilst i'm sure this is a situation that i'm sure many test automation fans would agree on that automation would not be appropriate for, it does not prevent organisations employing these testers requesting such things.

A more complex example is where manual testing facilitates someone performing testing without requiring a completed framework in place due to the cognitive skills applied, so where an ever developing product is being tested it will not fail if elements are presently missing and likewise if revisiting the same area but with new content it allows a distinction between spending time covering existing content in an area vs covering new content only. An automation suite may look to cover everything in a particular area and therefore the implications of separating the automation into separate scripts may potentially double the overhead involved in test automation design / implementation and maintenance for that area.

Another example is where an ever changing (dynamic) product is in development, the ability for anything automated to respond to a constantly changing goal post would likely result in such a large overhead on an on-going basis due to the test automation that with the turn around times involved it may be unable to match the pace that development on the product is occurring.

Critically, there are two primary areas of risk I would identify that automation introduces. The first is it only confirms existing beliefs / existing knowledge, or to rephrase it, it doesn't know what it doesn't know. When we manually test something this hands-on approach allows us to identify that which was never documented and during a previous iteration of testing may have not existed in the application through a process of cognitive analysis.

Think about this for a moment, what do we do when we test, we look to inform on issues with the programming of others. So yes, through review one can test the automation that is used to do the testing through a tester by testing the automation tests but surely that sounds like a whole lot of extra overhead that is introduced through this approach (..and is quite a mouthful to say too!).

Likewise this approach if not properly tested becomes just as fallible in terms of risks as what we are attempting to test in the first place, so instead we end up with both the risks the product itself may hold in addition to the risks the automation in place may hold. To make assumptions that the automation is any less fallible is like a programmer claiming their code has no defects, and considering that when people are primarily testers and not programmers then it also likely means that a tester is not able to say they are as refined in that skill as they might be with their testing either.

Due to the significantly clearer traceability that manual testing often involves it means that the time involved to maintain tests and identify what they do / do not cover is likely significantly quicker than the time spent debugging, re-writing or removal / addition of code used within automation too.

The answer to many of the points above then often turns to 'well we can do exploratory testing too' which then begs the question as to how much of what is covered in exploratory testing then only duplicates what the automation is doing, meaning the same area may now be covered twice (..if not more). The exploratory process is something that only goes to confirm the validity and importance of both cognitive and emotive approaches to testing.

Now it's not that in saying all this that I believe there is no value in automation. Automation to my mind makes for a handy and useful tool for sanity / smoke checking or a simplified regression check on a longer term and larger scale project. It does streamline this area to provide us with a cursory impression as to the state of a product as well as allowing people to quickly re-confirm their existing beliefs / knowledge as to a product and the state of previously known issues. In addition to this automation can also be utilised for things such as concurrency checks and data creation (where a large volume of test data is required for testing to be performed).

Whilst the results of automation can be interpreted and explored by people who can then further investigate these things it must be remembered that due to the absence of a cognitive and emotive application during the actual process that all automation is able to achieve during its execution is checking and even that checking is then more fallible than that of the manual tester due to various of the reasons listed above.

So when automation is introducing new risks into something being tested one must always properly evaluate as to whether what it does provide really is of greater benefit to a project or not.

Thursday 9 September 2010

Think For Yourself, Question Everything

Earlier this year I wrote a piece entitled The Importance of Being Independent. I covered my belief that those who are still new to the field of testing or have limited experience would be best served by avoiding social networks and to avoid joining any form of community groups either.

I suggested instead that they would be best served purely observing and experiencing on their own the various systems and methodologies out there, not just on a theoretical level but within a real workplace environment where their decisions ultimately impact the outcome of that which they are working with. In addition to this I suggested that they seek to learn as much as they can by both reading up on their topics of interest that could relate to or assist them within their roles as well as to read articles, opinion pieces and tutorials that relate to testing.

It is my belief that these foundations give us a structure, a basis from which to judge experiences we have after that point, a basis where we can come from knowledge and not just opinion as to what we believe is the most appropriate thing. These experiences when formed in an environment largely free of much of the social influences that may otherwise pollute or bias ones belief system allow us to become better independent thinkers. It is only at this point that it is my belief that a tester should then explore the world of testing beyond that and join these social structures that exist based around an interest in testing.

The Internet is full of self and socially appointed experts, whether by merit or otherwise these people have become known figures within their respective communities. Whether these people were just those making the most out of an existing system or those looking to break the rules those that succeeded became figure heads that others would listen to or follow.

The emperor's new clothes...
It is common enough that the rebels, the fighters and the rule setters become the people's new leaders, particularly amongst those who are disillusioned with existing systems. This frequently however leads to something which creates an illusion, one that is in itself misnomer, in that those following the new leader are the rebels, the individuals, the defiant ones.

The reality however becomes that the rebels simply become the new conformists whose greatest point of distinction is that their rules are different to the group(s) that came before them but nevertheless these new collectives end up with rules of their own and ultimately contradict the whole point of being rebels in the first place.

Those of us who work to address quality are aware that there is no such thing as perfection and thus all any of us can do is seek to find something that works for them self and abide by their own beliefs. Subsequently the very idea of people who primarily just follow others whether they are new thinkers or existing ones are putting a level of trust into these people that essentially implies that these systems are somehow perfect models or methodologies in their own right, a flaw in it self.

Always the rebel...
A true rebel will never stop questioning, never follow others but instead take inspiration and ideas from others, allows themselves to be challenged and is willing to challenge others, embraces failure for the opportunity it can be and never stops learning.

As such whether you question or agree with this piece, to be a real critical thinker I believe one should form your opinion and hold your own view and to never let the view of others dictate or cloud your objectivity. For some to conform and follow is something that some choose to do and that is their right as much as it is the true for the rebels who go against it.

So one should never stop questioning authority and never stop thinking for yourself, as those who become true leaders in this world, those who change the world are those who never just rest on the shoulders of others and who never just accept the status quo but those who seek to challenge it.

Tuesday 13 July 2010

The Case of the Cases, an iPhone 4 and Your Protection

There's been a lot of winging in recent weeks. It has been around the
launch of the iPhone 4, Apple's golden child, well its new one. It
comes from the line of products that much of the world fell in love
with, drove up Apple's profit margins to new heights and turned the
mobile industry on its head as well as helping facilitate the rebirth of
the bedroom programmer.

Apple's iPhone 4 though unfortunately came along with a design defect,
one they have in fashion that was quite typical of their previous
behaviour been in denial over and whilst there is no question the issue
regarding the aerial is a reflection of some poor testing what strikes
me is the reaction to this issue given what the solution to the problem
actually is, a case.

It struck me as odd that people would with such fervour be so quick as
to strike Apple down so harshly over this issue, whilst they could be
criticised for their (poor) PR when it's come to the handling of the
matter, what the remedy is is actually something users should be
adhering to anyhow.

The whole incident made me cast my mind back to an experience of mine
in the Apple Store. I was there to book a Mac in for repairs and there
were a number of those around me who had brought in their iPhones
having either cracked the device or it ceased to function after being dropped. The first thing that passed my mind is what kind of fools were these people to buy something as volatile as a smart phone yet not get some kind of casing for it. A year later when finally purchasing one myself the first thing I purchased with it was a case and a screen protector. Why? Because I like to protect my investments.

I understand the value of aesthetics to many people but in a world where
one can purchase an infinite variety of different types of phone cases
it can hardly be said that there isn't a phone case to match peoples
tastes for this aspect to even be an issue. So is the issue price? Well
considering they are spending up to £600 on the device is investing a
further £15, £20, £30 really spending that much more?

As someone with a lot of technology I like to protect my investments.
I have, not often, but it has happened on occasions, dropped items that
I have owned and the cases could be in part thanked for saving these
devices from otherwise potentially being destroyed or damaged. So when
reports say people can remedy the one usability issue of a device that
Consumer Reports says is otherwise the best smart phone on the market
with a measure that protects their investment is it really such a problem?

Would some of these same people go to equal lengths with other devices
they own? Let me list some examples here...
  • dSLR / Compact cameras - The screens on these often can quite easily be scratched so a screen protector makes sense to avoid this, it also is a form of protection against impact if the device is dropped and falls on its back. In addition to this most people also buy cases for their cameras which also protect them
  • dSLR and other lenses - These are extremely sensitive pieces of glass and much more so than any screen on an electronic device, it is both advised and extremely common that people have an associated UV/Sky filter that fits the thread size of the lens they have bought. This once again protects the lens from impact and prevents the glass from being scratched. Lenses also come with cases too
  • Laptops - There's nothing preventing people from carrying these around without a case or a laptop bag, but you don't see many who do. It's not just a matter of practicality but also ensures that this piece of machinery does not get too battered or damaged as easily
    when transported in a case/bag
  • iPods - Anyone who has ever owned an iPod would know they scratch and like any other device with a portable hard drive in they can also be damaged by shock / impact, so there was no shortage (if not a plethora) of cases and screen protectors one could buy for these
  • Portable gaming devices - These too often have a variety of cases available for them as like the other electronic devices it is just a matter of fact that it is good practise to have one
But let's take the analogy one step further and go to a software level.
Would you put a Windows based machine onto the internet without some
form of anti-virus / anti-spyware software? or would you do on-line
banking / purchases without a secure connection?

Those who do not take these measures I would take a moment to thank.
As these people can be credited with keeping companies more buoyant
due to the frequency with which they replace items due to having had
some kind of accident with them and subsequently the amount of cash
they hand over due to not just repairing but often having to replace
these items as they did not wish to spend a minor amount protecting
them.

So this whole situation with the iPhone 4 and the remedy to its
primary issue is left with one question begging to be asked. If the
remedy is something which will protect your investment, is of relatively
minor expense and at the same time provide you with greater satisfaction then what REALLY is the issue?

Thursday 10 June 2010

A Question Of Character

You can run but you cannot hide..

The internet and real life are two different worlds, whilst these worlds now collide and overlap in many a way that they previously stood apart there still remains differences between the two.

In real life a greater sense of accountability and responsibility for ones actions can lead to often a greater requirement for those who would otherwise prefer to run and hide to actually deal with situations rather than choosing the path of avoidance.

Care of the Internet and social networking / instant messaging one is able to choose to just 'block' those they wish not to deal with and thus can choose the path of avoidance. As a result of this the Internet serves as an interesting medium for revealing the true character of an individual.

Whilst peoples on-line persona can conflict and be at odds with their 'real life' persona this does not alter the fact that both these personas are the creation of one and the same person. As such this means it can be a great revelation into the psychology and mindset of a person when it comes to how they act on-line as to their true nature. This has never been more relevant than now where privacy issues have highlighted that a person’s actions, their words and the thoughts they share on-line can be documented / recorded for time-lengths yet unknown and where a person’s words alone can be sufficient for them to land up in a court or jail.

Despite the fact these two worlds are now closer than ever before this has not prevented people from still demonstrating the kind of behaviour on-line that would be less likely to be accepted within a real life situation. So when an individual selects to just 'block' another over a single discussion or single action it does leave one to question why.

If there has been a succession of circumstances where the issue after numerous attempts still has shown no sign of change then it could be considered understandable to potentially take such measures. This though is in itself an important distinction as it demonstrates a level of maturity from the individual in question as they have made an attempt to find a resolution or to settle the matter rather than choose the easy way out, avoiding the situation and just blocking the person in question.

This action can also occur when someone is presented with an idea that conflicts with their own beliefs or ideologies and that they had found the whole idea so confronting that their only retort was to take an action that could be considered as little more than an emotional response by blocking that user, an action that bears great parallels with that of censorship itself and a certain sign of being closed minded.

Obviously this point does not relate to strangers though who are just out to spam users or the likes as such users are considered little different to receiving junk mail and they neither are engaging the user in discussion and are often little more than some automated script that does not care too much for what its' results are.

Tuesday 8 June 2010

To Err Is To Be Human

The feelings associated in discovering a failure with ones actions are unlikely to stir joy in the average person. It is quite natural if ones desire is to seek something approaching perfection that it is possible that when the outcome, the result falls short of expectation to be disappointed.

As a tester we regularly deliver information of this nature on a regular basis to developers for their own work so it is because of this that the way we communicate that information is so important, to take out notion of blame or fault and rather just explain the results of what was found to them so with as little emotion as possible they can digest this information as objectively as possible and seek to find a resolution to the issue.

The difference though is when one discovers an action of their own that has measured short that there is no immediate separation of fault from actions, especially when one is aware of their own actions, then achieving objectivity is something the tester can only arrive at after the fact.

As someone who prides himself on his work and the quality of what he assists in delivering I would be lying if I did not find such experiences a bitter-sweet experience. Even though moments where a short-coming in my actions have occurred are few and far between, when they do occur it becomes a moment of disappointment as I am immediately aware as to the circumstances of the matter and know it was an area of my responsibility.

Whilst these moments are not ones I seek out they are ones that ultimately prove beneficial. In such situations I have often found myself having been acutely aware of what I had been thinking and what I had or had not been doing at the time when the mistake occurred.

Resultantly and what I believe is the distinction between an average and a good tester is recognising the situation for what it is, an opportunity to analyse what my shortcomings were in that situation and where there is room for improvement and what else I am able to take/learn from the experience. I also value the humility it brings in the reminder of the discovery of one owns short comings, so in short, the whole experience becomes something potentially positive and becomes an opportunity to grow.

So, even though one should never seek to fail, one can still fail to succeed if they let arrogance or ego get the better of them and miss chances like those as an opportunity and something to embrace regardless of any initial feelings associated with it all.

Friday 4 June 2010

A War Of Words

The Fine Art of Miscommunication...

Within the testing field one has to adapt their methods of communication on the job to assist with avoiding ambiguities where the tester feels or receives feedback that it should be present.

Whilst I would not have anticipated that the complexities of my language might muddle or baffle my fellow testers, my colleagues in this area, the requirement for simplicity when communicating as was observed via a recent conversation via twitter highlighted this need (care of a discussion with Michael Bolton who I thank for taking the time to discuss this subject with me further).

What was construed as a failure on my behalf with what they believed was a contradiction was not actually a contradiction at all, one of the issues at hand was that the form of communication being utilised proved itself ineffective in communicating the idea at hand, so whilst the form was at fault it did not mean the message was too. Part of this construed contradiction was also due to the fact I re-worded what I said but had not altered what I meant on several occasions in an attempt to get the idea across.

This conversation was itself born out of another subject, one also relating to communication, that being the matter of what my colleagues stated as the importance and requirement of having precise definitions for terminologies used. Whilst the discussion of this subject in itself demonstrated the potential ambiguities of the English language and did serve to show that there are relevant, appropriate and important times where distinctions are beneficial, distinctions that come from an exact / precise choice of terminology to express an idea, the point of contention came one over the necessity for such distinctions at all times, for all related matters. A necessity I viewed as a shortcoming in the ability to communicate, a statement which was taken quite harshly by the audience in question.

Let me repeat this just in case there are any who just missed it.. The point of contention became one over the necessity for such distinctions at all times, for all matters. I believed this to be a shortcoming as it diminishes the importance of context; it rides off the assumption that the terminology will be shared amongst those discussing the subject and focuses a discussion or idea more on the choice of terminology used rather than focusing on the meaning behind it. It should be noted however and this is of importance that I am not dismissing or deriding the value of shared understandings of terminology and do indeed feel it can be beneficial / valuable, I am commenting on the dependence on and pre-requisite for such terminology being present to be able to effectively communicate.

To use an anecdote here let me make a comparison to testing. Whilst one could use in their reporting specific terminology in reference to a particular issue this does not necessarily translate to the developer being aware of the context of which the issue occurred and the developer may not even be familiar with the terminology or have a different understanding of it. What is more productive in such situations is providing sufficient context and ensure one is conveying the meaning rather than going into what I had described as the 'semantics' of definitions (which represented another thought of mine that was considered offensive in this discussion). If the developer does happen to share this understanding of terminology then it could indeed be considered a benefit but it cannot be an expectation of the tester that it will be automatically understood due to the use of precise terminology either.

My discussion with Michael went on to solidify this where he expressed that the 'community' takes precision of expression very seriously, and that being dismissive of it and resorting to generalities might see repercussions out of what he cited as frustration. Confirmation of this matter provided what was in my mind a rather interesting insight into the thought processes behind those involved. Whilst the English language is indeed prone to ambiguities why there was this expectation and dependence on this precision as a necessity in all situations though is a different question that is left to be answered, especially given that even in its absence communication can still be effective and clarity can still be achieved.

Wednesday 19 May 2010

Test Certifications - Don't Believe The Hype

Beware of the monster...

When it comes to the hype surrounding test certifications there seems to be more hype from those against it than there is from those for it. In fact if one was to believe the hype surrounding certifications from many a tester on the Internet you would be forgiven for believing that certifications represents a mythical four-headed fire-breathing monster.


A Distinction...
Personally I would say I am neither for ISQTB/ISEB certifications or for that matter against test certifications, and here is where my distinction lays, a distinction that seems absent from those who would call for the death penalty for those who support testing certifications. Did you spot the distinction, were you able to read between the lines?

To remove any ambiguity from those still left pondering, the point of distinction here is one involving the separation of test certifications from the absolute association that many have with the concept, where their only relationship with it seems to bind it exclusively to the different level ISEB/ISQTB certifications on offer.


So yeah, there are issues with them, but…
I would agree with sentiments on existing certifications regarding those seemingly focused around the completion of a multiple choice exams are no indication of knowledge or experience and that companies that take ANY certifications as blindly providing the skills or mentality required to be a tester lack an understanding of what the existing systems provide.

I disagree however with the virtual picket lines, pitchforks and torches and so forth though that seem to be directed towards those who have taken such certifications or find virtue in them as if it somehow tarnishes the skill level or other experiences / knowledge of the person.

I would contend that structure and formality provide guidelines that can prove beneficial for those developing their skills in the testing field, particularly in a field that seems to lack much formal structure or clear pathways for development within it. I found myself that even just from picking up the syllabus for more advanced level certifications and being exposed to some ideas, ideas that I had not encountered prior to that point that without even needing sit an exam I experienced benefits from it.

In addition to this even for experienced testers it is beneficial to have a frame of reference from which to compare your own practices to and care of upper level certifications they gain the opportunity to compare the expected knowledge / skillsets of a more senior tester with that of their own to gain a better sense of how they sit in relation to their fellow testers.


A difference of opinion...
It surprises me that because a certification may preach a different methodology / practice than something one may be used to that seems adequate for some to cite it a harmful force bent on destruction of the skilled tester.

So whilst existing certifications are with issue, the issue seems to focus much more around perception on what these certifications represent, differences of opinions on methodologies taught and what not than around what can a certification actually provide a tester.

I believe if people were not so tripped up by these perceptions that certifications could represent in bringing some value to the testing community and that whilst no certifications will ever be a one-stop solution they can still represent another part of a testers education, knowledge base and experiences.

It is after all the cumulation of a persons experiences that define who we are and what we believe rather than any individual / single event, but each event still represents a piece of the bigger puzzle.

Thursday 13 May 2010

The Importance of Being Independent

Think for yourself, question authority...

It is popular, has become common and is considered highly of for a tester to become an active participant within testing communities, to join testing groups and even to eventually become a speaker on testing practices. As heretical as the notion may seem but I believe this to be a poor idea to utilise when one desires the development and progression of the tester and represents potential risks when developing ones skill set as it can blind-sight someone to other perspectives or other ideas.

Whilst there are benefits to be found from participating in testing communities and user groups the potential influences within such groups represent a destructive force for a tester who is still developing their skill set. Why? Because they lack the experience, the perspective and the background to objectively assess whether an idea has value or is appropriate for their own practices / their own roles.

A naive or newer tester is more inclined to embrace an idea off the cuff and more likely to follow such an idea without the appropriate level of critical thinking that should be applied before taking on a new idea.

This represents a potential risk.

Foundations:
Much like various other crafts testing skills often come from having solid foundations from which we draw upon and that help to facilitate making educated decisions within our roles. These foundations are built upon some of the following things:
  1. Intimacy:
    Having a genuine interest in the technologies a tester is working with and putting in the time to become intimately familiar with such technology. A tester cannot approach an application or content from the same way a developer has, based upon a mindset of how a product should work rather than how it can work.

    The tester does not merely follow the documented guidelines for what was intended but looks for what is possible. This is not possible unless one can think of as many variations of possible of attempting the same process, a perspective that can be developed from spending a real amount of time with a technology as a user.

    One of the side affects of this is when a tester then encounters a similar technology it requires far less time and effort to become familiar with it and they can apply similar lessons learnt when working with alternatives.

  2. Trial and Error:
    The process of trial and error is a never ending one for a tester. As we are only human it would only be an illusion to ever consider we will always get something right, never miss things or ever know all there is to know on a subject. But it is the collection of these experiences where mistakes made become valuable opportunities in developing and advancing a testers skill set. Much like the subject of having intimacy (with the technology) these skills are ones developed from having direct hands on experience with such things.

    For a junior tester these opportunities are present on the job where in the company of more senior testers they are able to learn from their own mistakes (as they make these mistakes themselves on the job itself) and the outcome of any potential significant impact is minimised due to such supervision. Importantly these decisions made are within the contexts of a real-life product due to ship, with the implications of the choices made being of greater significance compared to that of a theoretical exercise where mistakes only cost time spent and will not affect users experiences with the product.

    One could contend that more recent developments in testing communities (via the increasingly popular Weekend Tester group) are a valuable means of assisting a tester developing this aspect of their skill set but I would suggest that the collective learning experiences of a group is never quite as significant and does not have the same level of influence as the personal decision of an individual tester and having to learn from the implications of their decisions and actions. This is not to suggest weekend testing groups hold no value (as they do form an additional means of learning), but I would hesitate to see it as a replacement for the learning process of the individual in the development of their skill set.

  3. Self Development:
    Anyone can attend a testing course, visit a testers user group or even cite rhetoric in an on-line testers forum but none of these things are likely to have the same level of influence that personal development can bring. Some aspects of self development come from the two areas mentioned above but another important aspect comes from taking the time to research topics related to testing yourself, read studies and perspectives and learn about developments related to the work you do.

    The benefit of taking the time to read as many relevant and interesting items as one has the time or ability to do provides the tester with a variety of perspectives, this helps to avoid just regurgitation of the status-quo as even though typically a significant proportion of articles only exist to reinforce existing mind sets/views it is the exceptions that help to offer new ideas, these new ideas are what allow a tester to gain a broader perspective and have a better idea for what may be possible.

    As a tester one of the most important skills which helps to define ones skill set is their ability to discover, learn and utilise relevant tools. Once again this is a direct hands on experience, some of this will be gained through roles taken where an opportunity is afforded to work with some of these technologies, others tools though can be learnt through the research performed that frequently enough highlights particular tools that a tester can pick up from which they can then see for themselves what value it can provide for them.

    In addition to these things there is self development a tester can achieve by observing and learning from other testers they work with, picking up new ideas and methods they can attempt themselves. One could easily cite this particular example as one of the virtues of a community or user group and this would be correct but the value gained from studying our co-workers in a real life situation is likely to be more beneficial than where people are just exercising a theoretical exercise.
The Independent Thinker:
One of the key skills of a tester is their ability to think critically and their ability to do so independently, free of any influence that might detract from their impartiality.

Developing this skill does not come from becoming actively ingrained within a group or community and such activities are likely to have people follow others rules rather than find their own way. Further to that point a tester within such a group stands an increasing chance of fostering more of a 'me too' attitude within it in addition to being affected by social influences (including peer pressure and the influence of more popular/well known individuals within the group over others).

The development of an individual and their mind set requires an appropriate environment in which they can develop perspectives and ideas based around their own experiences thus allowing people to develop, refine/mature and further develop their own ideas of what works and what doesn't. This process includes being involved with and utilising existing methodologies and practices used within work places and observing the results.

Whilst companies often have existing practices in place and methodologies they take preference to this does not mean that a tester should not still continue to evaluate these practices, observing the application of that methodology in relation to the particular project(s) they are working on. After all, experience will almost always show there is never really a one size fits all approach that is ever truly effective or appropriate.

The independent thinker is the one most likely to take an idea and spin it side ways and offer a perspective that a different tester who simply followed would be less likely to think of and helps to really put the exploration in exploratory testing. They are also more likely to be able to take a situation when they do have the benefit of experience behind them to know in which situations to apply the rules, to throw them out the door or embrace some ideas and discard others.

So user groups and testing communities are useless then?
No, not at all. The collective nature of a group can allow people to further ideas, but the keyword here is further.

The exchange of ideas within groups, presentations and practical exercises are all additional avenues for a tester to explore in refining their skill. They also represent an opportunity for like minded people to come together in a space, virtual or real, and share a common space that relates to a topic of importance to them.

A group or community also provides a space where people gain the opportunity to see and hear on subjects or from people outside the space of which they might normally operate within and potentially gain value from this experience.

This however does not make a group an effective unit though. Where it consists of a collective of those yet to develop a proper foundation and appropriate level of critical thinking it would detract from the potential value a group could achieve compared to testers who have already acquired their skill but seek additional avenues in which to see where they can take it. If their desire is not just to develop but to evolve ideas then this is something a community or group can only be likely to achieve when it is built upon a collective of those who have solid foundations to draw upon.

What's it all mean?
It is through a combination of the areas mentioned above that a tester can build solid foundations upon from which to develop their skill without ever having had the need to join a testing community or users group.

The benefits of the independent thinker helps to create a professional tester better equipped to serve the community as a whole by adopting a less textbook and a more individual approach that can translate to assisting with the ability to demonstrate the value of testing within the development environment and help to improve the perception of the testers role and the differences they can make.

Tuesday 27 April 2010

Twitter - The UnSociable Network

Think about it...  
If we were to go by the dictionary definition of social this article could be considered in itself irrelevant, so the aim here is not to disprove that by such definition Twitter itself is not a 'social network' but more that in the essence of what we mean when we refer to something as sociable is something that Twitter more often than not fails to achieve.   
Whilst Twitter itself is not alone in this regard when it is compared to some of the older social networks its ability to facilitate something mirroring a genuine social environment is a short fall it can be highlighted on given its poster child association with the term social networking.  
The Comparative:  
Twitter's competition. Who am I referring to here? Facebook, MySpace and even predecessors like Orkut (remember them?) and for those who like being tied into a service integrated with their GMail accounts, Google Buzz (to list just a few of the more common networks). These networks whilst not free of the Content Vs Noise ratio issues that all social networks undoubtedly contain do facilitate some things that Twitter does not.   
Let's look at some of those things...  
Ability to conduct conversations:  
"Hang on! Twitter can surely do that!", you might say at such suggestions. This is true, it can, but not in any real or meaningful way. Let me explain.  
a.) Any communication is typically limited to at most a few short / abrupt exchanges between parties involved. The ability to discuss any topic in any real way in even several 140 character tweets is something that the majority of people would fail to achieve.   
This means that subjects of interest or topics that people have an interest in and people would engage with others in discussion over result in participants ending up finding themselves limited by the medium when attempting to conduct such conversations properly.  
b.) Any more than a few exchanges between parties involved in a discussion is seen as poor Twitter etiquette. Even when / where these exchanges occur typically once discussions goes past several tweets back and forth their is usually an unspoken limit that is reached effectively terminating any further discussion.   
The reasons for this can be varied including difficulty in discussing the subject in such short messages, the concept of wishing to avoid effectively 'spamming' other followers who also follow the persons tweets yet are not involved in that discussion and just general Twitter etiquette that discourages such practices (to once again ensure that people do not drive away their followers). 
c.) The danger of miscommunication. When striving to ensure tweets meet that 140 character limit what tone/mannerisms and other aspects of communication are lost? In recent times on numerous occasions the writer witnessed and experienced situations where miscommunications occurred due to the nature of the medium rather than the intention of the tweeter where it was observed or agreed upon that due to the '140 character limit' the shared understanding of what was communicated had differed between the sender and the recipient.    
Ability to present other forms of social commentary integrated within the environment:  
As other networks do not have the 140 character limit it also means that it is easier to share topics for discussions within the confines of the social network environment itself. It provides a different user experience when a group thread or message thread can develop based around a piece that is posted.   
Where the character limit is much more liberal things like news, opinion pieces, research and so forth can often be posted to such areas rather than users re-directed to links that provide no direct tie back to the original post and where replies are made via twitter it lacks any threading to see a discussions history / progress.   
How many times have people encountered links to pages that contained little more than a paragraph or two of thoughts that would've served far greater benefit if delivered within the confines of the medium itself instead of re-directing users to an external website?  
So what does Twitter offer?  
A stream of monologues would seem the most apt description in a significant portion of cases. How many of the comments, opinions and so forth offered exist without the intention of seeking replies to what has been said? How much is self promotion, spam or idle commentary? Statistics seem to indicate a fairly large percentage is.  
This is not to say that there are not brief exchanges that are facilitated by Twitter. But this makes this social network largely a rather unsociable place to be, after all how many of your real life conversations are restricted to a few lines of comments exchanged back and forth? Even communication between people via SMS tends to not be held back by some of the conventions and etiquette present on Twitter's service.   
Twitter also offers the ability to share news, breaking or otherwise, links or anything else of interest and this is in the writers opinion its greatest strength. It does allow people to connect with others of similar interests and share knowledge and this too is a virtue, but at the end of the day this social networks greatest failure is its inability to facilitate a proper environment that people can truly be sociable within.