Asee peer logo

Improving the State of Undergraduate Software Testing Education

Download Paper |

Conference

2012 ASEE Annual Conference & Exposition

Location

San Antonio, Texas

Publication Date

June 10, 2012

Start Date

June 10, 2012

End Date

June 13, 2012

ISSN

2153-5965

Conference Session

Software Engineering Topics

Tagged Division

Software Engineering Constituent Committee

Page Count

12

Page Numbers

25.754.1 - 25.754.12

DOI

10.18260/1-2--21511

Permanent URL

https://peer.asee.org/21511

Download Count

78

Request a correction

Paper Authors

biography

W. Eric Wong University of Texas, Dallas

visit author page

W. Eric Wong received his Ph.D. in computer science from Purdue University. He is currently a professor and Director of International Outreach in the Department of Computer Science at the University of Texas, Dallas. Prior to joining UTD, he was with Telcordia (formerly Bellcore) as a Project Manager for Dependable Telecom Software Development. Wong received the Quality Assurance Special Achievement Award from Johnson Space Center, NASA, in 1997. His research focus is on the technology to help practitioners develop high quality software at low cost. In particular, he is doing research in software testing, debugging, safety, and reliability at the application and architectural design levels. Wong is the Vice President for Technical Operations of the IEEE Reliability Society and the Secretary of the ACM Special Interest Group on Applied Computing (SIGAPP).

visit author page

Download Paper |

Abstract

Improving the State of Undergraduate Software Testing Education W. Eric Wong Department of Computer Science University of Texas at Dallas Email: ewong@utdallas.eduSoftware has become fundamental to our everyday life. Regardless of age, gender, occupation,nationality, etc., each of us depends on software in some way, either directly or indirectly. Yetsoftware is far from defect-free and very large sums of money are spent each year only to fixand maintain defective software. According to a study by NIST in 2002, software bugs costthe U.S. economy an estimated $59.5 billion annually (about 0.6% of GDP). The same studyalso found that more than one third of these costs could be eliminated by an improved testinginfrastructure. Furthermore, these estimates have not taken into account any potential deathsor catastrophic financial loss associated with the failure of mission critical software. Thesefigures would be much higher if the study were conducted today.Software testing continues to be the primary approach used to ensure the development of highquality software. It is estimated that more than 60% of the cost of software development isspent on testing and debugging. However, a large part of the problem is not as much theamount of testing that is performed, as much as it is “who” the software is tested by, and“how” these testers do it. Most of the personnel responsible for software testing are softwareengineers with a very basic background in testing, mostly restricted to the application of asmall set of testing tools. A simple knowledge of a few testing tools cannot hope to substitutefor a strong foundation in software testing principles and methodologies. The fact is that asignificant number of the people responsible for testing the software that we rely on are notadequately prepared for the task. If we were to trace this deficiency in software testingbackground back to its source, we would end up at the educational institutions that areresponsible for teaching and training people to test software. Thus, if today’s software testersare not sufficiently armed with the knowledge required to test software well, then it is mostlikely because they have not been adequately trained.The subject of software testing rarely appears in undergraduate curriculums, despite its wellestablished place in classical computer science literature and its extensive use in industry.Many academic computer science programs only briefly cover software testing, limiting thetopic to non-mandatory software engineering courses. Furthermore, even if introductorycourses cover some aspects of software testing, the actual application of testing practices isonly explored in-depth at the senior and graduate levels. Offering a single elective course isnot a complete solution to the issue of software testing; we believe that students shouldrepeatedly practice software testing concepts and techniques through several courses in theundergraduate curriculum, from beginning programming courses to the senior-level finalproject. In this way, students are more likely to incorporate software testing into theirprogramming style if they experience the benefits of effective testing early in their career, andthen continue to make use of what they learn in subsequent courses and projects. As a result,students are better-equipped to produce more reliable and dependable software in a morecost-effective way, making them more attractive hires for potential employers after graduation.We will report our classroom experience and lessons learned from an NSF sponsored projectwhich incorporates software testing into multiple computer science and software engineeringcourses.

Wong, W. E. (2012, June), Improving the State of Undergraduate Software Testing Education Paper presented at 2012 ASEE Annual Conference & Exposition, San Antonio, Texas. 10.18260/1-2--21511

ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2012 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015