Monday, 18 January 2016

I did not know Firefox could do that: Syntax Error Highlighting in "View Page Source"

I found a feature I didn't know about today in Firefox.

The "View Page Source" view, in Firefox, marks in 'red' some simple errors.

Rendered HTML

e.g. in the source view below you can see I haven't added a doctype, and I have a </h2> where an </h1> should be.

View Page Source Shows Errors in Red


This doesn't catch all malformed HTML you would need an HTML Validator for that.

This feature should be particularly handy given that the inspect element DOM view is the 'rendered HTML' not the 'loaded HTML'.

Inspect Element Dom view has 'fixed' the error with </h2>


Monday, 11 January 2016

Dear Evil Tester, Who is Stafford Beer and Why should I care?

Question: Who is Stafford Beer and Why should I care?

Vernon asks:
"
Dear Evil Tester,  
I'm reading your post about the word "automation" and why we should stop using it. Cool stuff so thanks for that. 
My question is twofold: 
1) Why do you rate Stafford Beer?
2) Where/how do you find these books? You always have interesting books to share with us and I'm wondering how you wander across them. 
Cheers,
Regards, 
Vernon
"

Answer: Because he was splendid!


Dear Vernon,
Thanks for asking.

1) Why do you rate Stafford Beer?


I like Stafford Beer's sense of humour. How often are management books entertaining? Also they are very deep and require study. His books were written prior to the current management book vogue of having a single point and then padding it out with 'stories'.

And how many management theorists also incorporate their art and poetry into their work? Buckminster Fuller and Stafford Beer - I can't think of many others.

I like the way we get to see his models and explanations develop over time. Although people seem to think that Cybernetics died off, I think we see a progression and development through Stafford Beer's work and changing as computers grew ever more powerful.

But Stafford Beer's work always seemed to be about how can we better organise systems to support the necessary communication flows within them. And since he had an early, and ongoing, factory/management background, his work is very grounded in how organizations and teams work. So I can generalise his approaches and adopt a similar modeling style for the various places that I work in.

Modelling the System of Development in terms of teams, people within teams, their communication processes, their rituals, the other Systems they communicate to, the form the communications take, the data the communication transfers.

Also, I think it was from Stafford Beer that I learned about Attenuation and Amplification in terms of Human Communication, rather than in an electrical context that we might normally associate with Cybernetics.
  • Attenuation - making quieter and discarding the data
  • Amplification - making louder so the data has more weight and importance
We might standardise reporting to attenuate away detailed information that might distract communication, but we also lose nuances, and if there are no other communication lines in place, those signals might get lost. And overtime the standardisation may cease to be fit for purpose, but may not be revisited. Standardised Metrics that are no use to anyone. Risk and issue logs that are never reviewed. So compensatory processes like team based retrospectives can be used to pick up on the signals that would otherwise be lost, and acted upon in a local system rather than feeding through into the surrounding systems.

Certainly I took from Stafford Beer an approach of modeling systems within systems of overlapping systems and viewing them in different ways to attenuate the overlaps.

When I build and adapt test processes I'm very conscious of attenuation and amplification. And as a manager I make sure that I can amplify any signals that are lost via the standard attenuation communication processes, and try very hard to pick up on important weak signals before they amplify.

Stafford Beer was around when Operational Research was being used in the war, and for statistical control of processes. Stafford Beer worked in industry and so was conscious of customer satisfaction, viability and money. His work always seems practical to me.

I don't always 'get' Stafford Beer on first reading. And I probably still haven't 'got' him now. But I re-read his work and learn more each time.

If I was to start with Stafford Beer, I'd read whichever books I could get cheaply enough as they are all useful. But in terms of 'least scary to start with' I would specifically try and track down:
  • Designing Freedom
  • Diagnosing the System for Organizations
You can find some Stafford Beer lectures on youtube if you'd prefer a cheaper and less forbidding start [https://www.google.co.uk/search?q=stafford+beer+youtube]

2) Where/how do you find these books?


I don't remember how I first found Stafford Beer. I think it was in a reference in some other book. Although the first Stafford Beer book I bought "How many grapes went into the wine" I bought in a sale because it looked interesting. But didn't realise it was a Stafford Beer book until I had tracked down "Designing Freedom" and "Diagnosing the System for Organizations". Two very slim but very deep books.

...I'm wondering how you wander across them.


Much like a character from an H.P. Lovecraft novel, I would hunt down "strange, rare books on forbidden subjects". Books that are hinted at in the marginalia of less strange and less rare books on less forbidden subjects. I would constantly trawl second hand book shop after second hand book shop trusting to the Gods of coincidence and lucky chance. And there I would select random books and perform stichomancy to identify my next area of study.

But nowadays I tend to search on ebay and look up references in archive.org.

I no longer have an ebay search active for Stafford Beer, but when I was trying to source the books I primarily used ebay and abebooks. Also sometimes you get lucky with second hand sellers on Amazon.

Adopt A Reading Strategy of  'Go to the source'


One of my study and reading strategies is to 'go to the source'.

When I read a book that someone has recommended to me, or that I found useful. I'll look at what books the writer of that book referred to and try and find out who that writer studied. And then track down the books that they read and used.

That way I'll gain a different perspective on the original work, rather than a single writers interpretation of their work. It also takes me back to books that fewer people have read, which helps me have a different approach. Over time that has led me to many interesting authors that I would probably not have otherwise read.

