Software Testing in Software Engineering

Dec, 18 2020, 12:01 pm [IST]
Software Testing in Software Engineering

Software testing

Testing is the process of operating a program with the particular purpose of detecting errors before delivery to the end-user. Testing is a set of actions that can be planned and conducted systematically.

Software testing strategies


  • Testing begins in the small and progresses to the large.
  • Initially, individual components are tested using the white box and black box techniques.
  • After the individual components have been tested and added to the system, integration testing takes place.
  • Once the full software product is completed, system testing is performed.
  • The testing specification document should be reviewed like all other software engineering work products.

A strategic approach to software testing

To perform effective testing, a software Team should conduct an effective formal technical review. The test begins at the component level and works outward toward the integration of the entire component-based system. Different testing methods are relevant at different points in time. The developer of software deals with testing and may be served by independent test Groups for big projects. Testing and debugging are different actions.

Unit testing

Unit testing focuses verification effort on the smallest unit of software design - the software component or module. The unit testing is always white box oriented, and this step can be conducted in parallel for modules.

Unit test consideration

  • The test that occurs as part of unit testing is illustrated below.
  • The module interface is tested to ensure that information properly flows into and out of the program unit Under test.
  • The local data structures are examined to ensure that data stored temporally maintains its integrity during all steps in algorithm execution.
  • Boundary conditions are attested to ensure that the module at boundaries established to Limit.
  • Independent paths through the control structures are exercised to ensure that all statements in a module have been executed at least once.
  • Finally, all error handling paths are tested.

Unit test procedures

In order to test a single module, we have to provide a complete environment for its execution. However, is there required modules are usually not available until they too have been unit tested, stubs and drivers are designed to provide a complete environment for a module.

The role of the stub and driver module is shown below:

  • A stub procedure for a given procedure is a dummy procedure that has the same I/O parameters as the given procedure but has a highly simplified behavior. For example, a stub procedure may produce the expected behavior using table lookup.
  • A driver module food contains the non-local data structures accessed by the module Under test and I would also have the code to call the different functions of the module with appropriate parameter values.

Integration testing strategies

During integration testing, a different module of a system of integrated using an integration plan specifies the step and order in which modules are combined to realize the full system. After each integration step, the partially integrated system is tested. The main objective of integration testing is to test the module interfaces.

A structure chart is a form of a module dependency graph. Thus, by examining the structure chart the integration plan can be developed based on any of the following approaches:

  • Big - Bang approach
  • Top-down approach
  • Bottom-up approach
  • Mixed approach

Regression testing

Regression testing does not relate to either unit testing, integration testing, or system testing. Instead, it is a separate dimension of these three forms of testing. Regression testing is the method of operating an old test suite after each change to the system or after each bug fix to assure that no new bug has been introduced due to the change are the bug fix.

Smoke testing

It is an integration testing approach that is commonly used when software food products are being developed.

The smoke testing approach encompasses the following activities:

  • Software components that have been translated into code are integrated into a build.
  • A building includes all data files, libraries, reusable modules, and engineered components that are required to implement one or more product functions.
  • A series of tests is designed to expose errors that will keep the build from properly performing its function.
  • The intent should be to uncover show stopper errors that have the highest likelihood of throwing the software project behind schedule.
  • The build is integrated with other builds and the entire product.
  • The integration approach may be top-down or bottom-up.

Validation testing

Software validation is achieved through a series of tests that demonstrate conformity with requirements

  • A test plan outlines the classes of tests to be conducted, and a Test procedure defines specific test cases.
  • Both the plan and a procedure are designed to ensure that all functions requirements are satisfied, performance requirements are achieved, documentation is correct and other requirements are met.

After each validation test case has been conducted one of two possible conditions exist

  1. The function and performance characteristics conform to specification and are accepted.
  2. A deviation from the specification is uncovered and a deficiency list is created.




Details About Software Quality Assurance

Dec, 16 2020, 12:02 pm [IST]
Details About Software Quality Assurance


Software quality assurance Software quality is described as conformance to explicitly state functional and performance requirements, explicitly documented standards and implicit features that are anticipated of all professionally developer software ... Read More

Details About Tunnelling and Encapsulation in Mobile IP

Dec, 10 2020, 02:19 pm [IST]
Details About Tunnelling and Encapsulation in Mobile IP


A tunnel establishes a virtual pipe for data packets between a tunnel entry and a tunnel endpoint. Packets entering a tunnel are forwarded inside the tunnel leave the tunnel unchanged. Tunneling, that is, sending a packet through a tunnel, is achieved by using encapsulation ... Read More

Details About Software Architecture

Dec, 06 2020, 12:17 pm [IST]
Details About Software Architecture


The overall structure of the software components and how the success provides a conceptual integrated file system. In other words, architecture is the hierarchical structure of program components, how these components interact, and the structure of data that are used by the components ... Read More

Details About Real-Time And Distributed System Design

Dec, 04 2020, 01:28 pm [IST]
Details About Real-Time And Distributed System Design


Real-time and distributed system design The real-time system is a software system the correct functioning of the system depends on the results produced by the system the time at which these results are produced ... Read More

Explanation About Software Project Lifecycle Model

Dec, 02 2020, 12:39 pm [IST]
Explanation About Software Project Lifecycle Model


Waterfall Model The waterfall model also called classic life cycle requirements is well defined and stable. It suggests a systematic, sequential approach to software development. It begins with customer specification of requirements and processes through planning, modeling, instruction, and deployment ... Read More

Software Design Concepts in Software Engineering

Dec, 13 2020, 12:01 pm [IST]
Software Design Concepts in Software Engineering


Software Design A software design is an essential engineering description of some software product that is to be established. A design can be determined to the customer's requirements and can be assessed for quality against predefined patterns ... Read More

Go to Top


About Us | Contact Us | Disclaimer | Privacy Policy | Sitemap | Terms and Conditions

Copyright © 2021 TeluguAsami. All rights reserved.