Demonstrating fully automated testing!

In September I blogged about that I saw the real end of manual testing. And I still believe that. Even more now then I did then. Within the company where I work we evolved it even further. But how does it work?

Well first a model needs to be created from the requirements, by using Model Based Review. Next is adding the needed detail, like test data to the model. This enables the generation of the real physical test cases. And several test techniques can be used to generate the test cases: pair wise, multiple decision condition coverage, multiple condition coverage, and semantic rules. This is all done in a simple MS Excel sheet.

This sheet is loaded into the Sogeti’s Model Based Testing tool COVER and that produces the physical test cases. Nothing new, maybe at least it generates not only the logical, but also the physical test cases. This product can then be loaded into Tricentis TOSCA™ Testsuite, which makes the modules and integrates the test cases with those modules and can execute them automatically.

The real magic happens in both tools. When looking at TOSCA it’s a super easy tool for people like me, not too much technical knowledge of coding, but just enough to understand what happens.

To explain this further, please watch this demo video.

Note: Thanks to @Magdelijn for being the voiceover.

Model Driven Development, the end of testing!

With the title “Model-Driven Development, the end of the testing business?” Johan de Haan will give the keynote presentation at the Dutch TestNet autumn event.

Johan is an active blogger at The Enterprise Architect blog, and works for a company that has: model driven development of software applications as their core business.

With this question/statement I guess Johan’s mission is to wake up our traditional testing business. I’m looking forward to see and hear this presentation from him.
I think he is right, in the way that, model-driven development can be the end of our “testing business” as we know it nowadays. Let me share you my thoughts and explain why this could be true:

First some facts:
1. People make mistakes
2. The more people involved, the more chance of mistakes
3. Handing over information will lead to a decrease of the value of information (think about the whispering game)

Correct? Do you agree with this?

Having said that a question to our customers, the people we work for:

Do you want better software?

Chances are the answer from our customer will be a loud YES! The answer Johan will give, (I assume), is: stop building, start modelling

The reasoning why testing will end
To support this statement please follow  this reasoning:

  • With developers you introduce an extra layer of people and therefore high chance of mistakes (caused by fact 1)
  • With testers you introduce and extra layer of people and therefore high chance of mistakes (caused by fact 1)
  • Combine these two extra layers and you have a bunch of possible (most definitive chance of) mistakes (caused by fact 2)
  • Handing over each time gives finally a decrease of value of information and content (caused by fact 3)
  • To create software, give the assignment to the annalists and architects to make models in stead of only requirements in plain text
  • Generate the application with your model, developers aren’t needed (much) anymore to create applications for customers
  • Even testers aren’t needed (much) in the role we know them nowadays, they only have to make a approach for structured checking
  • So with checked models, created by our architects, software can easily generated.

And that’s why our testing business will disappear in the near future!

Therefore testers, let us follow a modelling course in the near future to become architects or at least checkers of what the architects do, here are my recommendations:

Good: Modelling course 1
Better: Modelling course 2
Best: Modelling course 3

They questions testers will have
Looking forward to see what exactly Johan will tell us. I have already some questions for him I’ll ask next Monday:

  1. Who is testing the engine that is needed for generating apps?
  2. How can you ensure the customer that the application you generated is without bugs?
  3. How can you test the integration with the older systems take for example the mainframe machines?
  4. How can you ensure state of the art security? Because once generated doesn’t mean always safe since we have new vulnerabilities each day.
  5. The impact of a incorrect model in front of the process is enormously, how can you structure the testing process?

Good luck Johan with the TestNet autumn event be prepared for all these testers! ;)