0% found this document useful (0 votes)
10 views2 pages

Software Testing Notes Combined

The document outlines key concepts in software engineering testing and maintenance, distinguishing between verification and validation, and detailing various testing types such as regression, user acceptance, alpha, and beta testing. It also covers testing methodologies, including structural and functional testing, black box and white box techniques, and emphasizes the importance of software quality assurance and configuration management. Additionally, it describes the change control process and types of software maintenance, including corrective, adaptive, perfective, and preventive maintenance.

Uploaded by

StormF
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)
10 views2 pages

Software Testing Notes Combined

The document outlines key concepts in software engineering testing and maintenance, distinguishing between verification and validation, and detailing various testing types such as regression, user acceptance, alpha, and beta testing. It also covers testing methodologies, including structural and functional testing, black box and white box techniques, and emphasizes the importance of software quality assurance and configuration management. Additionally, it describes the change control process and types of software maintenance, including corrective, adaptive, perfective, and preventive maintenance.

Uploaded by

StormF
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

Software Engineering Testing & Maintenance

Notes

Verification vs Validation
Verification: Are we building the product right? (checks design/specs)
Validation: Are we building the right product? (checks user needs)

Test Case & Test Suite


Test Case: A set of inputs, conditions, and expected results to test a feature.
Test Suite: A collection of related test cases.

Short Notes
Regression Testing: Re-testing after changes to ensure stability.
User Acceptance Testing: Testing by end users for approval.
Alpha Testing: Testing at developer site with limited users.
Beta Testing: Testing at user site before full release.
Load Testing: Test under expected user load.
Robustness Testing: System behavior with invalid/stress inputs.

Structural vs Functional Testing


Structural Testing: Tests internal logic/code (white box).
Functional Testing: Tests external behavior/output (black box).

Black Box Testing Techniques


Equivalence Class Partitioning: Divide input into valid/invalid classes.
Example: Age 1–100 → valid(25), invalid(-5,150)

Boundary Value Analysis: Test boundary values.


Example: Range 1–100 → 0,1,2,99,100,101

Cause-Effect Graph: Relationship between inputs and outputs.


Example: Login success only if username & password valid.

White Box Testing


Tests internal logic of the program.
Includes Statement, Branch, Condition, Loop, and Basis Path Testing.

Basis Path + Cyclomatic Complexity


Cyclomatic Complexity measures number of independent paths and complexity.
Formulas:
V(G) = E − N + 2
V(G) = D + 1
V(G) = Number of Regions
Lower CC means easier testing; ideal < 10.

Software Quality Assurance (SQA)


SQA ensures software quality using planned and systematic activities.
Includes: Quality planning, standards, reviews, defect tracking, training and documentation control.

Formal Technical Review (FTR)


Purpose: Detect errors early in requirements, design, code, testing.
Process: Preparation → Review Meeting → Record Findings → Follow-up.

Software Configuration Management (SCM)


SCM manages and controls software changes ensuring consistency and integrity.

Configuration Items
SRS, Design docs, Source code, Test cases, Manuals, Plans.

Baseline
Approved reference version that cannot change without formal approval.

Version Control
Manages multiple versions; supports rollback and team collaboration (Git, SVN).

Change Control Process


Submit Change Request → Impact Analysis → CCB Decision → Implementation → Testing →
Version Update.

Software Maintenance
Activities after delivery to fix problems, improve performance, adapt environment.

Types of Maintenance
Corrective: Fix bugs.
Adaptive: Adjust to environment changes.
Perfective: Improve performance/features.
Preventive: Prevent future problems.

You might also like