Unit 3 of 4 · B.Sc IT Sem 4

Unit 3: System testing

System Analysis & Design notes · PTU syllabus (BSIT403/BSBC301)

3 min read7 topics10 exam questions
On this page
  1. Unit summary
  2. Testing: objectives and levels
  3. Unit testing
  4. Integration testing
  5. System testing
  6. Alpha and beta testing
  7. Acceptance testing
  8. Regression testing
  9. Key terms
  10. Quick revision
  11. Important questions

Unit summary

Testing finds defects before users do. This unit covers unit testing, integration testing, system testing, alpha and beta testing, acceptance testing and regression testing.

After this unit you can

  • Explain the objectives and levels of testing
  • Perform unit and integration testing
  • Distinguish system, alpha, beta and acceptance testing
  • Explain regression testing

PTU syllabus topics

  • Unit testing
  • system testing
  • integration testing
  • alpha and beta testing
  • acceptance testing
  • regression testing
ProcessLevels of software testing
  1. 1

    Unit testing

    Individual modules

  2. 2

    Integration testing

    Modules working together

  3. 3

    System testing

    The whole system

  4. 4

    Alpha testing

    By users at the developer's site

  5. 5

    Beta testing

    By users in real conditions

  6. 6

    Acceptance testing

    Client signs off

1

Topic 1

Testing: objectives and levels

  • Testing: executing a program to find errors; a good test case has a high chance of finding an undiscovered error. Testing shows the presence of defects, not their absence.
HierarchyLevels of testing
  1. Acceptance testing

    Users confirm the system meets their needs

  2. System testing

    The complete system against requirements

  3. Integration testing

    Combined modules and their interfaces

  4. Unit testing

    Individual modules

ComparisonBlack box and white box testing
Black box
White box

Basis

Requirements and inputs–outputs

Internal code and logic

Tester knows code?

No

Yes

Techniques

Equivalence partitioning, boundary value analysis

Statement, branch and path coverage

Done by

Testers, users

Developers

2

Topic 2

Unit testing

  • Testing each module or function in isolation by the developer, often with drivers (call the module) and stubs (stand in for modules it calls).
  • Checks: interfaces, local data structures, boundary conditions, independent paths and error handling.

Example

Unit test for calculateGrade(marks): inputs −1 (error), 0, 39 (fail), 40 (pass), 100, 101 (error) — boundary value analysis.

3

Topic 3

Integration testing

ComparisonIntegration approaches
Method
Pros and cons

Big bang

All modules combined at once

Simple; faults hard to locate

Top-down

Start from the main module, use stubs below

Early skeleton; many stubs

Bottom-up

Start from low-level modules, use drivers

Easy fault isolation; no early prototype

Sandwich

Top-down and bottom-up together

Balanced; more complex

4

Topic 4

System testing

Key termsKinds of system testing
Functional testing
All requirements work correctly
Performance testing
Response time under expected load
Stress or load testing
Behaviour beyond normal load
Security testing
Resistance to unauthorised access
Recovery testing
Recovery after forced failure
Usability testing
Ease of use
Compatibility testing
Different browsers, devices, operating systems
5

Topic 5

Alpha and beta testing

ComparisonAlpha and beta testing
Alpha testing
Beta testing

Who

Selected users or internal testers

Real end users

Where

Developer's site

User's own site or environment

Control

Developer watches and records problems

Developer absent; users report problems

Stage

Before beta

After alpha, before final release

  • Software products often release public beta versions (apps, games) to gather feedback.
6

Topic 6

Acceptance testing

  • Acceptance testing: formal testing by the customer to decide whether to accept the system, using real data and agreed criteria in the SRS or contract.
  • Types: user acceptance testing (UAT), operational acceptance (backups, maintenance), contract and regulatory acceptance.

Example

A college accepts its new ERP only after UAT shows that admissions, fee collection and result processing work for one full mock semester.

7

Topic 7

Regression testing

  • Regression testing: re-running earlier tests after a change (bug fix, new feature) to make sure nothing that used to work is now broken.
  • Approach: keep a regression test suite, select affected tests, prioritise critical functions, and automate (Selenium, JUnit, PHPUnit).

Exam tip

Every bug fix should add a test case to the regression suite so the same bug cannot return unnoticed.

Key terms

Unit testing
Testing an individual module
Stub
Dummy module standing in for a called module
Integration testing
Testing combined modules and interfaces
Beta testing
Testing by real users in their own environment
Regression testing
Retesting after changes to catch new faults

Quick revision

  • Purpose of testing; black box vs white box.
  • Unit testing with drivers and stubs; boundary values.
  • Big bang, top-down, bottom-up, sandwich integration.
  • System testing types; alpha vs beta.
  • Acceptance testing (UAT); regression testing and automation.

Important exam questions

Practice questions written to the PTU exam pattern for this unit's syllabus: short answers (Section A style) and long answers (Sections B and C style).

Short-answer questions

  1. Q1.What is the objective of testing?
  2. Q2.Distinguish a stub and a driver.
  3. Q3.Distinguish top-down and bottom-up integration.
  4. Q4.Distinguish alpha and beta testing.
  5. Q5.What is user acceptance testing?
  6. Q6.Why is regression testing necessary?

Long-answer questions

  1. Q1.Explain the levels of testing.
  2. Q2.Explain unit and integration testing with approaches.
  3. Q3.Explain system testing and its types.
  4. Q4.Explain alpha, beta, acceptance and regression testing.

Stuck on this unit?

Message SBS on WhatsApp for help with System Analysis & Design, or to ask about studying B.Sc IT at Synetic.

WhatsApp us