Glossary: Artificial Intelligence

Artificial Intelligence is here. AI is already being used in development, testing, tool development, and products. Its use will undoubtedly grow and become more pervasive.

At LogiGear Magazine we regularly include a glossary of terms on the issue topic. In this issue, the glossary is unique.

If you are just beginning to learn about AI there are a whole lot of unique phrases in understanding to grasp the terms and possibilities of AI. The goal here is to maximize your understanding of AI and Machine Learning so that you can do a few things:

  • See where AI could apply to your testing practice. For example, using AI to predict where bugs may lie in wait. Knowing this could help you build data, bug tracking information, or bugs traced to the chunks of code where the fix is to help build an AI bug prediction system.
  • Understand AI enough so that when you begin using an AI-based Automation tool, or AI-based Test Automation helper tool, the more you understand about AI, you can think of more ways to apply the tool or increase its use.
  • If you are testing an AI or Machine Learning app, you will need a great understanding of how AI works. Testing AI systems is far different from virtually all systems you may be testing already.
  • For the testing of AI or Machine Learning, part of Machine Learning is that with use, the machine learns more or predicts more. With a certain input or data into an algorithm today, the machine will learn and give you a different answer tomorrow. Most of us do deterministic testing. A+B=C. We expect C to be the answer based on some information such as a requirement/user story or subject matter expertise. With Machine Learning, today A+B may =C, but tomorrow it may =D. To understand this, see the word, non-deterministic, in the following glossary.

Artificial Intelligence Terms

Artificial Intelligence

Intelligence demonstrated by machines, in contrast to the natural intelligence displayed by humans and other animals. Colloquially, the term “artificial intelligence” is applied when a machine mimics “cognitive” functions that humans associate with other human minds, such as “learning” and “problem solving”.

Source: https://en.m.wikipedia.org/wiki/Artificial_intelligence

Artificial Neural Networks

Connectionist systems computing systems vaguely inspired by the biological neural networks that constitute animal brains. The neural network itself is not an algorithm, but rather a framework for many different machine learning algorithms to work together and process complex data inputs.

Source: https://en.m.wikipedia.org/wikiArtificial_neural_network

Bot (Robot)/Bots

Machines that can substitute for humans and replicate human actions. Robots can be used in many situations and for lots of purposes, but today many are used in dangerous environments (including bomb detection and deactivation), manufacturing processes, or where humans cannot survive (e.g. in space). Robots can take on any form but some are made to resemble humans in appearance.

Source: https://en.m.wikipedia.org/wiki/Robotics

Data Mining

The process of discovering patterns in large data sets involving methods at the intersection of machine learning, statistics, and database systems.

Source: https://en.m.wikipedia.org/wiki/Data_mining

Data Science

Data science is an interdisciplinary field that uses scientific methods, processes, algorithms, and systems to extract knowledge and insights from data in various forms, both structured and unstructured, similar to data mining

Source: https://en.wikipedia.org/wiki/Data_science 

Deep Learning

Part of a broader family of machine learning methods based on learning data representations, as opposed to task-specific algorithms. Learning can be supervised, semi-supervised, or unsupervised.

Source: https://en.m.wikipedia.org/wiki/Deep_learning

Deterministic Algorithm

An algorithm that, given a particular input, will always produce the same output, with the underlying machine always passing through the same sequence of states.

Source: https://en.m.wikipedia.org/wiki/Deterministic_algorithm

Explicit Requirement

Most commonly found in documents communicated by stakeholders to the development team. They might take the form of an elaborate design specification, a set of acceptance criteria, or a set of wireframes.

Source: https://www.stickyminds.com/article/3-types-requirements-testing

Implicit Requirement

All the things that users are going to expect that were not captured explicitly. Examples include performance, usability, availability, and security.

Source: https://www.stickyminds.com/article/3-types-requirements-testing

Latent Requirement

Represent behaviors that users do not expect based on their previous experiences but which will make them like the software more.

Source: https://www.stickyminds.com/article/3-types-requirements-testing

Non-Deterministic Algorithm

An algorithm that, even for the same input, can exhibit different behaviors on different runs, as opposed to a deterministic algorithm.

Source: https://en.m.wikipedia.org/wiki/Nondeterministic_algorithm

Machine Learning

The study of algorithms and mathematical models that computer systems use to progressively improve their performance on a specific task. Most machine learning systems are based on neural networks, or sets of layered algorithms whose variables can be adjusted via a learning process

Source: https://en.m.wikipedia.org/wiki/Machine_learning

Predictive Analytics

Encompasses a variety of statistical techniques from data mining, predictive modelling, and machine learning, that analyze current and historical facts to make predictions about future or otherwise unknown events

Source: https://en.m.wikipedia.org/wiki/Predictive_analytics

Blockchain Terms

Blockchain

A growing list of records, called blocks, which are linked using cryptography. Each block contains a cryptographic hash of the previous block, a timestamp, and transaction data.

