Computers, software, and technology. In terms of understanding the ins and outs of these three subjects, we will need to dive a little deeper in the lives of college students in computer science. There are those who speak the language of computers, software, and technology, and those who couldn’t tell one piece of technology from another. Regardless of how tech savvy someone is, one fact remains: computers, software, and technology are built, programmed, and meant to run in a particular way. Any type of small discrepancy in the foundation of a particular piece of language or software, it can produce an enormous problem to the overall program, computer, or piece of technology. In many cases, discrepancies within software render the running program useless until fixed.
In order to ensure that software programs function properly, software programmers or students that major in computer science take certain measures to check, or test their written software. The popular term of software regression testing refers to any type of software testing that tries to uncover any errors in the written software. Regression testing is most commonly done during the initial phases of new and developing software as well as after a particular piece of software has been modified. In other words, the testing is done as a means of reassuring the creators of the software as well as those selling and using it that there are no additional errors introduced into the piece of software after the modifications have been made.
In general the overall process of software regression testing is both long and laborious. Because software can be affected by even the smallest discrepancies in the written code, such as C unit test, a regression test must be run every single time a new line of programming code is introduced to the software. Although it may not seem too hard to run a simple software test, one must realize that software is constantly being rewritten, and thus, new tests must be implanted constantly. To provide a better idea as to the costliness of regression testing, Fred Brooks states:
“Also as a consequence of the introduction of new bugs, program maintenance requires far more system testing per statement written than any other programming. Theoretically, after each fix one must run the entire batch of test cases previously run against the system, to ensure that it has not been damaged in an obscure way. In practice, such regression testing must indeed approximate this theoretical idea, and it is very costly.”
Besides looking for errors, the existence of software regression tests aims to achieve another goal in programming software. Software regression tests also have the use of tracking the quality of a particular program’s output. In other words, a software regression test would typically track the size of code for the software, simulation time to run the software, and overall runtime of the software.
Recently, there have been very helpful and time saving developments in the field of software regression testing. New programs, called test suites have been created to do a job that in previous years, had to be done manually.
This is a small glimpse of the lives of a computer science major at a community college. Although very popular, the language these students speak is at times a bit foreign for most of the population in the United States and in the Bay Area.