Adaptability testing- Functional test to verify that the software can perform all of its intended behaviors in each of the target environments.[9][10] Using communication standards, such as HTML can help with adaptability. Adaptability may include testing in the following areas: hardware dependency, software dependency, representation dependency, standard language conformance, dependency encapsulation and/or text convertibility.[5]
Compatibility/ Co-existence- Testing the compatibility of multiple, unrelated software systems to co-exist in the same environment, without effecting each other's behavior.[9][11][12] This is a growing issue with advanced systems, increased functionality and interconnections between systems and subsystems who share components. Components that fail this requirement could have profound effects on a system. For example, if 2 sub-systems share memory or a stack, an error in one could propagate to the other and in some cases cause complete failure of the entire system.[5]
Installability testing- Installation software is tested on its ability to effectively install the target software in the intended environment.[5][9][13][14] Installability may include tests for: space demand, checking prerequisites, installation procedures, completeness, installation interruption, customization, initialization, and/or deinstallation.[5]
Interoperability testing- Testing the capability to communicate, execute programs, or transfer data among various functional units in a manner that requires the user to have little or no knowledge of the unique characteristics of those units.[1]
Localization testing- Localization is also known as internationalization. Its purpose is to test if the software can be understood in using the local language where the software is being used.[8]