There are many products that are dependent on a number of other software platforms. For example, the introduction of an upgraded operating system specified that it was compatible with applications previously executed under the older operating system version. This required testing a number of applications with the new operating system. It is important to know what are the compatibility requirements of a product and understanding all the interdependencies or pieces that work with the product being developed. The bottom line is does the product still work with the old requirements and will it work with the new requirements. This is what upward compatibility is all about.
Testing for the similarity of system functionality among different versions of a system, or across the different operating environments in which the system runs, or for compatibility of the interfaces to other systems with which the system communicates.