Professional codes of ethics for developers and testers

Tip: Choose Save as PDF in the print dialog to download. Use A4 paper size.

Professional codes of ethics for developers and testers

Name:
Date:
Class:

Quick Questions

Shade in the A or B circle for each question.

1. A professional code of ethics sets expected conduct for people in a profession, such as developers and testers.
A False
B True
2. Which organisation publishes a Code of Ethics that Australian IT professionals are expected to follow?
A The Australian Computer Society (ACS)
B The Australian Taxation Office (ATO)
3. During a penetration test, you see a client's customer records. What does the code of ethics expect you to do?
A Keep the data confidential and use it only for the test
B Share it with friends as an example of weak security
4. Your cousin owns a company that is bidding for a contract your employer is judging. Which action fits the code of ethics?
A Keep quiet and help your cousin win
B Declare the conflict of interest to your employer
5. A tester finds a serious flaw that could expose users' data. The manager says to ignore it so the release date is met. Which choice follows the code of ethics?
A Report the flaw, because the public interest and avoiding harm come first
B Ignore the flaw, because meeting the deadline matters most

Match the Pairs

Draw a line connecting each item on the left to its match on the right.

Left columnRight column
1code of ethics Aif (client_data == private): do_not_share()
2ACS Code of Ethics BThe Australian Computer Society's standard of conduct for IT professionals, including the public interest and honesty
3A tester must keep client data confidential and not share it with outsiders Cif (conflict_of_interest): tell_client()
4A developer must declare a conflict of interest, such as owning shares in a rival company DA set of rules for professional conduct, such as honesty, avoiding harm and acting in the public interest
5A tester finds a flaw, then sells the client's private data to a friend EThis breaks client confidentiality and could cause harm. A tester must keep client data private and use it only for the agreed job.
6A developer hides that her brother owns the supplier she recommends to the client FThis is an undeclared conflict of interest. She should tell the client about it so that the advice stays honest.

Definitions

code of ethics

Fill in the Blanks

Complete each line of code by filling in the missing parts.

1.
shareClientData ← _____
2.
IF hasConflict THEN ______ "Conflict declared to client" END IF
3.
IF harmToPublic ____ OUTPUT "Report the concern" END IF
4.
conflict ← hasShares __ isRelated
5.
IF bugFound _ TRUE THEN OUTPUT "Report the bug honestly" END IF

Spot the Error

Shade in the letter of the line that contains an error.

Question 1
A IF tester sees client data
B share it on social media
C do not share with others
D END IF
Question 2
A honest ← FALSE
B IF test_fails THEN
C report the failure
D END IF
Question 3
A FOR each feature in app
B ignore risk of harm to users
C IF harm THEN redesign it
D NEXT feature
Question 4
A client ← Acme
B IF dev owns rival shares THEN
C declare conflict to client
D hide it and keep working
E END IF
Question 5
A IF release risks public safety
B release anyway to meet date
C ELSE
D release on schedule

Answer Key

Professional codes of ethics for developers and testers
Section A: Quick Questions
Q1
B — True
Q2
A — The Australian Computer Society (ACS)
Q3
A — Keep the data confidential and use it only for the test
Q4
B — Declare the conflict of interest to your employer
Q5
A — Report the flaw, because the public interest and avoiding harm come first
Section B: Match the Pairs
Q1
code of ethics → A set of rules for professional conduct, such as honesty, avoiding harm and acting in the public interest
Q2
ACS Code of Ethics → The Australian Computer Society's standard of conduct for IT professionals, including the public interest and honesty
Q3
A tester must keep client data confidential and not share it with outsiders → if (client_data == private): do_not_share()
Q4
A developer must declare a conflict of interest, such as owning shares in a rival company → if (conflict_of_interest): tell_client()
Q5
A tester finds a flaw, then sells the client's private data to a friend → This breaks client confidentiality and could cause harm. A tester must keep client data private and use it only for the agreed job.
Q6
A developer hides that her brother owns the supplier she recommends to the client → This is an undeclared conflict of interest. She should tell the client about it so that the advice stays honest.
Section C: Definitions
Q1
code of ethics — A set of rules for professional conduct, such as the ACS Code of Ethics: be honest, keep client data confidential, avoid harm, declare conflicts of interest and act in the public interest.
Section D: Fill in the Blanks
Q1
shareClientData ← FALSE
Q2
IF hasConflict THEN OUTPUT "Conflict declared to client" END IF
Q3
IF harmToPublic THEN OUTPUT "Report the concern" END IF
Q4
conflict ← hasShares OR isRelated
Q5
IF bugFound = TRUE THEN OUTPUT "Report the bug honestly" END IF
Section E: Spot the Error
Q1
B — Client confidentiality is part of a code of ethics. Data seen while testing must be kept confidential, not shared. The line should be: keep it confidential.
Q2
A — A code of ethics such as the ACS Code requires honesty. The variable should be TRUE, because a professional must act honestly.
Q3
B — Avoiding harm is a core ethical duty. Developers must assess each feature for harm to users, not ignore it. The line should be: assess risk of harm to users.
Q4
D — A conflict of interest must be declared, so the client can decide what to do. Hiding it breaks the code of ethics. The line should let the client decide the next step.
Q5
B — The code of ethics says to act in the public interest. If a release risks public safety, the professional should delay it and fix the problem, not release it anyway.