Sunday, June 27, 2021

SCOPE OF TESTING FOR ARTIFICIALLY INTELLIGENT SYSTEMS


 

INTRODUCTION:

                               Artificial Intelligence means human-like behavior shown by computer systems and software. It means that application or machine can understand human behavior dynamically and can adapt a certain behavior according to the situation.

 Artificial Intelligence (AI) traditionally speak of to an artificial creation of human-like intelligence that can learn, reason, plan, perceive, or process natural language. These behaviors allow AI to bring vast socioeconomic prospects, while also posing ethical and socio-economic experiments. [2]

The term itself was coined by Dartmouth College’s John McCarthy in 1955 in a proposal to university researchers for its summer research project on AI. According to the cognitive scientist Marvin Minsky, one of the field’s most famous practitioners, AI is “the science of making machines do things that would require intelligence if done by men.” [1]

Practically, artificial intelligence represents a wide category of methodologies that teach computer to adapt the behavior of an ‘intelligent’ human. Two terms “Machine Learning” and “Deep Learning” are frequently used and seen when we discus about artificial intelligence. Machine Learning refers to the algorithms that are developed to tell a computer how to respond to a certain event or activity. Deep Learning is the type of machine learning which use the structure that is closely related to human behavior. Deep-learning software attempts to simulate the activity in layers of neurons in the neocortex, the wrinkly 80% of the brain where thinking occurs. The software learns, in a very real sense, to recognize patterns in digital representations of sounds, images, and other data. [1]

Artificial intelligence has created a new revolution in the world of business and information technology. Through artificial intelligence, our tasks have become frequent, accurate, bug-free and effortless. Many of those tasks which required human presence and efforts are now done by software and hardware tools using artificial intelligence. One of the best examples in this perspective is plagiarism detection software. Before the use of artificial intelligence, humans used to check for the plagiarism manually. But with the evolution of technology and introduction of AI, there have been a large number of software that detects plagiarism within seconds of unlimited word count. 

Even if artificial intelligence induces thoughts of science fiction, artificial intelligence already has many uses today, for example:

·         Filtering: Email and text-messaging services use artificial intelligence to filter incoming messages. User can mark a particular contact as ‘spam’ and next time that contact tries to send message, your machine will automatically detect it.

·         Personalization: Artificial intelligence has played a vital role in the world of sales and advertisement. Online services like Amazon, Daraz, Foodpanda, Netflix etc. learn from user’s previous experiences and display him the related content.

·         Fraud Detection: Banks implement specialized algorithms that detect if there is some strange activity and report it instantly.

·         Speech Recognition: Applications use artificial intelligence to optimize speech recognition functions. One of the most common examples is assistant feature in our mobile phones. [2]

 

 Everything has its bright and dark sides but it depends on how we perceive it. Following are some pros and cons of AI:

Advantages:

·         By the use of AI, human error is reduced. Everything is programmed according to specialized algorithms and codes and greater sense of precision is achieved.

·         Artificially intelligent system is able to take risks because he got no emotion attached. A human being may think for a moment before defusing a bomb but a robot doesn’t.

·         Human body needs rest. On average, a human can work for 8-9 hours continuously. But services which are provided through artificial intelligence are available 24x7.

·         Digital assistance is one of the most useful services provided through AI. Even if relevant persons are not present at customer support center, a user still gets response by Chabot.

·         Using AI combined with other technologies we can make machines take decisions faster than a human and bring out activities quicker. While taking a decision human will evaluate many factors both emotionally and practically but AI-powered machine works on what it is programmed and provides the outcomes in a faster way. [3]

 

Disadvantages:

·         Development of AI based application requires a lot of resources including human efforts, expensive hardware devices and latest technology.

·         AI is making humans lazy with application automating majority of the tasks.

·         The use of AI has created unemployment at larger scale. Robots have replaced the man at many important jobs and this risk is increasing day by day.

·         An artificially intelligent system lacks out of the box thinking due to the algorithms build on hard and fast rules. If any unexpected event happens, that system is not able to respond correctly.

 

MATERIALS & METHODS:

It is commonly believed that AI has become as mature as human brain. But the truth is that the scope of problems solved by AI is narrow. AI based system cannot learn by their own. They are accomplished to implement a specific task and support humans in solving demanding problems. AI can also go wrong so we need to apply different testing techniques to ensure correct usability. Both SDLC (Software development Life Cycle) and STLC (Software Testing Life Cycle) are different for artificially intelligent systems. The reason is that AI involves training the machines to acquire, unlearn, and adjust definite tasks throughout their lifespan; there is a particular need to train and test them properly. Moreover, intelligent machines have machine learning skills that will result in different results if the same function is called at different instants in time. This demands new testing skills.  [2]

·         Black Box Testing: In this type of testing, software is not tested on the basis of coding structure. Rather, main focus is on certain types of input and the expected outputs that are based on software requirements. This is also called as Behavioral testing. [2]

·         A/B testing: Many software companies practice A/B testing. They provide two different versions of their software and investigate the user’s reaction. This method is based on the scientific process and should be utilized when developing AI aptitudes.[6]

