What is functionality testing in software?

Functionality testing is performed to verify that a software application performs and functions correctly according to design specifications. During functionality testing we check the core application functions, text input, menu functions and installation and setup on localized machines, etc.
 The following is needed to be checked during the functionality testing:
  • Installation and setup on localized machines running localized operating systems and local code pages.
  • Text input, including the use of extended characters or non-Latin scripts.
  • Core application functions.
  • String handling, text, and data, especially when interfacing with non-Unicode applications or modules.
  • Regional settings defaults.
  • Text handling (such as copying, pasting, and editing) of extended characters, special fonts, and non-Latin scripts.
  • Accurate hot-key shortcuts without any duplication.
Functionality testing verifies that an application is still fully functional after localization. Even applications which are professionally internationalized according to world-readiness guidelines require functionality testing.