The thought behind this concept note is to provide a possible direction to the test automation framework evolution process, An automation framework interacts with the human (tester) , the computer and the application. Though in last few decades we have progressed a lot in test automation, yet it’s acceptance has not kept pace with the progress in development. The major innovation in the last decade i.e Keyword driven Automation has been more on improving usability & maintenance . If one were to look at the 3 major milestones in the evolution process i.e originating from record n play wherein the focus was to save the testing folks from development of scripts to the milestone of parameterization wherein the data was decoupled from the recorded script and could be changed easily at will thereby facilitating data intensive testing to the current day Keyword driven Hybrid Automation frameworks as mentioned earlier.
I believe to make automation more meaningful and robust we need to borrow concepts from cybernetics, Wherein the decomposition of functions is something like below.
- Sensory functions
- Motor functions
- Functions of creation
- Functions of eliminating
- Functions of discrimination and logic / control unit
- Driver Unit
- Logging & Reporting Functions
Functions like Driver unit , Logging & Reporting Functions can be classified as involuntary functions, while functions like Sensory functions, Motor functions, Functions of creation, Functions of eliminating can be classified as voluntary functions.
Another classification of the functions can be as Input , Processing / action and Output functions wherein the Driver Unit & Sensory functions can be grouped as the input functions Motor functions, Functions of creation, Functions of discrimination and logic./ control unit, Functions of eliminating can be grouped as the Processing / action functions and Logging & Reporting Functions can be grouped as the Output functions.
I have consciously excluded the intelligence element as I propose to take it separately. I will deep dive into each of the above functions in the coming weeks to increase the utility of the concept note. Before I progress with the elaboration of the functions , let’s take a pause and delve on Automation. I am restricting the scope to Automation of test execution phase in test lifecycle. The other phases like test design, defect logging etc. will continue manually.
The word Automation is a recent entry to the English language, As per dictionary. reference. com. The word had its origin in 1948, in the manufacturing sense, coined by Ford Motor Co. Vice President Delmar S. Harder, from automatic + -ion. Earlier (1838) was automatism, which meant “quality of being automatic” in the classical sense.
The British dictionary of word Automation is:
The use of methods for controlling industrial processes automatically, esp. by electronically controlled systems, often reducing manpower ,
the extent to which a process is so controlled .
While the closest word for automatic in sanskrit is स्वचालित (svacAlita) which means self driven .
As we see the word is built on the word Automatic. Which entered English language in 1812, wherein it implied “self-acting, moving or acting on its own” from Greek automatos.
From above the word signifies an ability of an object /application to act either on its own or via interaction (control) by a computer without human intervention.