At this moment I write my test cases in Markdown. So they can be version-controlled (I use Git). From Markdown I can render the sources into either HTML or PDF, it can be automatized through a shell script, so it's not a problem to rebuild PDFs every time I want to fix a small typo or whatever.
These test cases are manually performed, but sometimes have corresponding autotests in either Selenium IDE or Selenium WebDriver. They are always built after a manual test is ready and checked.
I'm moving towards creating data-driven test cases, separating instructions from data (which is no more than strings and numbers). So I thought about storing data in some format, which would allow me to use the same data source both for manual tests and for autotests. This would allow me to reuse autotests with new data.
I've drawn a flowchart of how I imagine the whole system to work. Making data-driven automated tests seems like no trouble. It's easy to read either an XML or Properties (key=value) file.
But how do I make human-readable instructions from raw data?
- Are there any ready solutions for building Markdown or any other text format?
- What is a good practice to build human-readable instructions from raw data?
- What are the possible flaws of the whole idea?