0% found this document useful (0 votes)
3 views11 pages

System Testing

System Testing is a level of software testing that evaluates a fully integrated software system's compliance with specified requirements using a Black-Box approach. It aims to verify functional and non-functional requirements, detect defects, and validate system behavior under realistic conditions. Various types of testing, techniques, and tools are utilized to ensure software quality and reliability before release.

Uploaded by

uk724379
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views11 pages

System Testing

System Testing is a level of software testing that evaluates a fully integrated software system's compliance with specified requirements using a Black-Box approach. It aims to verify functional and non-functional requirements, detect defects, and validate system behavior under realistic conditions. Various types of testing, techniques, and tools are utilized to ensure software quality and reliability before release.

Uploaded by

uk724379
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

System Testing

in Software Engineering

Definition • Types • Techniques • Examples • Tools

"Quality is never an accident; it is always the result of intelligent effort." — John Ruskin
What is System Testing?

Definition: System Testing is a level of software testing where a complete and integrated software system is
tested to evaluate its compliance with specified requirements. It is a Black-Box testing technique performed
on a fully integrated system.

Level Approach Goal

3rd level in V-model, after unit & Black-box: testers don't see internal Validate end-to-end functionality of
integration testing code structure the complete system

Position in Testing Pyramid: Unit → Integration → System → Acceptance


Objectives of System Testing

Verify the system meets functional and non-functional Detect defects that were not caught during unit or
01 requirements
02 integration testing

Evaluate system behavior under realistic conditions Validate performance, security, usability, and
03 and environments
04 reliability attributes

Build confidence in the system before release to end Ensure compliance with business requirements and
05 users
06 specifications
Types of System Testing (Part 1)

Functional Testing
Verifies that the system functions according to functional requirements. Tests each feature or function of the software against the
specification.

Performance Testing
Evaluates how the system performs under a particular workload, including speed, scalability, stability, and resource usage under
load.

Security Testing
Identifies vulnerabilities, threats, and risks in the software. Tests authorization, authentication, data confidentiality, and
penetration resistance.

Usability Testing

Assesses how easy the system is to use. Focuses on the user interface, user experience, and accessibility standards compliance.
Types of System Testing (Part 2)

Regression Testing

Ensures that new code changes do not adversely affect existing functionality. Re-runs previous test cases after modifications.

Recovery Testing

Tests how well the system recovers from crashes, hardware failures, or unexpected errors, verifying data integrity after failure.

Compatibility Testing

Verifies that the system works across different browsers, operating systems, hardware configurations, and network environment s.

Reliability Testing

Evaluates system stability and uptime over a period of time to ensure it meets its MTBF (Mean Time Between Failures) targets.
System Testing Techniques

Equivalence Partitioning Boundary Value Analysis

Divides input data into partitions that should behave the same,
Tests at the edges of input ranges. For example, if a field accepts 1-
reducing the number of test cases needed while maintaining
100, tests values 0, 1, 2, 99, 100, 101.
coverage.

State Transition Testing Use Case Testing

Focuses on the system's states and transitions between them. Derives test cases from use cases that describe user-system
Validates correct behavior during state changes. interactions to verify end-to-end scenarios.

Decision Table Testing

Uses a table to capture complex business logic with various input combinations and their corresponding actions.
Real-World Examples

Scenario: Login, browse products, add to cart, checkout, payment, order confirmation
E-Commerce Platform
Test Focus: Verify the entire purchase workflow works seamlessly end-to-end across all modules

Scenario: User transfers funds between accounts with different currencies


Banking System
Test Focus: Validate that debit, credit, currency conversion, and transaction logs all work correctly

Scenario: Patient registration → doctor assignment → prescription → billing


Hospital Management
Test Focus: Ensure data flows correctly between patient, medical, and billing subsystems

Scenario: User books ride → driver accepts → GPS tracking → payment deduction
Mobile App (Ride-Sharing)
Test Focus: Test integration of GPS, payment gateway, notifications, and database updates
System Testing Process

1 2 3 4 5 6

Test Environment
Test Planning Test Design Test Execution Defect Reporting Test Closure
Setup

Define scope, objectives, Configure hardware, Document bugs with


Create test cases, test Run test cases, log actual Analyze test results,
resources, schedule, and software, and network severity/priority levels and
scripts, and test data based results, and compare prepare reports, and
test environment environments that mirror assign to development
on system requirements against expected outcomes obtain sign-off for release
requirements production team
Popular System Testing Tools

Selenium JMeter LoadRunner


Functional / Web UI Performance Testing Performance Testing

Open-source load testing tool. Simulates Enterprise-grade tool by Micro Focus. Tests
Automated browser testing across Chrome,
high traffic to measure throughput and performance under thousands of
Firefox, Edge. Supports Java, Python, C#.
response times. concurrent users.

OWASP ZAP TestRail Postman


Security Testing Test Management API / Functional

Finds vulnerabilities in web applications. Organizes test cases, tracks execution


Tests REST APIs, validates responses, and
Runs automated scans for common security progress, and integrates with CI/CD
automates API test suites via collections.
issues. pipelines.
Advantages & Challenges

✓ Advantages ✗ Challenges

✓ Covers the entire system holistically, not just individual


✗ Time-consuming and resource-intensive process
units

✓ Detects integration issues missed by unit/integration ✗ Requires complete system integration before testing can
testing start

✓ Validates real-world workflows from the user's


✗ Identifying root cause of failures can be complex
perspective

✓ Identifies non-functional issues (performance, security) ✗ Test environment setup can be costly to maintain

✓ Increases stakeholder confidence before deployment ✗ Difficult to cover all possible user scenarios
Key Takeaways
System Testing validates the complete integrated software against requirements

It is a Black-Box technique — testers focus on behavior, not internal code

Covers Functional, Performance, Security, Usability, and Regression types

Follows a structured process: Plan → Design → Setup → Execute → Report → Close

Tools like Selenium, JMeter, and OWASP ZAP automate and enhance testing

Essential for ensuring software quality, reliability, and user satisfaction

You might also like