Simple test automation

commercial with spelling error
commercial with spelling error

Do you find test automation complicated, unreliable, and costly?

It don’t have to be; for example a spell checker is also an automated testing tool, which is intuitive, reliable, and free. The right test automation will make your life easier 😉

What simple test automation tools (like the spell checker) do you use in your daily life?

#testautomation #testautomationtools #rpa #spelling #testingtools #funny #roboticprocessautomation

Deal with change in software development (TDD)

Using a metal bucket as a measuring unit

I often hear developers complain that the specifications, demands, and technology change to quickly. So how can developers deal with it?

Change is after all the key aspect that complicates the design and development process. Often it is not even a question of delivering quality, but pure survival of the delivery.
One day I got the following question:

  • How can you trust anything, if everything is constantly changing?

I thought about it and expanded the question:

  • How can science and truth be possible in a world of chaos?

Speed is the key

I came to the conclusion that everything is changing, but things changes at different speed.
For example a metal bucket changes slower than my body and therefore can be used as a measuring unit to measure how my body grows:

Using a metal bucket as a measuring unit

A shadow on the other hand changes quicker than my body and will be difficult to use as a measuring unit:

Using a shadow as a measuring unit

How to deal with change

A unit test changes slower than the code and I can use it to measure how the code changes.

This is why I apply Test Driven Development as a design methodology: First I design a single unit test, then implement the necessary code to make the unit test pass. Then I design another unit test with the necessary code implementation, then another, and another, etc.

As a developer, I am able to implement great ideas as solutions. But as a developer, I also forget about the great ideas after I have implemented the code.

I Therefore write the unit-tests to document my great ideas, before I implement and forget them. If I don’t, then it is only a question of time, before the complexity becomes large enough, so when something breaks; nobody will know how to fix it. We would end up like the elves in the Lord of the Rings:

“The world is changed.
I feel it in the water.
I feel it in the earth.
I smell it in the air.
Much that once was is lost;
for none now live who remember it.”
 
– Galadriel, Lord of the Rings.

Read my blogpost on:

  • SogetiLabs: http://labs.sogeti.com/deal-with-change-in-software-development-tdd/
  • Bartek.dk: http://bartek.dk/wordpress/deal-with-change-in-software-development-tdd/

Design & Test – is the best!

This is an old joke, but I had to add another twist to it!

—-

Sociology is a subset of psychology – if you know how an individual behaves, then simulating the interaction between multiple individuals should be easy.

Psychology is a subset of biology – if you know how the brain and the rest of the body works, then psychology is just a “simplified” biological model.

Biology is a subset of chemistry – if you know the chemical processes, then simulating a biological entity should be relatively easy.

Chemistry is a subset of physics – if you know how matter and energy interacts, then all the chemical processes can be predicted.

Physics is a subset of mathematics – if you know how to build a model / system, then it is “easy” to observe a phenomena and build a mathematical model of it.

Mathematics is a subset of design & test – if you know that axioms (definitions) is what creates a model, then selecting and validating the axioms, is the only way to design the model.

—-

Facial expressions can be now transferred

Youtube video of capturing body movements

Facial expressions can be now transferred, from an actor to a photo realistic computer generated human – in real time:

It is just a question of time, before anybody would be able to say: “It wasn’t me”, “I never said that” or “I was imitated by a 3D computer model”.

Live interviews or live recording will probably lose it’s credibility, since anything could be posted as a fake.

This is probably one of the reasons, why block chain will come to shine, where you will be able to “sign” a video of you self, to show this video is authentic. E.g. anyone would be able to make a video of Will Smith, but only Will Smith would be able to sign it with his “block chain signature”.

INVESTING IN TEST DRIVEN DEVELOPMENT (TDD)

Test Driven Development

Design Validate, Code Verify

Ten facts about details

1. You are reading this line now
2. But you didn’t notice “line” was written twice.
3. You went back to check it, but were confused,
5. Because “line” wasn’t written twice.
6. But now you didn’t notice, that 4. was skipped.
8. You went back to to check it.
9. You are smiling, because you fell for it
10. And by smiling you didn’t notice that “to” was written twice in 8.
11. or that 7. was skipped.
12. or that “ten facts have become 11 (because we skipped 2)
13. Now you smile again.

I am blind to the details, and so are you – this is why we need TDD for coding software.

Read more of my article at SogetiLabs: http://labs.sogeti.com/investing-in-tdd/