← VCE Software Development U4O2

Development, testing and production environments

The three environments software moves through: development is where code is written, testing is where it is checked with test data, and production is where real users use live data.

Understanding Development, testing and production environments in VCE Software Development U4O2

What it does: Testing uses a separate database filled with fake data, so any bugs or leaks do not expose real people's information. Promoting code means moving it from development to testing to production, and it should only move forward once the tests pass. Production is the live environment. Real users use the software and it holds real, live data.

Common mistakes: The testing environment must use test data, not live data. Line 2 should be DB ← 'test_data.db' so real user records are not put at risk. Code is released to real users in the production environment. Line 3 should release to 'production', not back to 'development'.

Class: _____________________  ·  Name: _____________________  ·  Date: _________

Free printable worksheet with full answer key — or add this module to a class and your students practise it interactively.

This module's key terms are also in a printable crossword (Modules 1–22) and word search (Modules 1–47).

Take this worksheet further — free with Cloodit

Each concept is reinforced from every angle — learned, then applied, then tested.

Learning
Duo
Which environment is where developers write and change code?
ProductionDevelopment
Matches
# Testing environment db = "live_customer_db"
↓
The testing environment is connected to live data. Testing should use fake test data so real customer information is not exposed if something goes wrong.
Applying
Meanings
Term
development, testing and production
Meaning
The three environments software moves through: development is where code is written, testing is where it is checked with test data, and production is where real users use live data.
Practice
environment ← "development"
Testing
Gaps
environment = ""
Check Answer
Spots
1ENV ← 'testing'
2DB ← 'live_data.db'

Cloodit turns curriculum-aligned coding content into journeys students work through one biome at a time.

The 'Blue-Ringed Octopus' badge — Reef Legend, one of Cloodit's 106 collectible badges
Students earn collectable badges

Over 100 of them, across seven natural biomes.

Study Buddy
Students build a real study resource

Turns their work into revision material ready for Flash Cards and Exam study.

Diamond Dash — one of Cloodit's live, competitive Sprint games
Students lock in with Sprints

Live, competitive practice for the start of the lesson or a teacher-led lesson finisher.

A Cloodit certificate of achievement, ready to personalise and print
Custom printable certificates

Honour your top performers, or encourage a student who's trying hard — ready to print in seconds.

Quick Questions

1. Which environment is where developers write and change code?
A. Production
B. Development ✓
Code is written and changed in the development environment. Production is where real users run the finished software.
2. Which environment is used to check that the software works and is secure before release?
A. Testing ✓
B. Development
The testing environment is where the software is checked for bugs and security flaws before it reaches real users.
3. Which environment holds real users and live data?
A. Production ✓
B. Testing
Production is the live environment. Real users use the software and it holds real, live data.
4. What kind of data should be used in the testing environment?
A. Made-up test data that contains no real personal details ✓
B. A copy of real customer records so the tests are realistic
Test data is made up or anonymised. Using real customer records in testing puts live data at risk of a breach.
5. Which describes the correct order that code is promoted through?
A. Development, then production, then testing
B. Development, then testing, then production ✓
Code is promoted from development to testing and only moves to production once it has passed testing.

Match the Pairs

ENV = "development" → The environment where developers write and change code, using test data so nothing real is put at risk
ENV = "production" → The live environment where real users run the software and real data is stored and processed
The testing environment checks that the software works and is secure using fake test data, not real customer records → db = "test_db" # fake customer data
Code is promoted from one environment to the next only after it has passed the checks at the current stage → if tests_passed: deploy("production")
# Testing environment db = "live_customer_db" → The testing environment is connected to live data. Testing should use fake test data so real customer information is not exposed if something goes wrong.
# Developer edits code directly deploy("production", untested_code) → Untested code is pushed straight into production, skipping the development and testing environments.

Key Term

development, testing and production
The three environments software moves through: development is where code is written, testing is where it is checked with test data, and production is where real users use live data.

Fill in the Blanks

1. # Developers write and change code here environment = "development"
Hint: Type the name of the environment where code is first written.
2. if environment == "testing": runTests()
Hint: Type the operator that checks whether two values are equal.
3. # Real users and live data use this stage environment = "production"
Hint: Type the name of the environment that real users access.
4. environment = "production" data = "live"
Hint: Type the word describing the real data that production uses, as opposed to test data.
5. # Code is moved on to be checked promote(code, "development", "testing")
Hint: Type the environment that code is promoted to after development.

Spot the Error

Question 1
A ENV ← 'testing'
B DB ← 'live_data.db'
C IF ENV = 'testing' THEN
D connect(DB)
E END IF
Line B — The testing environment must use test data, not live data. Line 2 should be DB ← 'test_data.db' so real user records are not put at risk.
Question 2
A write(code, 'development')
B check(code, 'testing')
C release(code, 'development')
Line C — Code is released to real users in the production environment. Line 3 should release to 'production', not back to 'development'.
Question 3
A env ← 'production'
B data ← load_test_data()
C show_to_users(data)
Line B — Production is where real users work with live data. Line 2 should load live data with load_live_data(), because test data is only for testing.
Question 4
A IF env = 'development' THEN
B debug ← FALSE
C ELSE
D debug ← FALSE
E END IF
Line B — Developers switch debugging on in the development environment so they can find faults while writing code. Line 2 should be debug ← TRUE, with debugging off in production.
Question 5
A deploy(build, 'testing')
B results ← run_tests(build)
C IF results = 'pass' THEN
D deploy(build, 'development')
E END IF
Line D — Once the tests pass, the build is promoted to production. Line 4 should be deploy(build, 'production'), not back to development.

Student with a class code? Join your class →