This preview has intentionally blurred sections. Sign up to view the full version.View Full Document
Unformatted text preview: 7 0 I E E E S O F T WA R E J a n u a r y / F e b r u a r y 2 0 0 0 0 7 4 0 - 7 4 5 9 / 0 0 / $ 1 0 . 0 0 © 2 0 0 0 I E E E software testers and developers—two very different functions—play. Assuming that the bugs users report occur in a software product that really is in error, the answer could be any of these: ■ The user executed untested code . Because of time constraints, it’s not uncommon for developers to release untested code—code in which users can stumble across bugs. ■ The order in which statements were exe- cuted in actual use differed from that dur- ing testing. This order can determine whether software works or fails. ■ The user applied a combination of untested input values . The possible input combinations that thousands of users can make across a given software inter- face are simply too numerous for testers to apply them all. Testers must make tough decisions about which inputs to test, and sometimes we make the wrong decisions. ■ The user’s operating environment was never tested . We might have known about the environment but had no time to test it. Perhaps we did not (or could not) replicate the user’s combination of hardware, peripherals, operating sys- tem, and applications in our testing lab. For example, although companies that write networking software are unlikely to create a thousand-node network in their testing lab, users can—and do— create such networks. Through an overview of the software testing problem and process, this article investigates the problems that testers face and identifies the technical issues that any solution must address. I also survey existing classes of solutions used in practice. feature What Is Software Testing? And Why Is It So Hard? James A. Whittaker, Florida Institute of Technology Software testing is arguably the least understood part of the development process. Through a four-phase approach, the author shows why eliminating bugs is tricky and why testing is a constant trade-off. V irtually all developers know the frustration of having software bugs reported by users. When this happens, developers inevitably ask: How did those bugs escape testing? Countless hours doubt- less went into the careful testing of hundreds or thousands of variables and code statements, so how could a bug have eluded such vigi- lance? The answer requires, first, a closer look at software testing within the context of development. Second, it requires an understanding of the role practice tutorial Readers interested in further study will find the sidebar “Testing Resources” helpful. Testers and the Testing Process To plan and execute tests, software testers must consider the software and the function it computes, the inputs and how they can be combined, and the environment in which the software will eventually oper- ate. This difficult, time-consuming process requires technical sophistication and proper planning. Testers must not only have good development skills—testing often requires a...
View Full Document
This note was uploaded on 09/06/2009 for the course CIS 12414 taught by Professor Deloach,scotta during the Spring '09 term at Kansas State University.
- Spring '09