Unit 3: System testing
System Analysis & Design notes · PTU syllabus (BSIT403/BSBC301)
On this page
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
- 1
Unit testing
Individual modules
- 2
Integration testing
Modules working together
- 3
System testing
The whole system
- 4
Alpha testing
By users at the developer's site
- 5
Beta testing
By users in real conditions
- 6
Acceptance testing
Client signs off
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.
- Acceptance testing
Users confirm the system meets their needs
- System testing
The complete system against requirements
- Integration testing
Combined modules and their interfaces
- Unit testing
Individual modules
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
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.
Topic 3
Integration testing
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
Topic 4
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
Topic 5
Alpha and 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.
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.
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
- Q1.What is the objective of testing?
- Q2.Distinguish a stub and a driver.
- Q3.Distinguish top-down and bottom-up integration.
- Q4.Distinguish alpha and beta testing.
- Q5.What is user acceptance testing?
- Q6.Why is regression testing necessary?
Long-answer questions
- Q1.Explain the levels of testing.
- Q2.Explain unit and integration testing with approaches.
- Q3.Explain system testing and its types.
- 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.
