Magazine article National Defense

Defense Needs Better Ways to Test Software

Magazine article National Defense

Defense Needs Better Ways to Test Software

Article excerpt

Developing software for the Defense Department has many inherent challenges, not the least of which is testing. Traditional software testing for defense systems consumes up to 50 percent of development resources. Yet, it is only during this phase that engineers can be assured systems are ready for deployment. Because of the critical nature of military systems, corners cannot be cut.

In brief, the traditional approach to software testing involves manually creating and running a wide range of tests at all stages of development to ensure that the system requirements have been successfully incorporated. Additionally, tests must be run to confirm that new software works properly with the software and systems already in place.

With the current manual testing approach, tests are typically documented using a word processor or spreadsheet application, with a step-by-step procedure describing operator actions or input and expected response. Test procedures also describe how the system is required to be configured prior to conducting the test. The pass/fail status of each step is usually written down by the test engineer on a printed hard copy of the test procedure. Every time a test is run, the test engineer executes each step of the test procedure and records the results. It is a labor-intensive process.

Innovations in software testing technology provide alternatives to current testing methods. A case in point is automated software testing.

As with manual processes, automated software testing requires engineers to design tests that support the verification of requirements. Automated testing is also similar to manual testing in that the test program is dependent on the design of high-quality tests.

Automated software testing enables the operator actions or input, along with the expected response, to be digitally captured or recorded. When the test engineer executes an automated test, the technology sends the digitally captured operator actions and input to the system under test and evaluates the response against the expected results. A report is automatically generated to document the results. In order to execute the test, the engineer simply launches the automated test and is not required to manually conduct each step.

In order to transform testing, this new technology must be embraced.

Change is slow. Sometimes the best ideas take years to catch on. Engineers engaged in software development may believe, and rightly so, that they are part of a highly progressive industry. But even there one finds resistance to change.

Progress always involves risk. That is nothing new. In the early 1900s, Henry Ford introduced the assembly line to automobile production. It was novel. It was threatening. The unions didn't like it and were worried it would lead to job loss. But this early form of automation boosted production and cut assembly time in half, resulting in improved efficiency, better quality and increased affordability. Within five years, Ford's process revolutionized the automobile manufacturing industry.

Fifty years later, George Devol designed the first programmable robotic arm. In the early 1960s, this device transported die castings in a General Motors plant in New Jersey. Initially seen as a curiosity, robots also prompted speculation. Would they eventually replace the common worker? It was too early to tell; regardless, robotics soon became another important advance for the manufacturing sector.

As a nation, we say that progress in science, technology, engineering and math (STEM) is crucial to America's future. …

Search by... Author
Show... All Results Primary Sources Peer-reviewed


An unknown error has occurred. Please click the button below to reload the page. If the problem persists, please try again in a little while.