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 | |
|---|---|---|
| 1DEV_DB = "dev_sample_data" | ADEV_KEY != TEST_KEY != PROD_KEY | |
| 2PROD_ACCESS = ["ops_lead", "sys_admin"] | BOnly a small, named group can access production, so access to the live environment is restricted and controlled separately | |
| 3Code is promoted from development to testing to production only after it passes checks and is approved | Cif tests_passed and approved: deploy("production") | |
| 4Each environment has its own separate credentials, so a breach in one cannot be used to get into another | DCopies live customer data into the development environment, so real personal data is exposed to developers and mixes with untested code. Use sample or anonymised data instead. | |
| 5dev_db.copy_from("production_customers") | EDeploys untested development code straight to production, skipping testing and approval. Code should be promoted step by step through a controlled process. | |
| 6git push origin dev --deploy-to=production | FThe development environment uses fake or sample data, so no live customer data is exposed while developers work |
Complete each line of code by filling in the missing parts.
Shade in the letter of the line that contains an error.
Environment separation — Keeping development, testing and production apart so untested code and live data never mix, and access to each is controlled separately. It also helps contain a breach.IF environment = "development" THEN
data ← sampleDataIF userRole = "developer" THEN
productionAccess ← FALSEIF testsPassed AND approvedByLead THEN
deploy(build, "production")IF breachIn = "development" THEN
productionExposed ← FALSEASSERT NOT (devDbHost = prodDbHost)