Short for Unified Modelling Language. It allows to describe complex structures (data models, workflows, processes, etc.) in plain English with a given grammar and allows to compile that description into a graphical representation of that structure which for human beings is much better to understand.
at the smallest granularity. Ideally, for every single function in a software project there should be a corresponding test routine, which makes sure that the function really delivers what it should be doing by setting some context and then calling the function in both meaningful but also wrong ways to see if the function returns what's expected for each of those tries. It is actually as important to also test "stupid" function calls just to make sure that the function is able to handle them too and doesn't crash the whole project.