Test Plan · v1.0

ParaBank
Automation Framework

QA Automation — Financial Data Integrity Testing

Yaniv Metuku
1.0
April 2026
Active

Table of Contents

01

Introduction

1.1 Project Overview

This Test Plan defines the strategy, scope, and approach for QA automation of the ParaBank simulated banking system. The framework validates data integrity and behavioral consistency across UI, API, E2E, and Database layers — integrating TestAxiom, Failscope, and FixtureForge.

1.2 Objectives

  • Validate core banking operations: login, accounts, transfers, loan requests.
  • Ensure UI–API consistency — data in the browser matches API responses.
  • Identify input validation failures using BVA/EP via TestAxiom.
  • Execute DDT scenarios using FixtureForge-generated test data.
  • Verify DB-level data integrity after UI and API operations.
  • Analyze failures automatically via Failscope dual-agent RCA pipeline.
  • Integrate all tests into GitHub Actions CI/CD pipeline with Allure reports.

1.3 System Under Test

AttributeDetails
ApplicationParaBank — Simulated Banking System
URLhttps://parabank.parasoft.com/parabank/
TypeWeb Application + REST API
DomainFinancial Services / Banking
Default Credentialsjohn / demo
API Base/parabank/services/bank/
02

Scope

FeatureLayerStatus
Login / LogoutUI, APIIn Scope
Account OverviewUI, API, DBIn Scope
Fund TransferUI, API, E2E, DBIn Scope
Bill PaymentUI, APIIn Scope
Loan RequestUI, API, E2EIn Scope
User RegistrationUI, APIIn Scope
Find TransactionsUI, API, DBIn Scope
Input Validation (BVA/EP)UI, APIIn Scope
Mobile TestingOut of Scope
Load / Stress TestingOut of Scope
Security PenetrationOut of Scope
03

Test Approach

3.1 Layers

🖥 UI Layer

Playwright + Python. Page Object Model. CSV-based DDT via FixtureForge.

🔌 API Layer

requests + pytest. REST endpoint validation. JSON schema checks.

🔁 E2E Layer

UI action → API verify → DB confirm. Cross-layer integrity checks.

🗄 DB Layer

SQLite. Verify persistence of financial transactions post-operations.

🧪 TestAxiom

EP/BVA test design for all input fields. Decision tables for loan logic.

🔬 Failscope

Dual-agent RCA on every failure. Error fingerprinting + Groq analysis.

3.2 Test Design Techniques

TechniqueToolApplied To
Equivalence PartitioningTestAxiomLogin fields, Transfer amounts
Boundary Value AnalysisTestAxiomLoan amounts, Account balances
Decision TableTestAxiom ProLoan approval logic
Data-Driven TestingFixtureForge + CSVRegistration, Transfer scenarios
ExploratoryManualEdge cases discovered during dev
04

Test Environment

ComponentTechnologyVersion
LanguagePython3.13
UI AutomationPlaywrightlatest
Test Frameworkpytestlatest
Test DesignTestAxiom0.1.0 (PyPI)
Failure AnalysisFailscope0.1.1 (PyPI)
Test DataFixtureForgelocal
ReportingAllurelatest
CI/CDGitHub Actions
DatabaseSQLitebuilt-in
AI AnalysisGroq / Llamavia Failscope
OSWindows 11
SUT URLhttps://parabank.parasoft.com/parabank/
05

Test Cases Summary

UI Tests

IDTitlePriorityType
UI-001Valid login with default credentialsHighAuto
UI-002Login with invalid passwordHighAuto
UI-003Login with empty fields (BVA)MedAuto
UI-004Account overview displays correct balanceHighAuto
UI-005Fund transfer — valid amountHighAuto
UI-006Fund transfer — boundary amounts (BVA)HighAuto
UI-007Fund transfer — negative amountMedAuto
UI-008New user registration — valid data (DDT)HighAuto
UI-009Loan request — approved scenarioHighAuto
UI-010Loan request — denied scenarioHighAuto

API Tests

IDEndpointScenarioPriority
API-001GET /accounts/{id}Valid account returns correct dataHigh
API-002GET /accounts/{id}Invalid ID returns 404High
API-003POST /transferValid transfer updates balancesHigh
API-004POST /transferInsufficient funds returns errorHigh
API-005POST /loanLoan approval — decision tableMed
API-006GET /transactionsTransaction history is paginatedLow
API-007POST /registerDuplicate username returns errorMed
API-008GET /customers/{id}Customer data matches UI displayMed

E2E + DB Tests

IDTitleLayersPriority
E2E-001Transfer via UI → verify API balance → confirm DB recordUI + API + DBHigh
E2E-002Register via API → login via UI → account visibleAPI + UIHigh
E2E-003Loan request via UI → verify API status → DB confirmationUI + API + DBHigh
E2E-004Bill payment UI → API amount deducted → DB transaction recordUI + API + DBMed
E2E-005Find transaction by amount → UI result matches DB recordUI + DBMed

Total: 23 test cases — 10 UI · 8 API · 5 E2E/DB  |  TestAxiom generates additional BVA/EP sub-cases per field

06

Entry & Exit Criteria

TypeCriteria
Entry — Start TestingParaBank URL accessible · Python env configured · pytest + Playwright installed
Entry — CIGitHub Actions workflow file present · Allure configured
Exit — Pass≥90% pass rate · All High priority tests pass · Allure report published
Exit — FailAny E2E-001/002/003 failing · UI login tests failing · CI pipeline broken
07

Risks & Mitigation

RiskLevelMitigation
ParaBank public server downtimeHighRun local Docker instance of ParaBank as fallback
Flaky UI tests (dynamic elements)MedPlaywright auto-wait + explicit wait helpers in BasePage
Groq API unavailable (Failscope)LowFailscope offline mode (--fs-offline flag)
TestAxiom Pro license missingLowCommunity tier (EP/BVA) sufficient for most cases
DB state pollution between testsMedpytest fixtures with teardown + SQLite reset per session
08

Deliverables

DeliverableStatus
Test Plan v1.0✓ Done
Test Case SpecificationNext
Framework Code (conftest + POM)Pending
TestAxiom IntegrationPending
Failscope IntegrationPending
GitHub Actions CI PipelinePending
Allure Report (GitHub Pages)Pending