And many of these books are old. So they are available at archive.org, or at Project Gutenberg, which can be helpful as sellers of second hand copies of some of these books seem to put a price value higher than I want to pay.

For your delight and delectation, I have attached a picture of my Stafford Beer stash.


  • Just out of frame on the left is his "Management Science" book, a fairly light intro to Cybernetics, then follows the bulk of his writing (although I do not have his book of poetry).
  • "The Fractal Organization" is a book 'about' Stafford Beer's viable System model.
  • Bertalanfly's classic "General System Theory"
  • The light, but enjoyable "Systems Management and Change: A graphic Guide", which I mainly keep to remind me that alternative presentation styles are important
  • I can see a Drucker book in there, he wrote a lot, but I only have a few, the one pictured is "Managing for results" which I thought highly of
  • Frank George's 'The Brain as a Computer', which is new to the shelf but has popped up in a lot of references so I tracked it down - you can read it online for free at archive.org [https://archive.org/details/brainasacomputer007406mbp]
  • there is a small selection of Herbert Simon shown here - "Sciences of the Artificial" (initially recommended by James Bach), "Reason in Human Affairs and Organizations". I think 'Organizations' is one of the best books on organizational change and management dynamics that I've read. I have Simon's "Models of Thought" in my 'read very soon pile'
  • A Milton Erickson book in there, because you can never have enough Milton Erickson on your shelf, "Hypnotic Realities" contains some useful transcript snippets for when you want to start working on your language patterns
  • I can see "The Political Brain" by Drew Westen, which I thought was an excellent study of emotional persuasion and marketing
  • At the right I can see we're bleeding into F Matthias Alexander's work - he of 'The Alexander Technique' fame. His books are all about modelling, feedback, change, testing and measurement. And who could turn their back on a book with the title "Constructive Conscious Control of the Individual"?
  • At the front you can see "Models for Management: The structure of competence". Really!? It has some useful pages but I'm not sure how long it will stay on the shelf. I suspect on next pass through it will probably be for the off.
  • A few obligatory books on experimentation and scientific method
  • And of course the IT person's favourite productivity tome "Getting Things Done"
  • You can also see an e-prime cheat sheet that I have stuck to the shelf for handy reference.

PS: I have only given you so much information because I have already managed to find most of Stafford Beer's books. I don't need any competition hunting for other topics I'm studying, so if you ask another question and don't get a response it might be because you've stumbled across one of the secret and forbidden knowledge areas that I currently have under study, or it might be because I want you to think you've stumbled across a secret and forbidden knowledge area. Or it might be because I'm busy.

Friday, 8 January 2016

Technical Testing with MS Edge and "the user will never do that"

I have yet to update my Windows Machine to Windows 10, and therefore haven't experienced the joys of MS Edge. Until now. And crikey! I was surprised.

I downloaded the VMWare Windows 10 virtual machine to gain access to MS Edge.

Tiny right click menu on MS Edge
When I right click on MS Edge to see the options available to me as a user I see a tiny menu offering:
  • Open in new tab
  • Open in new window
  • Copy link
  • Inspect Element

Gosh.

Compare that with the 'slightly' larger, more complicated and feature packed right click menu in IE11 on Windows 8.1
Feature packed menu in IE11
  • Open
  • Open in new tab
  • Open in new Window
  • Save target as....
  • blah
  • blah 
  • blah
  • stuff
At least that is what a normal user sees.

They really don't scan down, or if they do they skip the stuff in the middle and might see that they can 'clip it' and 'view properties', and blah blah blah.

Not so with MS Edge.

MS Edge provides a tiny list. The kind of list that makes you go:

"Oooh, I can cope with that. I wonder what that does. I'll just click that."

And lo' a new world of experience opened up to the user through inspect element.

And now everyone can manipulate the DOM, and the cookies, and the local storage, and whatever else we chose to use the client side for.

And, "but the user would never do that" becomes less and less likely.

I did not expect a heavily promoted consumer focused browser to be so functionally minimal that 'advanced' user workflows would become so accessible.

But it has. And they have.

Which means that now, more than ever, those of us that test; need to manipulate the DOM and ensure that our back end validation can cope with the range of variety that has opened up for 'normal' users to generate.

References:

Wednesday, 6 January 2016

Use StockFighter to improve your Rest API Manipulation Skills

I found a link to StockFighter in my news feed this morning.

It is a free to play game which has a GUI and a Rest API.

I've been working on a game of my own: a Mud with a GUI and Rest API, to use when I train people in technical web testing. And it is good to see other 'fun' activities which we can use to improve our skills.

I completed the first two levels using PostMan, and I'm going to drop down to some Java for the next level.

One interesting aspect of this game is that because other people are playing it, they are releasing the abstraction layers they are writing on github. So before you start coding you can read their code and learn from that first. A good way to see differing approaches to the problem and modelling that you might not have thought of.

The StockFighter forum has a list of Api libraries in a variety of languages that you can peruse.

I don't think that my game will end up in as polished a form as the StockFighters game, but I've had a few people playtest it so far, and they had fun trying to steal the treasure around them before the other players did, all the while learning more about DOM and URL manipulation.

I'll be playing around with  StockFighter a little more when I have time over the week, which might mean that I won't finish Front Mission Evolved on the Xbox 360 this week.

Questions:
  • Do you know of any other 'fun' activities like this for practicing your Rest manipulation skills?
  • Can you get further in the game than I did without resorting to coding?