Not to nitpick, but UEFI is a specification. You're probably thinking of EDK/EDK2 which is the reference implementation.
I think it's funny that you compare testing of the Linux kernel where automated testing is an afterthought with project such as LTP. Most kernel devs I know basically test everything manually. Sure, there are lots of developers which look over the code and use builds from git so releases are stable.
On the other hand, UEFI is a specification which defines most interactions between different components and there is a comprehensive range of automated tests provided by UEFI SCT (Self Certification Test).
Full disclosure, I've worked on EDK2. Personally, I hate it when software is used to limit freedom. My contributions to EDK2 are BSD-licensed and upstreamed.
While UEFI is a specification, every implementation I'm aware of is based on EDK. Practically speaking, all UEFI implementations are at least as complicated as EDK, and so are as complicated as the Linux kernel. The SCT is impressive, but only really ensures that an implementation gives appropriate results when well formed input are given to it. That gives very little indication of what the real world issues are in a code base, since we can generally assume that the real world is rather less competent at providing well formed input than a test suite is.
I've hit two real and severe bugs in EDK, one of which merely tended to crash any OS on boot and one of which allowed me to brick any hardware using the EDK BDS implementation to the point where recovery involved physical reflashing of the firmware.
Reality is that any codebase is, practically speaking, untested until it's been exposed to the real world. EDK, Tiano, and basically every real-world UEFI implementation haven't as yet. Putting them in the hands of people is going to find new bugs, and some of those are going to compromise operating systems. That's not a criticism of any part of the UEFI development process. It's a description of reality.
I think it's funny that you compare testing of the Linux kernel where automated testing is an afterthought with project such as LTP. Most kernel devs I know basically test everything manually. Sure, there are lots of developers which look over the code and use builds from git so releases are stable.
On the other hand, UEFI is a specification which defines most interactions between different components and there is a comprehensive range of automated tests provided by UEFI SCT (Self Certification Test).
Full disclosure, I've worked on EDK2. Personally, I hate it when software is used to limit freedom. My contributions to EDK2 are BSD-licensed and upstreamed.