Do Software Testers Have Special Ethical Obligations?

Sometimes software testers think about cybersecurity, i.e., issues involving software reliability and risk from the vantage point of attacks on computer systems from external sources, such as hackers. But there is another vantage point from which we must analyze the potentiality of unreliable software—from “inside” sources. That is, we must be concerned with issues that can be traced to the coding and testing of software because buggy software has in the past been implicated with harmful consequences, as the following video illustrates.

 

Consequences imply ethics, a study of moral behavior and how one should act. As a branch of professional ethics, which refers to the standards of behavior expected of professionals, software testing ethics can be understood as analyzing issues of ethical responsibility for professional software testers.

Some may question whether those in software testing are true “professionals." Most working in traditional professions such as medicine and law are self-employed; most software testers are employed by corporations. Robert N. Barger argues in Computer Ethics: A Case-Based Approach that two criteria characterize a profession: expert knowledge, described as “special technical knowledge that is certified by some authority and is not possessed by the layperson,” and autonomy, described as “independence in conducting one’s professional practice.”

The work of a professional has the potential to impact society at large either positively or negatively. Based on these criteria, software testers are professionals, possessing special technical knowledge, working autonomously, thinking on one’s own, and having great potential to impact many people.

Some might argue that the same basic ethical rules apply in both professional and nonprofessional contexts—ethics is ethics. Other ethicists believe that all professionals, regardless of their practice, have special moral obligations. So, do software testers have special moral obligations?

A justification for answering yes to that question can be found in part by looking at two classifications of software: safety-critical systems and social-impact software. In The Ethical Software Engineer, Don Gotterbarn argues that software teams working on safety-critical systems have opportunities to do good or cause harm, enable others to do good or cause harm, and influence others to do good or cause harm.

Herman T. Tavani points out in Ethics and Technology that search engine companies have profound societal impact, selectively controlling access to information that can be used to make decisions and gain knowledge. These examples imply special responsibilities not only for the companies involved but also for testers, who witness the state of the software and are responsible for illuminating the implications of its design and behavior.

Ethics as a rigorous discipline has the capacity to inform human judgment. The systematic study of ethics as individuals and as a community can help professional testers frame the human, ethical, and technical issues of the problems we face, formulate the right questions, make correct judgments, and put them into action.

Up Next

About the Author

TechWell Insights To Go

(* Required fields)

Get the latest stories delivered to your inbox every month.