·         Machine Learning and Neutral Networks: A neural network comprises of many lumps of “nodes” which are arranged in layers. All the nodes are interconnected. These nodes are not pre-programmed rather they are empty. Their processing parts are presented in top layers where calculated result is returned. When the neural network is exposed with an example in training it will analytically construct itself so the different layers and nodes will process parts and aspects of the input so the end result of all nodes will give the result that is given to the network i-e label.[2]

·         Specialized Algorithms: In normal systems, algorithm means coding techniques applied to it. But in the case of artificially intelligent systems, the algorithm is the product of the neural network but based strongly upon the training data and the labels. So the algorithm is equal to code + training data + labels. [2]

·         Specific Input Testing: Different types of input values can cause a mix of expected and unexpected outcomes. The input values are important for the functional reliability, security, strength and performance. An artificially intelligent system keeps on improving as more and more data is provided as input. So this cause the system to change the behavior as it proceeds. An AI tester should keep that fact under special consideration. [6]

·         Test Oracle Problem: Test oracle problem occurs when tester is not sure about expected result of specific use cases. It becomes really confusing to determine whether the actual results are according to expected results or not.[6]

RESULTS AND INTERPRETATIONS:

Due to limitations in training data and concepts, we see things too simple (reductionism) or only from one point of view (bias). A granularity in the concepts could mean that the system cannot generalize enough, thus the result is useless.

·         Selection Bias: If the training data in the selection input has some important points missing, then it can lead to the situation of selection bias. Consider an example of mood-based recommendation system. If the information given to such a system is incomplete, the results could be far away from expectations.

·         Confirmation Bias: Willingness to verify Associate in attention hypothesis heavily believed or invested with in will lead to choosing or over-weighing information confirming the thesis over manageable misrepresentations. Scientists, politicians and merchandise developers might be prone to this type of bias, even with the simplest of intentions.

·         Under-fitting: As we have learned earlier, artificially intelligent system improves itself as more and more training data is given as input. If training data is not enough, the system may lack many of its functionalities. For example, a system whose job is to differentiate between the voices of different animals. If you don’t provide voices of all the animals as training data, how can it respond according to expectations in a real situation?

·         Over-fitting: Over-fitting  happens  when  the  classification is too miscellaneous  and  too  assorted  for  the purpose of the AI system. If we want to see designs and groupings, a high granularity of labels compromises the outcome, making it impracticable because of its vagueness.

·         Over-Confidence in AI system: AI can perform some types of mental activities way faster and accurate than a human brain can. The algorithm of AI is not directly reachable or modifiable. From this the perception can be easily drawn that AI cannot be judged by human standards. Intellectual laziness and comfort can be an important motivation too for uncritically trusting AI. Take the example of Google search. Human brains of thousands of people cannot match the speed and accuracy of Google. Therefore, nobody questions the result and algorithm behind it. [2]

DISCUSSION & CONCLUSION:

We’re fast oncoming a time when even “Continuous Testing” will be incapable of keeping pace with declining delivery cycle times, increasing technical complexity, and rushing rates of change. We have already starting to use basic forms of AI, but we need to continue the testing evolution to achieve the efficiency needed for testing of robotics. We need to learn the importance of smart work. Hard work alone is not sufficient always.  Certifying quality in an era where software will be processing an unbelievable number of data points in real time. For example, now a day self-driving cars are about to introduced. Definitely, the car will perform in real world. This means more complexities are on the way of testing and quality assurance. Particularly, we can’t afford even a slight error in this regard because it is not about failure of certain functionality; it’s a matter of lives. So we need to keep pace with the upcoming technology and should improve our testing standards. [6]

Another fear about artificial intelligence is that in near future, it will completely take the role of humans and there will be too much unemployment. This is true to a little extent but we don’t need to be worry. As we have seen, when technology replaced the old conventions, new opportunities also arrived. So we should look at the brighter side and should try to adapt according to modernization.

 

REFERENCES:

1.       https://expertsystem.com/artificial-intelligence-software-definition/

2.       https://www.internetsociety.org/resources/doc/2017/artificial-intelligence-and-machine-learning-policy-paper/?gclid=CjwKCAiAqJn9BRB0EiwAJ1SztUWJokzWqk6tzsmhV0DO5mnzocyn9tSxCfGx8_4BJA77PgJWPnmjIhoCwkwQAvD_BwE

3.       https://towardsdatascience.com/advantages-and-disadvantages-of-artificial-intelligence-182a5ef6588c

4.       https://testaing.com/testing-artificial-intelligence-ai-systems/

5.       https://www.researchgate.net/publication/337400746_Testing_Artificial_Intelligence

6.       https://labs.sogeti.com/wp-content/uploads/2017/12/Testing_of_Artificial-Intelligence_Sogeti-Report_11_12_2017.pdf

7.        

 

No comments:

Post a Comment

Always be respectable and respect other's opinion. Criticism is acceptable but avoid using abusive language.

Forward Engineering vs Reverse Engineering

  Introduction: The process through which a detailed model is transformed into executable code is termed forwarding engineering. It is als...