May be a good reference for KiCad GUI Devs (for more testable GUI)

Just like to share with Devs team (hope it is the right place).

Couple year ago I meet with my best friend from gaming industry he talking about Give-When-Then test style similar to https://gojko.net/2015/02/25/how-to-get-the-most-out-of-given-when-then/

And then I found couple articles for GUI testing similar to this: https://www.theregister.co.uk/Print/2007/11/12/unit_testing_2/

I try these approachs in my design it allow me write any test case from the User interactions with the GUI point of view (mouse, keyboard, and file system…) without need of any actual mouse, keyboard, GUI or full file system to automatic test. Just all mock tests would cover a lot core logic, and uses case. Only think left is not test is the actual behavior a button, a check box etc… (these are system object delivered by the system – in which they should work). The key to me is separate your your control and data model from the View by create interface the view. And the views is a dumb class (stateless except the check box state etc.)

Slowly plant move into this style, we may not need intensive volunteer tester for every builds I think. But will be a very long path to get all there.

The HumbleView is what I think I’m talking about

Devs do not really monitor this forum. You might want to head over to the launchpad mailing list. https://launchpad.net/~kicad-developers

Thank @Rene_Poschl, I kind of knowing that. But I also feel using mailing list from developer is not nice for this kind of discussion, and may distract their main work. I also hopping a similar forum for developer some where for this kind of discussion.

The more I watch the bug report in the dev. mail. list, the more I see HumbleView design needed. Current GAL is nice but not enough low level enough to allow mock test for use cases that match user experience, and bug. The core logic handling events need to be separated from the Forms through a well define interface to be testable.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.