Integration Testing - Reading Assignment


#1

Welcome to the discussion about this reading assignment.

Leave your answers to the questions below in this thread. If you have any questions or you want to discuss something connected to the assignment feel free to do it in this thread as well, but please everything to the topic.

  1. Why do we write integration tests?
  2. What problems do integration tests solve?
  3. What are the differences between top-down and bottom-down approaches?

#2
  1. Because we want test the all the code that makes up the application and also all the interfaces linking all the components together.
  2. Integration tests find errors that occur during the complete use of an application. They test whether all the subsystems and interfaces are working individually and together without producing errors. Integration testing should be simulating real world use of an application.
  3. Question should be Top-down and Bottom-up, not Bottom-down. Bottom-down goes veeeery low, indeed!
  4. Top-down starts testing at higher levels of the software and then tests progressively lower and lower levels of the code. Bottom-up starts at the bottom or low level components and works its way up. This is unit testing and should be preformed first, before going the top-down approach, to make sure that each component works. Otherwise, it might be difficult to tell what is causing the problem.

#3
  1. Why do we write integration tests?
    Integration tests are written and executed for functional interactions which typically crosses boundaries, to expose problems with the interfaces among program components.

  2. What problems do integration tests solve?
    Interoperability between systems, to expose problems with the interfaces among program components before they occur.

  3. What are the differences between top-down and bottom-down approaches?
    Top-down starts high level functional test cases, or user scenarios. Bottom-up integration testing begins with unit testing, followed by tests of of progressively higher-level combinations of units called modules or builds.


#4
  1. Why do we write integration tests?
    These tests are written to expose problems with the interfaces among program components before trouble occurs in real-world program execution.

  2. What problems do integration tests solve?
    They identify problems with the way different program components interact with each other.

  3. What are the differences between top-down and bottom-up approaches?
    The bottom-up process starts with unit testing followed by progressively higher level tests of combinations of units otherwise known as modules or builds.
    In top-down integration testing, the highest-level modules are tested first and progressively lower-level modules are tested thereafter.


#5
  1. These tests are written to see issues with the interfaces among program components before trouble occurs in real-world program execution. It’s much easier to fix small issues earlier than big issue later!!

  2. They identify problems with the way different program components interact with each other.

  3. In top-down testing, the highest-level modules are tested first and progressively lower-level modules are tested after. The bottom-up process starts with unit testing followed by progressively higher level tests of combinations of units otherwise known as builds.


#6

Why do we write integration tests?
You combine the modules from the unit testing an run them together in test drivers and test stubs. In this way you can detect interface defects.

What problems do integration tests solve?
Detect interface defects effectively like
Misuse - wrong parameter types, inadequate error code
Vioalation of data constraints - relationships among different data
Synchronizations
So the system works with the hardware devices

What are the differences between top-down and bottom-down approaches?
Top-down : You start with main functions and create sub-functions.
Bottom-up: You start with moduls that you later integrate with main functions.


#7
  1. It can be considered almost an extension of unit testing. After a unit is tested, integration testing can determine any problems with the implementation of the feature (unit)
  2. Integration tests help determine if the unit incorporated ‘play’s well’ with the rest of the program or code.
  3. bottom down mainly focuses on the feature and outbound dependancies of the feature being implemented. Top down, is more of a systemic overview once the unit is implemented.

#8
  1. Why do we write integration tests?
    To test larger ‘modules’ or collections of functionality. It might introduce conditions that unit tests can’t anticipate.

  2. What problems do integration tests solve?
    Unexpected interactions between programming funcitons/procedures.

  3. What are the differences between top-down and bottom-down approaches?
    Top down starts with high-level functionality and works down to unit tests, while Bottom-Up is the opposite.


#9
  1. Why do we write integration tests?
    To make sure that different components of the code work together.

  2. What problems do integration tests solve?
    It find communication bugs and errors that could have been caused by different programmers or even companies working on different sections of the code.

  3. What are the differences between top-down and bottom-down approaches?
    top-down is larger sections then smaller sections of code. Bottom-up is small parts then larger parts. Unit testing the integration.


#10
  1. Why do we write integration tests?
    To make sure all units/parts of the program work as a whole.

  2. What problems do integration tests solve?
    It can expose problems with interfaces among program components before trouble occurs in real world execution so programmers can fix it before release.

  3. What are the differences between top-down and bottom-down approaches?
    Bottom-up approach means testing units first then proceed to higher-level combinations of units called modules or builds. Top-down approach means testing highest-level modules first followed by lower-level modules.


