# How to Run Tests for AI For Beginners: A Complete Guide to Validating Notebooks and the Quiz App

> Learn how to run tests for AI For Beginners by manually validating Jupyter notebooks and testing the Vue quiz app. This guide simplifies AI validation for beginners.

- Repository: [Microsoft/AI-For-Beginners](https://github.com/microsoft/AI-For-Beginners)
- Tags: how-to-guide
- Published: 2026-08-02

---

**AI For Beginners does not include a traditional automated test suite; instead, you validate the repository by executing Jupyter notebooks manually and verifying the Vue quiz application through local serving and linting.**

The [microsoft/AI-For-Beginners](https://github.com/microsoft/AI-For-Beginners) repository is an educational curriculum rather than a software library. Its testing approach reflects this purpose: notebooks serve as executable specifications, and the quiz app relies on manual UI validation. This guide covers the complete workflow for running tests for AI For Beginners, from environment setup through verification.

## Test the Jupyter Notebooks

The core educational content lives in Python notebooks under `lessons/`. Each notebook contains its own validation logic through executed cells that print metrics, visualize outputs, and raise exceptions on failure.

### Step 1: Create the Conda Environment

The [`environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/environment.yml) file pins exact dependency versions for TensorFlow, PyTorch, Keras, OpenCV, and other libraries used throughout the curriculum.

```bash
conda env create -f environment.yml
conda activate ai4beg

```

This ensures reproducible execution across different systems, as noted in the repository's setup documentation.

### Step 2: Launch Jupyter and Run Cells

Start Jupyter Lab or Notebook from the repository root:

```bash
jupyter lab

```

Navigate to any lesson folder under `lessons/` and execute every cell sequentially. According to [`AGENTS.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/AGENTS.md), each notebook's cells act as "executable specifications"—if a cell raises an exception or produces unexpected output, that lesson has failed its test.

Key validation indicators within notebooks include:

- Printed model accuracy scores
- Generated visualizations (confusion matrices, training curves)
- Assertion cells that verify expected tensor shapes or values

## Test the Vue Quiz Application

The interactive quiz app resides in `etc/quiz-app/` and requires manual UI verification plus optional static analysis.

### Manual UI Testing

```bash
cd etc/quiz-app
npm install
npm run serve

```

This launches a development server at `http://localhost:8080`. Navigate through quiz questions to verify:

- Questions render correctly
- Answer selection functions
- Progress tracking works
- Score calculation displays properly

### Static Analysis and Linting

```bash
npm run lint

```

This runs ESLint with auto-fix enabled, catching style errors and basic code issues. For a production-ready build, use:

```bash
npm run build

```

The generated `dist/` folder can be served locally or deployed to Azure Static Web Apps.

## Why No Automated Test Suite Exists

The [`AGENTS.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/AGENTS.md) file explicitly states that the curriculum "focuses on learning content rather than software testing." This architectural decision reflects the repository's educational mission:

- **Notebook cells** are designed to be run interactively, with outputs inspected by learners
- **Manual verification** encourages deeper engagement with the material
- **Self-contained lessons** reduce maintenance overhead across 24+ separate topics

Traditional unit or integration tests would add complexity without improving the learning experience, given that notebooks already fail loudly on execution errors.

## Key Files for Testing Reference

| File | Purpose |
|------|---------|
| [`environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/environment.yml) | Exact dependency specification for reproducible notebook execution |
| `lessons/**/*.ipynb` | Core educational content—each notebook is its own test case |
| [`etc/quiz-app/README.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/etc/quiz-app/README.md) | Quiz app setup, serve, build, and lint instructions |
| [`AGENTS.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/AGENTS.md) | Architecture overview confirming absence of traditional test suite |

## Troubleshooting Common Issues

### Notebook Kernel Failures

If cells fail to execute, verify your Conda environment is activated and matches the Python version specified in [`environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/environment.yml). Reinstall with:

```bash
conda env update -f environment.yml --prune

```

### Quiz App npm Errors

Clear `node_modules` and lock files if dependencies conflict:

```bash
cd etc/quiz-app
rm -rf node_modules package-lock.json
npm install

```

### CUDA/GPU Warnings

Many notebooks include optional GPU acceleration. CPU-only execution is fully supported; warnings about missing CUDA can be safely ignored for testing purposes.

## Summary

- **AI For Beginners testing is manual by design**—no pytest, jest, or similar frameworks are included
- **Validate notebooks** via `conda env create -f environment.yml` → `jupyter lab` → execute all cells
- **Verify the quiz app** through `npm run serve` for UI checks and `npm run lint` for static analysis
- **Each notebook's output** serves as its own pass/fail indicator—exceptions and incorrect results signal test failure
- **The repository's educational focus**, documented in [`AGENTS.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/AGENTS.md), explains this intentional departure from conventional software testing practices

## Frequently Asked Questions

### Does AI For Beginners have unit tests?

No. According to [`AGENTS.md`](https://github.com/microsoft/AI-For-Beginners/blob/main/AGENTS.md), the repository "focuses on learning content rather than software testing." The Jupyter notebooks themselves function as executable verification—if cells run without exceptions and produce expected outputs, the lesson passes.

### How do I know if a notebook test failed?

A notebook fails its test if any cell raises an exception, produces incorrect output, or generates warnings about deprecated APIs. Successful execution means all cells complete and final output cells show expected metrics or visualizations.

### Can I automate notebook testing in CI/CD?

Technically possible with tools like `nbmake` or `nbconvert --execute`, but not officially supported. The [`environment.yml`](https://github.com/microsoft/AI-For-Beginners/blob/main/environment.yml) dependencies are heavy (full TensorFlow/PyTorch stacks), making automated runs resource-intensive and slow.

### What Node.js version works with the quiz app?

The `etc/quiz-app/` directory uses Vue 2.x. Node.js 14.x or 16.x LTS versions are recommended for best compatibility with the existing [`package.json`](https://github.com/microsoft/AI-For-Beginners/blob/main/package.json) dependencies.