Era of the Techno-functional tester?
First of all who is a techno-functional tester? A tester who knows the functionality of the application and understands some amount of the technical\architectural details of the application.
Traditionally, there has been a lot of debate on why a functional tester should know the architecture or the technical details about a product. As long as the functionality works and gets tested, it’s good enough!
But with the new generation of applications coming into the market, with new architectures and new development paradigms, it might be important that the traditional tester also reinvents himself\herself.
Let’s take an example…
Fiori applications of SAP is developed on a new client(SAPUI5) with use of RESTful services and finally is also mobile. A traditional tester would probably test the functionality of the Fiori application very well and find defects in it. Can the tester do a fair job of testing, if he\she does not know that data from DB travels via application layer to RESTful services and into the mobile device? In each of this transition, there is a chance of data getting compromised. Shouldn’t the tester isolate the layers and do a test in each of the layers? To do this, the tester needs to understand the different architectural layers, their behaviors and hence possible areas of defects.
Increasingly, it’s becoming important to test the non-functional aspects of application like security, performance etc. These would need a certain amount of architectural know-how to understand and test the areas of vulnerability\performance bottlenecks.
In the new development paradigm of Lean development, a tester should be complementing the development activities. When the development teams are adopting to new architectures, testers can help the teams in a great way if can pinpoint the defects found during development to the different technical layers. This would speed-up the pace of development.
Recently there was a defect found that the data displayed in the Fiori application was double of the data that was available in the DB table. Finding and reporting this issue is good. But it would be better if data is scanned in different layers and isolated to check if the application layer is doubling the amount or the service or something is wrong with the UI or is it because of some setting\formula. Better tests can be then performed to eliminate related defects. The development cycle time would also reduce.
In gist, like the way the techno-functional consultant role is getting prominence, the techno-functional tester role seems to be getting more significance.