---
title: "Failure after acceptance testing; integration testing"
subject: "Software Engineering"
chapter: 8
key: "semester_5/software_engineering:fail-after-acceptance"
source: https://www.bctengineer.com/q/semester_5/software_engineering/fail-after-acceptance
site: BCT Engineering
---

# Failure after acceptance testing; integration testing

Software Engineering · Chapter 8: Software Testing and cost Estimation

- Asked in: 2067 Ashadh (old course); year not given, 3 marks
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_5/software_engineering/fail-after-acceptance
- Whole chapter: https://www.bctengineer.com/md/semester_5/software_engineering/chapter-8

## Question

Why does software project fail after it has passed through acceptance testing? Explain integration testing.

## Short answer

Acceptance testing covers limited scenarios, so real environments, data volumes, non-functional requirements, changing requirements, integration, and training can still cause failure. Integration testing combines tested modules to find interface and interaction errors using big-bang, top-down, bottom-up, or sandwich approaches.

## Answer

#### Why software fails after passing acceptance testing

Acceptance testing only shows that the system passed the tests that were run, in the conditions that were set up. A project can still fail in operation because:

- **Limited test cases**: acceptance tests cover the main scenarios with test data, not all real data and usage.
- **Different operating environment**: real hardware, network, data volume and number of users differ from the test environment, so performance or reliability problems appear.
- **Non-functional requirements not tested**: security, scalability, load and long-run reliability are often not checked fully.
- **Changing or misunderstood requirements**: users' needs change, or the requirements were wrong from the start.
- **Unrepresentative testers**: customer staff who accept the system may not be its daily users.
- **Integration and data migration problems** with other live systems.
- **Poor training, user resistance and weak maintenance support.**

#### Integration testing

**Integration testing** is the testing of combined components or modules to find errors in their **interfaces** and interactions, after each unit has been tested. Approaches:
- **Big bang**: all modules combined at once; errors are hard to locate.
- **Top-down**: start from the main module, using stubs for lower modules.
- **Bottom-up**: start from the lowest modules, using drivers; clusters are combined upward.
- **Sandwich**: a mix of top-down and bottom-up.

Typical errors found: wrong parameters, misunderstood interfaces, shared data problems and timing errors between modules.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. Which is a reason a project can fail after passing acceptance testing?
   A. Acceptance testing proves there are no faults
   B. Real environment, data volume and users differ from the test setup
   C. Acceptance tests cover every possible input
   D. Non-functional requirements are always fully tested
   Answer: B. Acceptance tests only show the system passed the tests run under set-up conditions; real operating conditions may differ. (Key point: Why systems fail after acceptance)

2. What does integration testing mainly look for?
   A. Errors in interfaces and interactions between combined modules
   B. Spelling errors in code
   C. Errors inside a single unit only
   D. Usability of the manual
   Answer: A. Integration testing follows unit testing and checks the combined modules for interface and interaction errors. (Key point: Integration testing)

3. In bottom-up integration, what is used in place of the missing upper modules?
   A. Stubs
   B. Drivers
   C. Prototypes
   D. Inspections
   Answer: B. Bottom-up starts at the lowest modules and uses drivers to call them. Stubs are used in top-down. (Key point: Bottom-up integration)

## Related in Software Engineering

- [User acceptance testing](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Auser-acceptance-testing) — Software Engineering, chapter 8
- [Top-down integration problems; regression testing](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Atop-down-integration-regression) — Software Engineering, chapter 8
- [Component, integration and release testing](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Acomponent-release-integration) — Software Engineering, chapter 8
- [Software testing metrics](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Atesting-metrics) — Software Engineering, chapter 8
- [Regression testing](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Aregression-testing) — Software Engineering, chapter 8
- [Black-box testing](https://www.bctengineer.com/question.md?key=semester_5%2Fsoftware_engineering%3Ablack-box-testing) — Software Engineering, chapter 8

## Related in other subjects

- [Software bugs and testing techniques](https://www.bctengineer.com/question.md?key=semester_5%2Finstrumentation_ii%3Abug-types-testing) — Instrumentation II, chapter 9, asked 2×
- [Software testing time paradox](https://www.bctengineer.com/question.md?key=semester_5%2Finstrumentation_ii%3Asw-testing-paradox) — Instrumentation II, chapter 9
- [Flow rate 2 s after pump failure](https://www.bctengineer.com/question.md?key=semester_4%2Fhydraulics%3Apump-failure-flow-rate-after-2s) — Hydraulics, chapter 4
- [Define project integration management](https://www.bctengineer.com/question.md?key=semester_7%2Fict_project_management%3Adefine-integration-management) — ICT Project Management, chapter 7
