🌍 Backend Development · subject

Backend Development Testing, DevOps and Deployment Syllabus

The Testing, DevOps and Deployment syllabus for Backend Development in full: 6 chapters and 25 topics, every one listed below, plus 50 Testing, DevOps and Deployment flashcards with answers.

6Chapters
25Topics
50Flashcards

Testing, DevOps and Deployment syllabus: all 6 chapters

Expand any chapter to see its topics and sub-topics.

  1. Testing Strategies

    5 topics
    • Unit Testing
    • Integration Testing
    • End-to-End and API Testing
    • Mocking and Test Doubles
    • Test-Driven Development
  2. Containerization

    3 topics
    • Docker Fundamentals
    • Container Registries
    • Kubernetes Basics
  3. CI/CD Pipelines

    4 topics
    • Continuous Integration
    • Continuous Delivery and Deployment
    • Pipeline Tools
    • Deployment Strategies
  4. Cloud Platforms and Serverless

    4 topics
    • Cloud Providers (AWS, GCP, Azure)
    • Compute, Storage and Networking Services
    • Serverless Functions
    • Infrastructure as Code
  5. Observability and Monitoring

    5 topics
    • Logging and Structured Logs
    • Metrics and Dashboards
    • Application Performance Monitoring
    • Alerting and Incident Response
    • Health Checks and Readiness Probes
  6. Performance and Reliability Engineering

    4 topics
    • Load and Stress Testing
    • Profiling and Bottleneck Analysis
    • Graceful Degradation and Retries
    • Service Level Objectives (SLO/SLA)

Backend Development Testing, DevOps and Deployment flashcards — 50 questions with answers

  1. What is a unit test, and what is its defining scope?

    A unit test verifies the smallest testable piece of code (typically a single function, method, or class) in isolation from its dependencies. It should be fast, deterministic, and test one behavior at a time.

  2. What are the three phases of the Arrange-Act-Assert (AAA) pattern in a unit test?

    Arrange: set up the object under test and its inputs/dependencies. Act: invoke the method or behavior being tested. Assert: verify the actual result matches the expected outcome.

  3. How does integration testing differ from unit testing?

    Integration testing verifies that multiple components (e.g., service + database, or two modules) work correctly together, exercising real interactions and interfaces. Unit tests isolate one component and mock its collaborators.

  4. What is the 'test pyramid' and what does it recommend about test proportions?

    A model prescribing many fast, cheap unit tests at the base, fewer integration tests in the middle, and very few slow, expensive end-to-end tests at the top, to balance speed, cost, and confidence.

  5. What does an end-to-end (E2E) test validate?

    It validates a complete user workflow through the entire deployed system (UI, backend, database, external services) as a real user would experience it, confirming all layers integrate correctly.

  6. In API testing, what do the HTTP status code classes 2xx, 4xx, and 5xx signify?

    2xx = success (e.g., 200 OK, 201 Created); 4xx = client error (e.g., 400 Bad Request, 401 Unauthorized, 404 Not Found); 5xx = server error (e.g., 500 Internal Server Error, 503 Service Unavailable).

  7. What is contract testing in the context of API testing?

    A technique verifying that the messages exchanged between a service consumer and provider conform to a shared contract (agreed request/response schema), catching integration breakages without full E2E tests.

  8. Define the five categories of test doubles per Gerard Meszaros.

    Dummy: passed but never used; Stub: returns canned answers to calls; Spy: a stub that records how it was called; Mock: pre-programmed with expectations and verifies interactions; Fake: a working but simplified implementation (e.g., in-memory DB).

  9. What is the key behavioral difference between a stub and a mock?

    A stub provides canned responses to enable the test (state verification); a mock additionally has expectations about which calls should occur and fails the test if they are not met (behavior verification).

  10. What is 'mocking' and why is it used?

    Replacing a real dependency with a controlled substitute so the unit under test can be exercised in isolation, deterministically, and without slow or side-effecting external systems (databases, networks, APIs).

  11. What is the Red-Green-Refactor cycle of Test-Driven Development (TDD)?

    Red: write a failing test for desired behavior. Green: write the minimal code to make it pass. Refactor: clean up the code while keeping all tests passing. Repeat.

  12. In TDD, what is the strict rule about writing production code?

    You may not write production code until you have a failing test that requires it; you write only enough production code to make the failing test pass.

  13. What is code coverage, and why is high coverage not equivalent to good testing?

    Code coverage is the percentage of code (lines/branches/statements) executed by tests. High coverage only confirms code ran, not that assertions meaningfully verify correctness, so it can be high while tests are weak.

  14. What is the difference between line coverage and branch coverage?

    Line (statement) coverage measures which lines executed; branch coverage measures whether every possible outcome of each decision point (e.g., both the true and false paths of an if) was taken. Branch coverage is stricter.

  15. What is a Docker image versus a Docker container?

    An image is a read-only, layered template containing an app and its dependencies. A container is a runnable, isolated instance of an image with a writable layer added on top at runtime.

  16. What is a Dockerfile and what does the FROM instruction do?

    A Dockerfile is a text script of instructions to build an image. FROM specifies the base image that subsequent layers are built upon; it is (except for scratch) the first instruction.

  17. What is the benefit of a multi-stage Docker build?

    It uses multiple FROM stages so build tools and intermediate artifacts stay in earlier stages, and only the needed runtime artifacts are copied into a small final image, producing smaller and more secure images.

  18. What is the difference between the CMD and ENTRYPOINT instructions in a Dockerfile?

    ENTRYPOINT defines the fixed executable that always runs; CMD provides default arguments (or a default command) that can be overridden at 'docker run'. Combined, ENTRYPOINT is the command and CMD supplies default args.

  19. What is a container registry, and name three common examples.

    A container registry is a storage and distribution system for container images (repositories of tagged images). Examples: Docker Hub, Amazon ECR, Google Artifact Registry, Azure Container Registry, GitHub Container Registry (GHCR).

  20. What does an image tag like 'myapp:1.2.0' identify, and why avoid relying on 'latest'?

    The part after the colon is the tag, identifying a specific image version. 'latest' is just a mutable default tag that can point to different images over time, causing non-reproducible, unpredictable deployments.

