I'm an electronics hobbyist; while I've done quite a few circuits on breadboards and prototype boards, I plunged into a real PCB this month for the first time. Of course I screwed up - while I had a prototype of the circuit working on a breadboard I made a mistake on the schematics and didn't see that until I put everything together on the PCB.
My question - what methods can I use to verify that the schematics/PCB actually does what I think it does? KiCAD doesn't seem to have a simulator, but in this case it wouldn't have worked since I started in the "simulator" and just made a mistake putting it into a diagram that I used to design the PCB with. My circuit is very simple (<50 components) - I'm left with being a bit puzzled at how you test this stuff on a lot more complex boards. Do you keep producing prototypes, solder everything on and see if that works? Or do you have to develop the skills to discover the mistakes in the schematics?
I work with and spend a lot of my time with software development and advanced computer systems. I know how we test/verify software. Things are broken up into smaller pieces and each piece is put together, tested and then multiple of smaller pieces are tested together. There are a lot of different types of tests done - from functional, to error handling, performance etc. What does this look like when designing something physical like a PCB?