Thursday, June 19, 2014

Artificial Intelligence & Software Testing + The World of Artificial Gene Synthesis induced Artificial Intelligence!

More on Artificial Intelligence and Software Testing:

There is a lot of discussion/debate going on, in the high-tech research fields based on artificial intelligence and its implications on software testing. It is being foretold that intelligent machines like IBM Watson can take over all forms of testing in coming decade or so.

Initially artificially intelligent entities will not be fully aware of their own self. And the process of generating result oriented thoughts/solutions either by induced stimuli or by mere observations will still be a thing of distant future for them. They will not be suitable for jobs where they can create, design or develop according to set protocols and give desired outcomes.

So the next best use of their "artificial-intelligence" will be based on learning how to test or verify & validate a particular functionality as per desired behavior. This AI can be set to try and match the observed results with expected results. And in this due process; the gradually learning artificial conscience can learn to perceive, observe, and judge the observations as accurate or erroneous based on the desired functional patterns.

To understand the underlying concept:

Think that you are being asked to create a pencil that writes with ink instead of carbon lead. The first step to solve this problem will instantly start with imagining a pencil in our mind. And then later we will proceed to think of ways to put ink in the pencil structure and so on and so forth. 

But imagine if somebody has not seen a pencil with carbon lead or a pen with ink refill. How this person can start his thought process, what should be the initial step for him to proceed with? 

Now consider the same person who has played with a pencil and pen both. He knows about its functionality, its shape, color and other properties. If the problem is now asked to this person he will have a starting point to proceed with and there is a possibility that even, if he has limited intelligence capability, he can imagine a pencil with a pen refill inside it. 

What we observed from this example is that to test and to verify/validate is not a job where intelligence is not required rather a job which helps instill a thought process. In such a way that concepts related to the functionality-under-test or validation/verification becomes clear. And sets a path which leads to an actual functional result oriented outcomes. Rather than just a series of failed attempts without any clear point of intelligence incubation.

So the initial applications that we wish to derive out of AI would be more test-centric rather development-centric. In more crude words it will be a baby step towards actual testing from simple tasks of Verification & Validation.

Now another point is that no Test Capable AI also can start without an initiation. Initiation point for this will be a different kind of test data which will give a hint of pattern to this AI in order to initiate the perception, observation and start applying the judgment in testing the functionality.

Mathematically and by the usage of suitable computational resources these concepts will be tested and provided with stats to approve or disapprove them.

Biologically induced Artificial Intelligence:

Now we will talk about a new concept that I thought of while going through the videos of Dr.Craig Venter in which he remarkably presented the creation of artificial DNA sequence. This work can be of great potential in sequencing artificial DNA structures that can work on perception of input patterns and provide results in the forms of algorithmic self-assembly structures. 

When these algorithmic assemblies will be compared to an expected result the test can be said to be verified or validated. 

To understand this concept think of a much simpler problem i.e. 2+3=5. Now the initiation to test this equation will be the already set: algorithmic self-assembly structures by which we can define each known integer respectively. 

The first step will be to perceive that there is a pattern where integers are only used. AI can narrow down its observation patterning capability to only integers now. Now when the this observation will be provided to test to the DNA, it will react to the stimuli and would arrange itself in a uniquely identifiable self-assembly structure. 

This structure will validate/verify that the result is integer, & function to be tested was addition. Hence the result will match the observation with expectation successfully.

As this technology will be based on DNA, Self-Assembly, A.I and possibility of mutable DNA structures as complex reasoning pattern assemblies. It will show us the window towards developing a possible integration of electronics with genetics resulting in computational genetics/artificial genetics induced intelligence or Artificial DNA based Intelligence Simulation. Also as the DNA will be artificially cultured, it can be made perishable; hence human or human(ely) controllable (debatable topic). 

There is a lot what we can achieve through this new convergence of Artificial Genetic Structuring with Artificial Intelligence. And there are immense number of possibilities where it can be put to use in order to give astounding results.


So until this is proved and implemented, let us keep exercising our brain muscles and delve into the amazing world of technology and science.

Bad practices for a Software Test Engineer

People mostly talk about the good and the best practices but it is also important to know the worst or the bad practices which a Software ...