Abstract
My capstone research addresses the tendency for companies to cut corners when testing their software. Defects are incredibly numerous, an unavoidable problem when it comes to developing software, and it is imperative that developers undergo necessary procedures and strategies to eliminate these bugs in their code. Particularly when it comes to technology like healthcare software, people’s lives can be at stake. Thus, software companies need to be rigorously testing their software, and making sure any possible defects will not lead to any user harm. During a summer internship, I implemented a specific technology to address this problem is automated testing. Software testing is often filled with mundane, routine tasks. Conducting the same sort of actions over and over again, to be absolutely certain that every aspect of a feature works as intended. When this is done by a human, it can be incredibly boring, leading to that person feeling like they’re wasting their time, and because of that, potentially making more errors. To solve this problem of mundanity, automated testing takes the simpler, routine tests, and conducts them with a machine. This allows one to just click a button and run a test suite before every update, significantly reducing the workload for employees at the company and the number of defects in the software.
It is important to consider the human and social dimensions of this technology in order to properly determine the effect automated testing will have on the software industry. One can look at preexisting theories of technical systems to discern how to best implement and utilize automated testing to its highest potential. The theory that will be most useful to analyze this technology is Bjiker’s Social Construction of Theory (SCOT). This theory describes how each technology is formed by the social groups surrounding it. Thus, we can look at the social groups surrounding software testing to see how it is transformed by the parties invested into the technology, particularly groups involved in regulating code. For my research, I plan to look at seven of the major software policy documents, performing a content analysis to determine the effect and impact these documents have had on the world of software testing. In concert with automated testing, this research can help to provide a holistic solution to the testing problem. By both looking at the root of the problem, the social groups surrounding the technology, and providing a potential technology to improve the problem, we can begin to see a more complete strategy that could improve this broken system. We can also use the research to understand how to best apply automated testing, rather than blindly inserting into a testing system without ample information. Thus, by reviewing a case analysis of software regulation and looking at automated testing, we will begin to see how to best tackle this software testing problem.