State transition testing every interactive program

This preview shows page 30 - 36 out of 43 pages.

State Transition testing Every interactive program has user observable states What screen the user is on What information is displayed to the user What actions the user is allowed to perform User observable states are often modeled using a screen flow diagram that shows how users can move from screen to screen
Image of page 30

Subscribe to view the full document.

State Transition testing Ideally, you will test all of the different paths that a user may follow to reach each screen, and ensure that the program is always in the correct state Example: Test all of the different paths for reaching the “Order Confirmation" screen on an e-commerce web site. Can you trick the software into letting you submit an order without entering payment information? It's not only where you are, but also how you got there
Image of page 31
Comparison Testing Also called Back-to-Back testing If you have multiple implementations of the same functionality, you can run test inputs through both implementations, and compare the results for equality Why would you have access to multiple implementations? Safety-critical systems sometimes use multiple, independent implementations of critical modules to ensure the accuracy of results You might use a competitor's product, or an earlier version of your own, as the second implementation You might write a software simulation of a new chip that serves as the specification to the hardware designers. After building the chip, you could compare the results computed by the chip hardware with the results computed by the software simulator Inputs may be randomly generated or designed manually
Image of page 32

Subscribe to view the full document.

Testing for race conditions and other timing dependencies Many systems perform multiple concurrent activities Operating systems manage concurrent programs, interrupts, etc. Servers service many clients simultaneously Applications let users perform multiple concurrent actions Test a variety of different concurrency scenarios, focusing on activities that are likely to share resources (and therefore conflict) "Race conditions" are bugs that occur only when concurrent activities interleave in particular ways, thus making them difficult to reproduce Test on hardware of various speeds to ensure that your system works well on both slower and faster machines
Image of page 33
Performance Testing Measure the system's performance Running times of various tasks Memory usage, including memory leaks Network usage (Does it consume too much bandwidth? Does it open too many connections?) Disk usage (Is the disk footprint reasonable? Does it clean up temporary files properly?) Process/thread priorities (Does it play well with other applications, or does it hog the whole machine?)
Image of page 34

Subscribe to view the full document.

Limit Testing Test the system at the limits of normal use Test every limit on the program's behavior defined in the requirements Maximum number of concurrent users or connections Maximum number of open files Maximum request size Maximum file size Etc.
Image of page 35
Image of page 36
You've reached the end of this preview.
  • Fall '08
  • Woodfield,S
  • Black box testing, equivalence classes, area code, equivalence partitioning

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern