AI Overview

A concise primer on the fundamentals of artificial intelligence and its relevance to modern software testing workflows.

What is Artificial Intelligence?

  • Artificial intelligence (AI) is a branch of computer science focused on creating intelligent agents—systems that can reason, learn, and act autonomously.
  • AI has existed for decades, but recent advances in machine learning have accelerated progress by enabling systems to learn from data without explicit programming.
  • At its core, AI is about machines acquiring and applying knowledge and skills, similar to how humans learn and adapt.
  • AI systems are engineered, not naturally occurring like human intelligence.
  • AI is also the name of the field that studies how to design and build these intelligent systems.

What is an AI Agent?

An AI Agent is a program that:

  • Observes its environment (inputs, tools, data, APIs).
  • Decides what to do using rules, models, or AI reasoning.
  • Acts by performing tasks, calling tools, or interacting with systems.
  • Learns or adapts over time (in more advanced agents).

An AI Agent can:

  • Run tests automatically
  • Analyze logs and errors
  • Generate or update test cases
  • Interact with tools like Playwright, Jira, GitHub, Postman, or Appium
  • Help orchestrate complex workflows end-to-end

AI in Everyday Life

  • AI is used in smartphones, search engines, Mars rovers, and even beating humans at games like Go and chess.
  • AI has the potential to revolutionize many aspects of our lives. For example, it is already being used to develop self-driving cars, medical diagnosis systems, and personalized education tools.
  • There are also concerns about the potential risks of AI, such as job displacement and the development of autonomous weapons.
  • Today's AI is 'narrow' or 'weak' – it’s good at specific tasks, but can't generalize (like humans can).

Types of AI

1. Narrow AI (Weak AI)

AI designed to perform a specific task—like chatbots, recommendation systems, or image classifiers. Most AI systems today fall into this category.

2. General AI (Strong AI)

A hypothetical form of AI that can understand, learn, and perform any intellectual task that a human can. This does not exist yet.

3. Superintelligent AI

An advanced form of AI that surpasses human intelligence in all aspects, including creativity, reasoning, and problem-solving. Purely theoretical at this stage.


Types of AI by Capability

4. Reactive Machines

Basic AI that responds to inputs but has no memory (e.g., early chess-playing AIs).

5. Limited Memory AI

AI that learns from historical data (e.g., modern machine learning, self-driving car systems). Most current AI models fall here.

6. Theory of Mind AI

AI that can understand emotions, beliefs, and social interactions. Still in research.

7. Self-Aware AI

AI with self-consciousness and sentience. Purely hypothetical.


AI Technologies

Machine Learning

A leading AI approach where algorithms learn patterns from data and use them to make predictions or decisions without being explicitly programmed.

Other AI Techniques

Beyond machine learning, AI also includes methods such as fuzzy logic, search algorithms, expert systems, and reasoning techniques, each designed to solve different types of problems in intelligent ways.


Developing AI Systems

AI Development vs. Traditional Software

AI development focuses on automatic generation of machine learning models from training data, rather than manual coding.

The Machine Learning Workflow

  1. Gather requirements
  2. Collect training data
  3. Utilize a machine learning algorithm
  4. Train the model
  5. Deploy the generated model

Data Scientists

AI specialists similar to traditional developers, using AI-specific frameworks.

AI Development Frameworks

  • Open-Source Frameworks: Apache Net, CNTK, TensorFlow, Keras, PyTorch, Scikit-learn
  • Commercial Frameworks: IBM Watson Studio

Machine Learning Hardware

Training vs. Prediction

Hardware needs differ between training models (resource intensive) and running models.

Processor Characteristics

  • AI systems often make approximate decisions, reducing the need for high-precision arithmetic.
  • AI is data-centric, so processors optimized for large data structures are beneficial.
  • Deep neural nets benefit from parallel processing, making GPUs suitable.

Hardware Options

  • General-purpose CPUs: Good for learning AI basics and small models.
  • GPUs: Ideal for many machine learning applications.
  • AI-specific Processors: Optimized for large-scale, resource-intensive AI tasks.
  • Neuromorphic Processors: Emerging architecture mimicking human brains.

AI as a Service (AIaaS)

  • Outsourcing AI Development: Using pre-built AI services or access to specialized hardware.
  • Benefits: Access to larger datasets, expertise, and cost-effectiveness compared to building in-house.
  • Examples: Image recognition, translation services, chatbots.
  • Considerations: AIaaS often has limited service level agreements and shouldn't be relied on for mission-critical systems.

AI Standardization

  • Relevant Standards Bodies: ISO, IEC, ITU, national bodies, industry bodies
  • AI in Non-Safety Systems:
    • Few existing standards specifically for AI
    • GDPR is relevant for AI systems handling personal data
  • AI in Safety-Related Systems:
    • Use of AI for safety-critical decisions is on the rise.
    • ISO 26262 (for automotive systems) doesn't yet cover AI specifically.
    • Efforts are underway to develop new AI-specific safety standards.