Software engineering is a large discipline. Its attributes range all the way from core functionality to some of the more specialized areas such as performance, security, usability, accessibility etc. While each of these bring in their own value to shaping a product’s quality, its core functionality remains the nucleus around which the other attributes revolve. For example, a product’s performance cannot exist in isolation. Its usability would be meaningless without a strong functional implementation. While the reverse could also be large true where functionality cannot fully stand in isolation for too long, it can survive in isolation at least initially. As the product is in its initially engineering stages, functionality is what is given the utmost focus and attention. Even for a demo or an initial showing the core functionality is what is leveraged. The case in point is that while the other product attributes cannot exist without core functionality, functionality can – at least initially.
So, what does this mean to us as testers? Should I be satisfied as a core functional tester and not bother to build a niche say in performance testing or security testing? The IT landscape has become very user centric. A user expects a full suite of services from a product – else is ready to quickly move on to what competitors have to offer. They want a product that is functionally rich, very responsive, secure, intuitive, globally available, compatible across platforms – the list is never ending. While we understand functionality is the nucleus of any product, these other attributes should soon follow, if the product has to succeed in the marketplace. Functional testers are most often generalists in the discipline. While the demand for them will never cease to exist, specialists are valuable in their own right. What is becoming important today, is for the test team to acknowledge the nucleus positioning of a product’s functionality and align other test attributes with it, in building a concerted quality effort. I had written sometime back on Functional Testing – Yesterday, Today and Tomorrow. When iphones were introduced, Steve Jobs showed the world how it was not just about functional implementation, but how design and usability can make all the difference. But had the same iphone failed on its functional delivery, it is doubtful if it would have built the user base it did. The importance for product functionality is here to stay. And as long as that is the case, the importance of functional testing is here to stay!