#11
  1. Why do we write integration tests?
    • to confirm units work together, and continue to work when new units are add/removed/changed
  2. What problems do integration tests solve?
    • finds unexpected results when combining different units
  3. What are the differences between top-down and bottom-down approaches?
    • Top-down starts by testing of main functions and modules, and works downward
    • Bottom-up starts with unit testing individual functions, and works upward

#12
  1. Why do we write integration tests?
    Because we need to expose problems with the interfaces among program components before trouble occurs in real-world program execution.
  2. What problems do integration tests solve?
    Determine if integration of two or more separate units can create errors
  3. What are the differences between top-down and bottom-down approaches?
    In top-down integration testing, the highest-level modules are tested first and progressively lower-level modules are tested after that and it’s the opposite for Bottom up which testing is usually done first, followed by top-down testing.

#13
  1. Why do we write integration tests?
    Integration tests allow programmers to test different pieces of codes in units, modules or builds.
  2. What problems do integration tests solve?
    Integration tests solve glitches that may occur as units build longer strands of code. They allow for a check on multiple levels of code.
  3. What are the differences between top-down and bottom-down approaches?
    Top down testing begins with the highest order of code and tests down from this bigger code to individual units. Bottom up works in the reverse way.

#14

1. Why do we write integration tests?
In order to test and combine program units as groups in multiple ways.
2. What problems do integration tests solve?
I&T can expose problems with the interfaces between components before release the application.
3. What are the differences between top-down and bottom-up approaches?
top-down takes the highest-level module first otherwise bottom-up takes the lower-level unit first. A bottom-up test is made first.


#15

Why do we write integration tests?

  • To expose problems with the interfaces among program components before trouble occurs in real-world program execution.
  • To continually test & revise a program as it is being built.

What problems do integration tests solve?

  • Functionality of software.
  • Scenarios designed to mimic those it will encounter in customers’ computers, systems and networks.

What are the differences between top-down & bottom-up approaches?

  • Bottom-up integration testing begins with unit testing, followed by tests of progressively higher-level combinations of units called modules or builds.
  • Top-down integration testing, the highest-level modules are tested first and progressively lower-level modules are tested after that.

In a comprehensive software development environment, bottom-up testing is usually done first, followed by top-down testing.


#16

1. Why do we write integration tests?
It is performed to make sure that program as a unit works as intended. Integration testing can expose problems with the interfaces among program components before trouble occurs in real-world program execution.

2. What problems do integration tests solve?
Integration testing can expose problems with the interfaces among program components before trouble occurs in real-world program execution.

3. What are the differences between top-down and bottom-down approaches?
Bottom-up integration testing begins with unit testing, followed by tests of of progressively higher-level combinations of units called modules or builds. In top-down integration testing, the highest-level modules are tested first and progressively lower-level modules are tested after that


#17

Why do we write integration tests?

Integration testing can reveal interface issues between the various components of the application.

What problems do integration tests solve?

It finds interaction issue of the source code’s components.

What are the differences between top-down and bottom-down approaches?

The top-down approach starts with testing the entire application and then works it way down through the components until it ultimately tests each individual unit.

The bottom-up approach begins with testing each individual unit and test its way up through each component until it reaches the top and tests the entire application.


#18
  1. Why do we write integration tests?
    Because we wanna make sure that all the units in context work together fine.

  2. What problems do integration tests solve?
    They find errors that occur during tthe complete use of an application.

  3. What are the differences between top-down and bottom-down approaches?
    Top Down: You start with the main application and test if for flaws
    Bottom Up: You seperate the application in smaller units and test the units seperatly


#19
  • Why do we write integration tests?

Components covered by unit tests might still work badly with each other.

  • What problems do integration tests solve?

Mismatching API, mismatching assumptions of module authors (that eventually break the logic).
Mismatching architectures or ABI of build artefacts of the modules.

  • What are the differences between top-down and bottom-down approaches?

top-down approach describes the tests of the entire system. It might also be called BDD (behaviour driven development). Each test covers larger parts of the codebase comparing to unit tests. However, such tests are more fragile and it’s harder to do the root cause analysis.

bottom-up approach is based on the assumption that “if a part of the system is broken, then the entire system is broken”. So such tests are performed on the low level to ensure the system is built from high quality parts


#20
  1. What are the differences between top-down and bottom-down approaches?

@ivan, I believe you have a typo error here.

"bottom-down"  ==> "bottom-up"