Source: https://en.wikipedia.org/wiki/Blockchain

DApp (Decentralized Application)

Applications that run on a P2P network of computers rather than a single computer.

Source:  https://blockchainhub.net/decentralized-applications-dapps/

Ethereum

An open-source, public, blockchain-based distributed computing platform and operating system featuring smart contract functionality.

Source: https://en.wikipedia.org/wiki/Ethereum

Ethereum Improvement Proposals

Describes standards for the Ethereum platform, including core protocol specifications, client APIs, and contract standards.

Source: https://eips.ethereum.org/

Smart Contracts

A computer protocol intended to digitally facilitate, verify, or enforce the negotiation or performance of a contract. Smart contracts allow the performance of credible transactions without third parties.

Source: https://en.wikipedia.org/wiki/Smart_contract

DevOps Terms

Continuous Integration

The process of automating the build and testing of code every time a team member commits changes to version control.

Source: https://docs.microsoft.com/en-us/azure/devops/learn/what-is-continuous-integration

Continuous Testing

The process of executing automated tests as part of the software delivery pipeline in order to obtain feedback on the business risks associated with a software release candidate as rapidly as possible.

Source: https://www.tricentis.com/what-is-continuous-testing/

This is a lot. We hope this will help broaden your knowledge of AI and the associated issues so you will be on board and ready to take full advantage for your inevitable work using AI as part of your development and testing practice or, if you are lucky, developing and testing AI products.

For a full AI Glossary, please visit Google and Wikipedia.com.

LogiGear Corporation
LogiGear Corporation provides global solutions for software testing, and offers public and corporate software testing training programs worldwide through LogiGear University. LogiGear is a leader in the integration of test automation, offshore resources and US project management for fast, cost-effective results. Since 1994, LogiGear has worked with Fortune 500 companies to early-stage start-ups in, creating unique solutions to meet their clients’ needs. With facilities in the US and Viet Nam, LogiGear helps companies double their test coverage and improve software quality while reducing testing time and cutting costs.

The Related Post

Code Current The ability to install, implement, and successfully get the latest version of software to work. Source: LogiGear Continuous Delivery The ability to get changes of all types—including new features, configuration changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly in a sustainable way. Source: Continuous Delivery DevOps ...
ALM (Application Lifecycle Management): A continuous process of managing the life of an application through governance, development and maintenance. ALM is the marriage of business management to software engineering made possible by tools that facilitate and integrate requirements management, architecture, coding, testing, tracking, and release management. Source Control: There are many source control tools, and ...
A list of terms that you'd easily encounter on your way to experience Software Testing, Software Development, and other IT concepts.
Virtualization: Virtualization (or virtualisation) is the simulation of the software and/or hardware upon which other software runs. This simulated environment is called a virtual machine . There are many forms of virtualization, distinguished primarily by computing architecture layer. Virtualized components may include hardware platforms, operating systems (OS), storage devices, network devices or other resources.
Agile Characterized by quickness, lightness, and ease of movement; nimble. Not necessarily characterized by fast speed. Agile software development is a software development practice based on iterative and incremental development where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages ...
Teaching: A formal process of bringing about awareness, conferring knowledge and instilling skills. Teaching focuses on knowledge. Training: Prepares an individual or group to execute a skill. The focus of training is skill development.
Agile – Characterized by quickness, lightness, and ease of movement; nimble. Not necessarily characterized by fast speed. Agile software development is a software development practice based on iterative and incremental development where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and ...
ACID Properties In computer science, ACID (atomicity, consistency, isolation, durability) is a set of properties of database transactions intended to guarantee data validity despite errors, power failures, and other mishaps. In the context of databases, a sequence of database operations that satisfies the ACID properties (which can be perceived as a single logical operation on ...
Extreme Programming (XP) XP is a software development methodology which is intended to improve software quality and responsiveness to changing customer cycles. A type of Agile software development, it advocates frequent “releases” in short development cycles, which is intended to improve productivity and introduce checkpoints at which new customer requirements can be adopted. Source: https://en.wikipedia.org/wiki/Extreme_programming ...
Behavior Driven Development (BDD) A software development methodology in which an application is specified and designed by describing how its behavior should appear to an outside observer. BDD combines the general techniques and principles of test-driven development (TDD) with ideas from domain-driven design and object-oriented analysis and design to provide software development and management teams ...
Closed System – In the context of embedded systems this relates closely to the engineering context where every input and every response (or output) can be known and can include a specific time. In addition the software is purposely designed for restricted access.
Check out the glossary for definitions on testing essentials, and DevOps related terms. Action Based Testing (ABT) A modular-design and action-driven test method that provides a systematic approach to increase the success of automated testing. Modular-design addresses the challenges of test planning and test case management through efficient test organization. Action-driven test development eliminates the ...

Leave a Reply

Your email address will not be published. Required fields are marked *

Stay in the loop with the lastest
software testing news

Subscribe