Show the other 30 Testing, DevOps and Deployment flashcards
  1. In Kubernetes, what is a Pod?

    The smallest deployable unit in Kubernetes: one or more tightly coupled containers that share the same network namespace (IP/port space) and storage volumes, and are scheduled together on a node.

  2. What is the role of a Kubernetes Deployment?

    A controller that manages a ReplicaSet to maintain a desired number of Pod replicas and enables declarative updates, rolling updates, and rollbacks of the application's Pods.

  3. What is a Kubernetes Service and why is it needed?

    A stable network abstraction (fixed virtual IP/DNS name) that load-balances traffic to a dynamic set of Pods selected by labels, decoupling clients from ephemeral Pod IPs.

  4. Distinguish the Kubernetes Service types ClusterIP, NodePort, and LoadBalancer.

    ClusterIP: internal-only virtual IP (default). NodePort: exposes the service on a static port on every node. LoadBalancer: provisions an external cloud load balancer routing to the service.

  5. What is the Kubernetes control plane component responsible for scheduling Pods to nodes?

    The kube-scheduler, which assigns unscheduled Pods to suitable nodes based on resource requests, constraints, affinity/anti-affinity, and taints/tolerations.

  6. What does Continuous Integration (CI) mean?

    The practice of developers frequently merging code into a shared mainline, where each integration triggers an automated build and test run to detect integration problems quickly.

  7. What is the distinction between Continuous Delivery and Continuous Deployment?

    Continuous Delivery keeps every change automatically built, tested, and release-ready, but the final push to production is a manual decision. Continuous Deployment goes further, automatically releasing every passing change to production with no manual gate.

  8. What is a CI/CD pipeline?

    An automated sequence of stages (e.g., build, test, security scan, package, deploy) that code changes pass through from commit to production, providing fast feedback and repeatable releases.

  9. Name four common CI/CD pipeline tools.

    Jenkins, GitHub Actions, GitLab CI/CD, CircleCI, Travis CI, Argo CD, and Azure DevOps Pipelines are common examples.

  10. In GitHub Actions, what are 'workflows', 'jobs', and 'steps'?

    A workflow is an automated process defined in YAML triggered by events; it contains one or more jobs (units running on a runner, possibly in parallel); each job contains steps (individual commands or reusable actions run sequentially).

  11. What is a blue-green deployment strategy?

    Two identical production environments ('blue' live, 'green' idle) exist; the new version is deployed to green, tested, then traffic is switched from blue to green all at once. Rollback is instant by switching back.

  12. What is a canary deployment strategy?

    The new version is released to a small subset of users/servers first; if metrics stay healthy, traffic is gradually increased until 100%, limiting the blast radius of a bad release.

  13. What is a rolling deployment?

    Instances running the old version are incrementally replaced by the new version a few at a time, so the service stays available throughout with no full second environment required.

  14. How does a canary deployment differ from blue-green?

    Blue-green switches all traffic at once between two full environments; canary shifts traffic gradually to a small subset first and ramps up. Canary uses fewer extra resources but exposes some users to the new version during rollout.

  15. Name the three major public cloud providers and their common shorthand names.

    Amazon Web Services (AWS), Google Cloud Platform (GCP), and Microsoft Azure.

  16. What are the equivalent core virtual-machine compute services on AWS, GCP, and Azure?

    AWS: EC2 (Elastic Compute Cloud); GCP: Compute Engine; Azure: Virtual Machines.

  17. What are the equivalent object storage services on AWS, GCP, and Azure?

    AWS: S3 (Simple Storage Service); GCP: Cloud Storage; Azure: Blob Storage.

  18. Contrast object storage, block storage, and file storage.

    Object storage keeps data as objects with metadata in a flat namespace (e.g., S3), ideal for unstructured data. Block storage splits data into fixed blocks attached to VMs like a disk (e.g., EBS). File storage exposes a hierarchical shared filesystem (e.g., NFS/EFS).

  19. In cloud networking, what is a VPC?

    A Virtual Private Cloud: a logically isolated virtual network within a cloud provider where you define IP ranges, subnets, route tables, and gateways to control connectivity and security.

  20. What is the difference between a public subnet and a private subnet in a VPC?

    A public subnet has a route to an internet gateway so its resources can be reached from/reach the internet directly; a private subnet has no direct internet route, typically using a NAT gateway for outbound-only access.

  21. What is serverless computing / Functions as a Service (FaaS)?

    A model where you deploy individual functions that the cloud provider runs on demand, automatically scaling and billing only for actual execution time; you manage no servers. Examples: AWS Lambda, Google Cloud Functions, Azure Functions.

  22. What is a 'cold start' in serverless functions?

    The added latency incurred when a function is invoked and no warm execution environment exists, so the platform must provision a container, load the runtime, and initialize code before handling the request.

  23. What are two common limitations to remember about serverless functions?

    They have maximum execution timeouts (e.g., AWS Lambda's 15-minute limit) and are stateless between invocations, plus cold-start latency and constrained memory/compute per invocation.

  24. What is Infrastructure as Code (IaC)?

    Managing and provisioning infrastructure through machine-readable definition files (code) rather than manual processes, enabling versioned, repeatable, automated, and reviewable infrastructure changes.

  25. What is the difference between declarative and imperative IaC?

    Declarative IaC specifies the desired end state and the tool figures out how to reach it (e.g., Terraform). Imperative IaC specifies the explicit sequence of commands to execute to reach the state (e.g., a shell/Ansible procedural script).

  26. What is Terraform, and what is idempotency in IaC?

    Terraform is a declarative IaC tool using HCL to provision cloud resources. Idempotency means applying the same configuration repeatedly yields the same final state without unintended repeated changes.

  27. What are structured logs, and why are they preferred over plain-text logs?

    Structured logs record events as machine-parseable key-value data (typically JSON) rather than free-form text, making them far easier to search, filter, aggregate, and analyze programmatically.

  28. What do the standard log severity levels DEBUG, INFO, WARN, and ERROR indicate?

    DEBUG: fine-grained diagnostic detail for developers; INFO: normal operational events; WARN: unexpected but recoverable situations that may need attention; ERROR: failures where an operation could not complete.

  29. What are the 'three pillars of observability'?

    Logs (discrete timestamped event records), metrics (numeric measurements aggregated over time), and traces (end-to-end records of a request's path across services).

  30. Name common tools for collecting metrics and building dashboards, and define a key metric type.

    Prometheus (metrics collection/storage) with Grafana (dashboards) is a common pairing. A counter is a cumulative metric that only increases (e.g., total requests); a gauge is a value that can go up or down (e.g., current memory usage).

Backend Development Testing, DevOps and Deployment FAQ

What is in the Backend Development Testing, DevOps and Deployment syllabus?

Backend Development Testing, DevOps and Deployment is split into 6 chapters: Testing Strategies, Containerization, CI/CD Pipelines, Cloud Platforms and Serverless, Observability and Monitoring and Performance and Reliability Engineering. Together they contain 25 topics.

How many chapters are in Backend Development Testing, DevOps and Deployment?

6 chapters, containing 25 topics. The largest chapter is Testing Strategies, with 5 topics.

Are there flashcards for Backend Development Testing, DevOps and Deployment?

Yes — a 50-card Testing, DevOps and Deployment deck, printed in full in the flashcards section of this page and available in the Examius app with spaced repetition. The free plan covers one exam of your choice, including its flashcards; Examius Pro, a one-time purchase, unlocks every other exam and deck.