Automated testing and CI
Rick Murray (539) 13850 posts |
However, there’s advantages in testing on fake systems One of the biggest advantages that I can think of is when delving deep and dirty. Which, sadly on RISC OS, is all too common given how much stuff runs in a privileged mode. I have a piece of software, a module, that fakes itself as a type of mouse pointer. This fails with a different, third party, piece of software when using the Adjust button behaviour. Now I believe my code to be correct because the behaviour works in other contexts (such as the Filer), however it’s too easy to say “not me, it’s the other guy”. If I’m to pin the blame on somebody else’s code, it’s rather useful to be damn certain that it isn’t me that cocked up. I have the sources for my code, and I have the sources for a slightly older version of the other program. What I don’t have is the inclination to want to do anything about it. This is where some sort of emulation and/or Pyromaniac could be extremely useful – as the underlying system will still be working so things can be poked and prodded and even if RISC OS has keeled over dead, it may well be possible to rummage around in memory (at the host level) in order to try to determine how things got to that state. |
Steve Pampling (1551) 8172 posts |
I think you need to re-read what I wrote:
My point that I expanded on is that you need to know what questions can be answered by the test and what questions cannot. You may need other tests to answer your specific question. First you need to know the list(s) of possible questions and then what tests will answer them or guide you to new questions. Fault-finding is usually a journey through the layers of an onion, or perhaps a 3D snakes and ladders? As you say:
and:
At this point it might be useful if Pyromaniac offered a simple to use method of dumping all that info to a file for the user to peruse at a later point – possibly in a form that a client util could display in a summary/verbose form? |
Colin Ferris (399) 1818 posts |
Andy S take on RPCemu – with it producing output -so you can localize the error in RO. I think it works with modules as well as Apps. |
Rick Murray (539) 13850 posts |
Ditto. ;-) Because the main question that I was aiming at was not “how to test” but “by which measure do you trust your test tools”? It is normal that physical devices may require some form of calibration. It is also normal to try to measure the wrong thing with a device, in much the same way that you can put a nail into a piece of wood using a rock. Also it’s useful to remember that in many cases (physical and software) the act of taking measurements affects that which is being measured. As to knowing what to test, that’s where the years of experience comes in, and is an entirely different subject. ;-)
Sometimes it feels more like three dimensional chess played in the dark when all you have are pawns and the opponent has nothing but queens. |