UI Testing
UI testing is a subset of Functional testing. It focuses on verifying and validating that the UI is rendered as expected, on different platforms, different browsers and/or devices. It ensures that the UI elements are present and do what they are meant to do.
An example of an UI test is to verify that certain drop-down has the required options and each of those options leads to the expected result. Another one is to verify there are no broken elements in the UI, the UI can scale adequately on different resolutions and is responsive.
UX Testing
UX testing focuses on the user experience – how great or awful it is. For instance – is the customer always kept in context within a given flow? Are the UI elements placed in their respective places so the customer is not being confused by too many options and/or important settings that are tucked away somewhere in the UI? Can the user utilize a screen reader and navigate through the service successfully if his vision is impaired? Does the user have to scroll from one end of the screen to the other because a weird design decision was made? Is setting up something easy or hard? Is the wording of different settings / options clear or is it ambiguous?
It’s worth nothing that if serious issues are discovered during UX testing – then one must be prepared for a long and tedious ordeal. Problems in UX are most often caused by poor communication between UX, PM and Engineering but for that (and more) later.