Undoubtedly functional testing is one of the areas where the most quality budget it spent. It is often even synonymously looked at with manual testing though automated functional testing is a huge area of focus in recent times. Besides these, the larger connect that functional testing has with other testing attributes is increasingly visible by the day. Performance testing for example is often built on core functional scenarios. Security testing checks for vulnerabilities along functional workflow paths. Usability and Accessibility are strongly interlaced with functionality in ensuring the functionality and interfaces are rendered in the most intuitive manner, accessible to one and all. Localization checks are also largely centred on functionality. Within the functional workflows also, the tester should consider varied standpoints such as architectural functionality, end user focused functionality, competitor driven functionality etc. With all this diversity just within one segment of an application, functional testing is that one core attribute that brings in a binding connect with not just other attributes but also between them. For example, during an accessibility implementation, let’s say on the login page, we also need to consider if the login functionality’s security angle remains intact. This is a simple example of how functionality brings in the binding connect between security and accessibility.
Taking note of all of these, a thorough understanding of functional scenarios is what is critical for a tester to analyse a product’s quality from whatever angle he needs to focus on. Such a functional understanding has to come in not just from the system requirements standpoint but also end user expectations and competitor standpoints, not just from black but also white box angles, not just from dynamic but also static angles, not just from scripted but also from exploratory angles.
The next time you get involved in testing an application try to bring in this view of considering functional testing as the nucleus / core around which the rest of the efforts are built – you will certainly see a positive difference in the quality of your test effort and your product under test, besides your own efficiency in getting the work done.