Sunday, 3 March 2013

Top-down and Bottom-up Software Testing approaches

Top-down and Bottom-up Software Testing approaches

Types of Software Testing Approaches :

  • Top-down 
  • Bottom-up

software-testing-approaches

Top-down and bottom-up are both strategies of information processing and knowledge ordering, used in a variety of fields including software, humanistic and scientific theories (see systemics), and management and organization. In practice, they can be seen as a style of thinking and teaching.



Top-down approach

A top-down approach (also known as stepwise design or deductive reasoning, and in many cases used as a synonym of analysis or decomposition) is essentially the breaking down of a system to gain insight into its compositional sub-systems. In a top-down approach an overview of the system is formulated, specifying but not detailing any first-level subsystems. Each subsystem is then refined in yet greater detail, sometimes in many additional subsystem levels, until the entire specification is reduced to base elements. A top-down model is often specified with the assistance of "black boxes", these make it easier to manipulate. However, black boxes may fail to elucidate elementary mechanisms or be detailed enough to realistically validate the model. Top down approach starts with the big picture. It breaks down from there into smaller segments.

Bottom-up approach

A bottom-up approach (also known as inductive reasoning, and in many cases used as a synonym of synthesis) is the piecing together of systems to give rise to grander systems, thus making the original systems sub-systems of the emergent system. Bottom-up processing is a type of information processing based on incoming data from the environment to form a perception. Information enters the eyes in one direction (input), and is then turned into an image by the brain that can be interpreted and recognized as a perception (output). In a bottom-up approach the individual base elements of the system are first specified in great detail. These elements are then linked together to form larger subsystems, which then in turn are linked, sometimes in many levels, until a complete top-level system is formed. This strategy often resembles a "seed" model, whereby the beginnings are small but eventually grow in complexity and completeness. However, "organic strategies" may result in a tangle of elements and subsystems, developed in isolation and subject to local optimization as opposed to meeting a global purpose.

    topdown-bottomup-testing-approaches
    Click on the image for zoom view

    What are the differences between Top down and Bottom up approaches ?

    difference-between-topdown-bottomup-approach1
    Click on the image for zoom view
    difference-between-topdown-bottomup-approach
    Click on the image for zoom view

    Example 1 :These are two design approaches, which can be explained as:
    You can imagine a tree like structure , in which when you are following top-down approach you move from root node to leaf node and when you follow bottom-up approach you follow leaf node to root node.

    a) Top-down approach:
    In this an overview of the system is first formulated, specifying but not detailing any first-level subsystems. 
    Each subsystem is then refined in yet greater detail, sometimes in many additional subsystem levels, until the 
    entire specification is reduced to base elements.

    b) Bottom-up approach:
    In this approach the individual base elements of the system are first specified in great detail. These elements are then linked together to form larger subsystems, which then in turn are linked, sometimes in many levels, until a complete top-level system is formed.

    17 comments:

    1. Very good information. Its very useful for me. We need learn from real time examples and for this we choose good training institute, we need to learn from experts . So we make use of demo classes . Recently we tried software testing demo class of Apponix Technologies.

      https://www.apponix.com/Software-Testing/Software-Testing-Training-in-Bangalore.html

      ReplyDelete
    2. It's great to be here and to learn more about software testing. software testing training in chennai

      ReplyDelete
    3. Thanks for sharing this informative content , Great work
      To crack scrum master interview : Agile coach interview questions

      ReplyDelete

    Share your feedback and queries here. Your feedback are more valuable to us!