Chp09.pdf

Chp09.pdf - Chapter 9 Software Testing Table of Contents...

  • No School
  • AA 1
  • 15

This preview shows page 1 - 3 out of 15 pages.

1 Chapter 9. Software Testing Table of Contents Objectives .................................................................................................................... 1 Introduction to software testing ....................................................................................... 1 The testers ................................................................................................................... 2 The developers ..................................................................................................... 2 An independent testing team ................................................................................... 2 The customer ....................................................................................................... 2 Principles of software testing .......................................................................................... 3 The completion of software testing .......................................................................... 3 Writing testable software ........................................................................................ 3 Test cases and test case design ................................................................................ 4 Testing strategies .......................................................................................................... 4 Unit testing .......................................................................................................... 4 Integration testing ................................................................................................. 5 Validation testing .................................................................................................. 5 System testing ...................................................................................................... 6 Testing advice .............................................................................................................. 6 Flow graphs, cyclomatic complexity and white-box testing ......................................... 6 Black-box testing ................................................................................................ 10 Object-oriented testing ......................................................................................... 11 Debugging ................................................................................................................. 11 Brute force debugging .......................................................................................... 11 Backtracking ...................................................................................................... 11 Cause elimination ................................................................................................ 11 Bisect ................................................................................................................ 12 Review ...................................................................................................................... 12 Questions ........................................................................................................... 12 Answers ............................................................................................................ 13 Objectives At the end of this chapter you have gained an understanding of: What software bugs are. Who tests the software. How to write testable software. Various testing strategies, including unit testing and regression testing. Debugging. Introduction to software testing Software never runs as we want it to: creating software is an attempt at formally specifying (using a programming language) a solution to a problem. Assuming that it implements the correct solution (as defined by the by the various requirements and design documentation), it very often implements this solution incorrectly. Even if it does implement the solution correctly, the solution may itself not be what the customer wants, or may have unforeseen consequences in the software's behaviour. In all
Image of page 1

Subscribe to view the full document.

Software Testing 2 of these situations the software may produce unexpected and unintended behaviour. The error which causes this unexpected and unintended behaviour is called a software bug . Testing is the planned process of running software with the intent of discovering errors in the software. It is important to realise that testing is a purposeful process, and is not the accidental discovery of software bugs. Discovering errors in the software implementation itself is an important aspect to software testing, but it is not the only aspect. Testing can also be used to discover how well the software conforms to the software requirements, including performance requirements, usability requirements, and so on. Understanding how to test software in a methodical manner is a fundamental skill required in engineering software of acceptable quality. This chapter considers various aspects of software testing. The testers Many different people involved with the development of a particular piece of software can be involved in its testing, such as the developers , a team of independent testers , and even the customers themselves. The developers Testing will always begin with the developers. As they develop individual modules of the software they will need to determine that what they have developed conforms with the requirements, and that it functions as expected. Further, the developers will have to test that these modules still function without error when they have been integrated with each other.
Image of page 2
Image of page 3
  • Fall '19
  • developer

{[ 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