What kind of software quality assurance techniques are employed in the development of space systems? How are they different from other techniques in aviation, nuclear or other high stake systems?
The normal stuff - code reviews, unit tests, black box tests, load tests etc, etc. The biggest difference is the vigour.
You have to go through detailed design review, a code review, there is often a requirement that certain percentage (often 80% or 90%) of your code be covered by automated tests, there are usually performance requirements you have to meet, you have to run static and dynamic code analysis the results of which are also peer reviewed.
All of that is the factory testing, once the software is delivered, you go through a round of system level tests which are sometimes designed by a third party with third party data.
My experience is all in ground software, for flight software, they have an additional step where they load the software to the actual flight hardware, hook it up to hardware simulators and test it.