Tip: Choose Save as PDF in the print dialog to download. Use A4 paper size.
Shade in the A or B circle for each question.
Draw a line connecting each item on the left to its match on the right.
| Left column | Right column | |
|---|---|---|
| 1DB_HOST = "live-db.company.com" # used by dev and test | ACode is deployed to production even when tests have failed, because testing and production are not separated. Untested or faulty changes go live. Deploy only when tests pass, and test in a separate environment first. | |
| 2git push origin main # deploys straight to live server | Bdev_user.role = "production_admin" | |
| 3Developers have production access, so one stolen developer account or one slip can damage or expose every system and all live data. | CUsing one shared environment means a single breach or error exposes all code and live data. Fix it by using separate development, testing and production environments with their own access controls. | |
| 4Live customer records are copied into testing, so real personal data is exposed to staff and to any bugs or attacks in the test code. | DUntested changes go live immediately, so bugs or vulnerabilities reach real users with no separate testing stage. | |
| 5if (testsPassed == false) { deploy("production") } | EDevelopers and testers connect to the live production database, so live data is used for testing and could be changed or leaked. | |
| 6environment = "shared" # dev, test and live together | Ftest_data = load("live_customers.csv") |
Complete each line of code by filling in the missing parts.
Shade in the letter of the line that contains an error.
combined environment — One shared environment used for development, testing and production, so untested code and live data mix and mistakes or attacks can reach real users and data.testDatabase ← liveDatabasedeveloper.saves(newCode)
production ← newCodeGRANT ALL ON liveData TO developerIF breach(sharedServer) = TRUE THEN
exposed ← dev + test + livecombinedEnvironments ← 1
separatedEnvironments ← 3