Software testing is an essential component to a company or corporation's reputation. Without proper testing, companies and corporations become liable if anything should go wrong. Circumvention practices by businesses do not aid the company or corporation's success in both the short and long term. Through circumventing critical processes regarding software/program implementation, companies put themselves at risk for lawsuits from both customers and employees.
Software testing is an important examination for businesses and companies. It provides an understanding of risks, if any that are associated with software they are considering implementing. Software testing helps in the process of both validating and verifying that the particular programs meet the necessary requirements that warranted the creation of the software in the first place; that the software is up to code in terms of working as planned; and that the implementation of the software will satisfy the stakeholders and their mission. Software testing can be performed at any time during the implementation process. In the given scenario, it appears as if the proper steps associated with software testing are being ignored and overlooked. There are some ethical issues that pertain to this particular scenario regarding software testing that must be assessed.
Software testing is considered one of the primary means of assessing and determining whether it will be beneficial to the computer or network it will be running on. Testing remains an efficient means to assuring that the proper channels have been gone through before the program is launched to the particular business or corporation. Software testing is said to be both a broad and complex area given the type of software that is being tested (Luo, n.d.). In the scenario, the programming manager is trying to understand why the proper channels of the software program's testing have not been gone through. It can be reasoned that the programming manager has both pangs and reservations about the circumventing the controls but wants to retain his job, so he/she is not making an issue about it in spite of the qualms. The ethical argument here is that he/she is abiding by what he/she is being told, but the unethics of this is ignoring the potential dangers of control circumventing.
While software testing is important, there are controversies surrounding the testing aspects. This is due in part to the fact that there are no best practices associated with software testing; only practices that is unique to that particular circumstance ("Agile Isn't," 2013). The question can be asked as to whether this situation called for circumventing the traditional software testing route in the business? It can be said probably not given the apprehension that the programming manager had in executing the software program and proceeding as planned.
The reservations by the programming manager are not unwarranted as software testing is critical to a business. Software that is not properly tested (or in this case circumvented) can lead to a myriad of problems including: loss of money, for not rightly complying with the requirements associated with that particular software; loss of time, which is usually caused by a lengthy process that it took to develop the software and not assessing whether there was fault or failure associated with it; business reputation damage, which could potentially cause customers to lose confidence in the business and injury/death. The injury/death aspect can result in certain circumstances depending upon what kind of company the software will be executed in ("Why is Software Testing Important to a business?" n.d.).
Two of the most widely used techniques associated with software testing are inspections and walkthroughs. Walk-throughs and inspections share a common viewpoint but are quite different in their methodology. Walk-throughs are step by step whereas inspections are performed by a certain individual or individuals to examine if there are any errors associated with the software (Adrion et.al, 1982). It can be reasoned that the company that the programming manager works at typically does both techniques in their software implementation and testing. Thus, what happens if these techniques are not used in this scenario? Will the programming manager be liable if a problem arises from not testing the software? The answer is a more definitively yes due to the fact that the programming manager should test the programs. While following the directives of the senior manager is important, there unfortunately is more at stake here than just what can be considered an ordinary execution of programs. As aforementioned, the company's reputation is at stake, especially depending upon the type of business the programming manager works in and whether the implementation of the software-defined networks (if not checked) can cause serious risks to other employees.
There are several liability issues when looking at circumventing software/program testing. Companies can be sued for a variety of reasons including criminal, intentional tort, strict liability and negligence. Kaner, Falk & Nguyen (1993) states that one of the more normative factors associated with why companies often land in court pertains to negligence. Questions are usually asked by the presiding judge in the case such as "did the company have actual knowledge of the problem?, how carefully did the company perform its safety analysis?, how well designed is the program for error handling?, how does the company handle customer complaints?, what level of coverage was achieved during testing? [and] what does the documentation say about the product?" (Kaner, 1997). If any of these questions are asked in court by the judge, the company is in trouble because they circumvented the standard operating procedure associated with software testing. The senior manager essentially told the programming manager to proceed as usual with the implementation of the software in spite of the fact that the usual procedures were being circumvented. If anything happens in the company of a negative nature with that software in place, the company will be liable and would without hesitation, be sued for negligence.
The overall goal of software testing is to assure quality. Organizations spend significant amount of their resources on ensuring that undesirable events are avoided. Software testing also allows for an evaluation of improving said software. If there is no viable testing of the software utilizing any of the standard techniques associated with quality assurance, that inevitably creates a series of problems including cost overruns, scheduling delays as well as the aforementioned problems associated with bad problem leading to damaged reputations. While nothing is concrete in the area of ensuring problems do not occur, not testing is not good business ethics.
Software testing is the crux of a developer/programming manager at a business or organization. There are a plethora of methods that can be performed to apply an analysis of the software that has been scheduled to be used across the company networks. In the given scenario, the programming manager has in essence taken responsibility for not testing the software him/herself properly and taking the word of the senior manager. While that is admirable in one respect, the responsibility will fall in the hands of the programming manager's reputation as well as the company's should anything happen as a result of the lack of testing that took place. Circumvention does not absolve any potential liability that may result from the methodology both managers took regarding ensuring that the program had adequate controls.
Adrion, W. R., Branstad, M. A., & Cherniavsky, J. C. (1982, June). Validation, Verification, and Testing of Computer Software. Computing Surveys, 14(2), 159-192.
Agile Isn't. (2013). Retrieved from Technicat,LLC. website: http://drupal.technicat.com/writing/process.html
Legal issues related to software quality. (1997). Retrieved from Cem Kaner, J.D., Ph.D. website: http://www.badsoftware.com/asqtalk.html
Luo, L. (n.d.). Software Testing Techniques: Technology Maturation and Research Strategy (Class Report for 17-939A). Retrieved from Carnegie Mellon University website: http://mcahelpline.com/tutorials/testing/testing.pdf
Why is Software Testing Important to a business? (n.d.). Retrieved from Software Testing website: http://www.softwaretesting.com.au/Why_is_Software_Testing_important.php