--%>

Explain Automated Testing-Software testing

Automated Testing: Software testing is the most generally used technique for verifying and validating software. While testing may not provide the same rigor as model checking, it is far more scalable and usually does not require a significant tool infrastructure; thus its initial cost and learning curve is low. However, for complex systems these benefits are more than offset by the fact that it is hard to develop the “right” test cases that provide sufficient coverage. This difficulty often reduces coverage despite use of many test cases. The consequence is that testing is a very labor intensive process that typically accounts for about half the total cost of software development and maintenance while yielding poor reliability due to inadequate coverage (Bezier 1990)].

Automating testing not only decreases the cost of verifying and validating software but also increases its reliability. A recent report by the National Institute of Standards and Technology estimates that software failures currently cost the US economy about $60 billion every year, and that improvements in software testing infrastructure might save one-third of this cost (NITT 2002). Testing, and in particular test case generation, lends itself to automation and has been the focus of much research attention; it has also been adopted in industry (Parasoft; T-VEC; Drusinsky 2000; Grieskamp et al. 2002). We distinguish between two main approaches to automatic test case generation: black boxand white box. In the black-box approach, test cases are generated based on a specification of the inputs, while in the white-box approach, test cases are generated based on the analysis of the software under test or of a model of this software.

The quality of a test suite is measured in terms of test coverage, such as structural code coverage, MC/DC, path coverage, and requirements coverage. In addition to program inputs, test cases also need to specify the expected output. This can be done by using testing oracles that encode the functional specifications of the software under test as assertions in the code, post-conditions, etc.

   Related Questions in Programming Languages

  • Q : State the term GPC and GPT State the

    State the term GPC and GPT.

  • Q : Define the term Pixel Define the term

    Define the term Pixel: It is a `picture element' - usually a colored dot on a screen.

  • Q : What is Complement operator Complement

    Complement operator: The complement operator, ~, is employed to invert the value of each bit in the binary pattern. For illustration, the complement of 1010010 is 0101101.

  • Q : Define Java virtual machine or JVM

    Define Java virtual machine (JVM): A Java Virtual Machine (JVM) is an abstract computing machine, or virtual machine (set of computer software programs and data structures) which is a platform-independent execution environment that converts Java bytec

  • Q : Define Daemon thread Daemon thread :

    Daemon thread: The daemon threads are non-user threads. They are usually employed to carry out low-priority tasks which must not take priority over the major task of the program. They can be employed to do helpful work whenever all other user threads

  • Q : What are the valid and invalid XHTML

    What are the valid and invalid XHTML element names?

  • Q : Explain One Dimensional array One

    One Dimensional array:1) An array is a continuous memory location having similar kind of data in a single row or single column. Declaration in c++ is as under: const int size = 20;int a[size] or int a[2

  • Q : Explain This This : It is a Java

    This: It is a Java reserved word with numerous different uses: A) Within a constructor, it might be employed as the first statement to call the other constructor in similar class. For illustration:

    Q : Explain Declaration and initialization

    Declaration and initialization: It is a statement in which a variable is declared and instantly given its initial value. Three illustrations of declaration and initialization are as follows:     int

  • Q : What is Datagram Datagram : It is a

    Datagram: It is a packet of information passed between the two communicating procedures across a network. Both the Transmission Control Protocol (abbreviated as TCP) and the User Datagram Protocol (abbreviated as UDP) are indirectly comprised in sendi