Skip to content

Parabank is a virtual banking application that represents a simulated environment for testing and simulating financial transactions. It is not a real financial institution but is used in place of a real banking application during software testing. (Alternative URL: https://para.testar.org/)

Notifications You must be signed in to change notification settings

NigarAylaOzcanan/ParaBank_CucumberProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Agile Software Testing Project - ParaSoft/Parabank US Sprint

One Week Sprint URL: Parasoft Project

Alternative URL: Parasoft Project

Project Description:

Parabank is a virtual banking application that represents a simulated environment for testing and simulating financial transactions. It is not a real financial institution but is used in place of a real banking application during software testing.

The test environments provided above are designed for performing various operations that users can execute in a web-based banking application. They are valuable tools for simulating financial transactions such as account creation, money transfers, credit application submissions, and bill payments. They are utilized for implementing various test scenarios.

The environment we will use for this sprint: https://parabank.parasoft.com/

User Stories & Contributors

User Story Contributor Role
US_601: User Registration Erdem GĂĽrel QA Engineer
US_602: User Login Onur Girgin QA Engineer
US_603: Bill Payment Functionality Onur Girgin QA Engineer
US_604: Account Creation Nigar Ayla Ă–zcanan Project Lead & QA Engineer
US_605: N/A N/A N/A
US_606: Inter-Account Money Transfer Erdem GĂĽrel QA Engineer
US_607: Contact Information Update Beyza Nur Er QA Engineer
US_608: Loan Application Onur Girgin QA Engineer

User Story Summary:

  • US601 | User Registration: Create registration records for new users in ParaBank.
  • US602 | User Login: Verify the login process for registered users.
  • US603 | Bill Payment Functionality: Test payment processes for various bill types such as electricity, water, and gas bills.
  • US604 | Account Creation: Test the creation of both checking and savings accounts.
  • US605 | {NULL}
  • US606 | Inter-Account Money Transfer: Testing user’s ability to transfer money between their own accounts.
  • US607 | Contact Information Update: Test updating of user contact information.
  • US608 | Loan Application: Test the loan application process and its outcomes.

User Story (US601):

As a user, I want to benefit from bank services by opening an account on the Para Bank website. When I complete the account opening process, I must verify that I have successfully registered. So I can access my private bank services.

US_601_Reg

Acceptance Criteria (AC01):

  1. The user must navigate to the ParaBank website.
  2. The website must have a connection such as "register" or "sign up" on the home page.
  3. The user must fill out the registration form and use information that is not valid in this form (for example, a false name and a false e-mail address).
  4. After completing the registration form, the user must click on a button such as "submit" or "register".
  5. The user must verify a successful registration process and see a message like "Your Account Was Created Successfully. You are now logged in."

Preconditions:

  • Internet access should be provided in the test environment.
  • The browser to be used for the test (e.g., Chrome, Safari, or Firefox) must be installed and initiated.
  • The user should be able to access https://parabank.parasoft.com/.

Test Data:

All fields except for the phone number must be filled out with optional values.

  • First Name: {OPTIONAL}
  • Last Name: {OPTIONAL}
  • Address: {OPTIONAL}
  • City: {OPTIONAL}
  • State: {OPTIONAL}
  • Zip Code: {OPTIONAL}
  • Phone #: {OPTIONAL}
  • SSN: {OPTIONAL}
  • Username: {OPTIONAL}
  • Password: {OPTIONAL}
  • Confirm Password: ''

Priority:

This story is a high priority for new users to use the Para Bank website because an account opening process is a basic step.

Test Types:

Accounts, Smoke, Regression

Scenarios:

Scenario 1 Case 1: Creation of User Record

- The user navigates to the ParaBank website.
- Click the "Register" link on the home page.
- The user fills the areas given in the customer data.
- Click the user register button.
- The user is logged in the system with the information entered during registration.
- The user confirms the message that it is successfully registered and logged.

User Story (US602):

As a user, I want to access my account by logging into the Para Bank website and perform my bank transactions. I need to confirm whether logging into the site is successful or unsuccessful by testing my login process with valid and invalid user information. So I can be sure that I have accessed the site safely.

US_602_Login

US_602_Login_Neg

Acceptance Criteria (AC02):

  1. The user must navigate to the ParaBank website.
  2. The website must have a connection such as "Sign In" or "Login" on the home page.
  3. The user must log in using the current user name and password combination.
  4. The user must attempt to log in using an invalid user name or password combination.
  5. After the login process, the user must verify a successful or unsuccessful input.

Preconditions:

  • This test requires successfully completing the story called "US701".

Test Data:

  • "Valid username and password combination"
  • "Invalid username and password combination"

Priority:

This story is a high priority for new users to use the Para Bank website because the entry process is a basic step.

Test Types:

Accounts, Smoke, Regression

Scenarios:

Scenario 2 Case 1: Login with valid user information:

- The user navigates to the ParaBank website.
- On the home page, click "Sign In" or "Login" link.
- Login with a valid user name and password combination.
- The user confirms that it has successfully entered.
- The user switches the session with "Log Out" option.

Scenario 2 Case 2: Login with invalid user information:

- The user navigates to the ParaBank website.
- On the home page, click "Sign In" or "Login" link.
- It logs in with an invalid user name or password combination (for example, wrong user name and wrong or empty password).
- The user confirms an unsuccessful input and confirms the error message that appears on the screen.

User Story (US603):

As a user, I want to pay my invoices through the Para Bank website. I need to verify the invoice payment process of the system by paying different types of invoices (electricity, water, natural gas). So I can spend the time I spend on invoice transactions.

US_603_BillPayment

Acceptance Criteria (AC03):

  1. The user must have successfully entered the Para Bank website.
  2. The user must be directed to the invoice payment (Bill Pay) page.
  3. The user must test the functionality of the system by paying different types of invoices (electricity, water, natural gas).
  4. After each invoice payment, the user must verify that the payment is successfully completed.
  5. The user must verify that the account balance is updated after each payment process and the list of the paid invoice is updated.

Preconditions:

  • This test requires successfully completing the story called "US702".

Test Data:

  • Buyer Name: A username containing the invoice type (e.g., Enerjisa Electricity, Ä°GDAĹž Natural Gas ...)
  • Address: {random}
  • City: {Random}
  • Region: {random}
  • Postal Code: {Random}
  • Phone #: {random}
  • Buyer Account #: {random}
  • Verify the buyer account #: ''

Priority:

This story is important to perform users' daily financial transactions, so it is a high priority.

Test Types:

Payment, Smoke, Regression

Scenarios:

Scenario 3 Case 1: Electric Bill Payment:

- The user successfully logs in to the ParaBank website.
- The user clicks the "Bill Pay" ("Invoice Payment") option from the menu on the website.
- The user is directed to the invoice payment page.
- The user also enters the type of invoice (electricity) he wants to pay into the recipient name (payee name) (for example, "Enerjisa Electricity Bill").
- The user fills the invoice information in the customer datas with random {random} values.
- The user enters the amount to be paid (for example, $ 85).
- The user selects the account to pay.
- The user clicks the "Payment" button to confirm the payment process.
- The user confirms that the payment is successfully completed, the payment amount, and the payment account number.
- The user clicks on the link "Accounts OverView".
- User clicks on the payment account number.
- The user confirms the payment date in the list, the payment name, and the payment amount in the list.

Scenario 3 Case 2: Water Bill Payment:

- Repeat the steps from Case 1, replacing the type of invoice with water and adjusting the payment amount accordingly.

Scenario 3 Case 3: Natural Gas Invoice Payment:

- Repeat the steps from Case 1, replacing the type of invoice with natural gas and adjusting the payment amount accordingly.

User Story (US604):

As a user, I want to be able to create futures and demand accounts. Thus, I can better organize my financial transactions and manage efficiently.

US_604_NewAccount

US_604_NewAccount2

Acceptance Criteria (AC04):

  1. The user must have logged in before starting the account creation process.
  2. The user must be able to access the relevant menu or page to create futures or demand accounts.
  3. The following options should be offered to the user on the account creation screen:
    • Account Type: Savings
    • Account Type: Checking
  4. The user should select the account of the desired type (term or free).
  5. When creating a bank account, the user should be able to see the message of how much starting balance should be.
  6. The user should be able to select the requested account for starting balance during creating a bank account.
  7. The user must enter the necessary information correctly and completely and click a button such as "open a new account".
  8. When the account creation process is successfully completed, a confirmation message and new account number must be shown to the user.

Preconditions:

  • This test requires successfully completing the story called "US601".
  • The user must be logged into the system.
  • {min. Balance} is required.

Test Data:

  • Account Type:
    • CHECKING Accounts
    • SAVING Accounts
  • Existing existing accounts (Every time this test works, a valuable account number occurs; the first account occurs during the register.)

Priority:

This story is a basic step for users to manage their financial transactions. However, compared to other procedures, it is currently a middle priority.

Test Types:

Accounts, Smoke, Regression

Scenarios:

Scenario 4 Case 1: Checking Account:

- The user successfully logs in to the ParaBank website.
- The user clicks on the "Open New Account" link from the menu on the website.
- The user is directed to the bank account opening page.
- The user selects the type of account from the Drop-Down menu as "checking".
- The user will open a minimum balance in the new bank account {Min. Balance} receives the warning that it should be found.
- The user selects the account from the Drop-Down menu to attract the minimum balance.
- The user clicks the "Open New Account" button.
- The user sees the account number by verifying that the new bank account has been created successfully.

Scenario 4 Case 2: Savings Account:

- Repeat the steps from Case 1, selecting the account type as "Savings" from the drop-down menu.

User Story (US605): {NULL}


User Story (US606):

As a user, I would like to transfer money from one of my current accounts to another. In this way, I can quickly meet my different financial needs.

US_606_TransferFunds

Acceptance Criteria (AC06):

  1. The user must be logged in before initiating a money transfer between accounts.
  2. The user should have access to the relevant menu or page for initiating a money transfer.
  3. On the Money Transfer screen, the user should be prompted to provide the following information:
    • Sending Account (Account to be debited)
    • Receiving Account (Account that will receive the money)
    • Transfer Amount
  4. The user must enter the required information for the transfer process accurately and completely.
  5. To confirm and complete the money transfer process, there must be a "Transfer" button available.
  6. The user should be able to click the "Transfer" button.
  7. Once the transfer process is approved, a confirmation message or transaction details must be displayed to the user. This information should include details of the sending account, receiving account, and transfer amount.
  8. The user should have the option to verify the transfer through an alternative method, such as checking the account summary, in addition to the confirmation message.

Preconditions:

  • This test requires successfully completing the story called "US701".
  • The user must be logged into the system.
  • After logging in, the user must successfully execute the "US704" case at least once.
  • The user must have at least two accounts.
  • The user must have a sufficient balance to be able to transfer.

Test Data:

  • Amount: {$OPTIONAL}
  • Sender Account (from...): {Select}
  • Receiver Account (to...): {Select}

Priority:

Low

Test Types:

Loan, Accounts, Regression

Scenarios:

Scenario 6 Case 1: Money transfer between my accounts:

- The user successfully logs in to the ParaBank website.
- The user clicks on the "Money Transfer" (or "Transfer Funds") link from the website menu.
- The user is directed to the fund transfer page.
- The user selects a sender and receiver account from the drop-down menu.
- The user enters the {$ OPTIONAL} amount to be transferred into the "Amount" field.
- The user clicks the "Transfer" button.
- The user confirms the transfer details in the confirmation message, including sender account, receiver account, and transfer amount.
- The user clicks on the link of the newly created credit account number.
- The user verifies the account details, including the account number, type, balance, and available balance.
- The user confirms the absence of transactions in the account activity.

User Story (US607):

As a user, I want to update the contact information in my profile. In this way, my address, my phone number and other contact information will be up-to-date and correct, so that I can communicate with the bank in a smooth way when communicating and transactions.

US_607_UpdateContact

Acceptance Criteria (AC07):

  1. The user should have access to the account management panel after logging in.
  2. Contact information provided in the customer data on the profile page should be editable.
  3. When the user wishes to edit any communication information, they should be able to update the relevant field.
  4. When the user clicks on an editing confirmation button, such as "Update Profile," the changes should be reflected in the database.
  5. Upon successful update of the changes, a confirmation message must be displayed to the user.
  6. The user should receive an appropriate error message if they enter incorrect or incomplete information.
  7. The user logs out and logs back in. After this step, they should confirm that the updated contact information is correctly displayed on their profile page.

Preconditions:

  • This test requires successfully completing the story called "US601".
  • The user must be logged into the system.

Test Data:

All {Optional}:

  • "First Name" (Name)
  • "Last Name" (Surname)
  • "Address" (Address)
  • "City" (City)
  • "State" (State)
  • "Zip Code" (Postal Code)
  • "Phone #" (Phone number)

Priority:

Low

Test Types:

Contact, Regression

Scenarios:

Scenario 7 Case 1: Update contact information:

- On the home page, the user finds and clicks "Update Contact Info" or similar.
- The user displays the customer data on the "Update Profile" screen.
- The user enters new information in the relevant fields to update the contact information.
- The user clicks the "Update Profile" button to save user updates.
- The user receives a confirmation message confirming the successful update process.
- The user switches the session (logout) and re-entry (login).
- The user confirms that the updated contact information is accurately displayed after logging in.

Scenario 7 Case 2: Update contact information (Negative):

- On the home page, the user finds and clicks "Update Contact Info" or similar.
- The user displays the customer data on the "Update Profile" screen.
- The user deletes at least three optional fields from the contact information (leaving Null).
- The user confirms the warning messages given in areas left empty.
- The user tries to click the "Update Profile" button to save updates.
- The user confirms that the "Update Profile" button does not make any changes on the page.

User Story (US608):

As a customer, I would like to apply for a loan through the Parabank website. This way, I can get the financing I need and follow the status of my application.

US_608_Loan_Credit

Acceptance Criteria (AC08):

  1. The user should be able to apply for a loan.
  2. The user should be able to see the result of the loan application immediately.
  3. If the user is approved, they must receive the message "Approved"; if the application is rejected, they must receive the message "Denied".
  4. If the application is approved, the user must be shown the new credit account number.
  5. The user must verify that there is no operation in the new account activity.
  6. If the application is rejected, the user should be able to see the reason for rejection.

Preconditions:

This test requires the successful completion of the story called "US601". The user must be logged into the system.

Test Data:

  • Loan Amount: (e.g., $2,000, $1,000,000)
  • Down Payment: (e.g., $400, $10,000)
  • The account to which the down payment will be withdrawn: {Account selection}

Priority:

This story includes an important feature for users to manage their financial transactions. However, compared to other stories, it is currently a low priority.

Test Types:

Loan, Accounts, Regression

Scenarios:

Scenario 8, Case 1: Request Credit

- On the Parabank home page, the user clicks the "Request Loan" link.
- The user enters the "$2000" and "Down Payment" field into the "Loan Amount" field.
- The user selects an account number from the Drop-Down menu in the "From Account #".
- The user clicks the "Apply Now" button.
- The user confirms the following information that appears under the title "Loan Request Processed":
    - Loan Provider: Parabank, Status: Approved
- The user confirms the message "Congratulations, Your Loan Has Been Approved.".
- The user clicks on the link of the newly formed credit account number.
- The user confirms the following information that appears under the title "Account Details":
    - Account Number: {New Credit Credit Account No}
    - Account Type: Loan
    - Balance: $2000.00
    - Available: $2000.00
- The user confirms the message "No Transactions Found." under the title "Account Activity".

Scenario 8, Case 2: Request Credit (Negative)

- On the Parabank home page, the user clicks the "Request Loan" link.
- The user enters the "$1,000,000" and "Down Payment" field into the "Loan Amount" field.
- The user selects an account number from the Drop-Down menu in the "From Account #".
- The user clicks the "Apply Now" button.
- The user confirms the following information that appears under the title "Loan Request Processed":
    - Loan Provider: Parabank, Status: Denied
- The user confirms the message "You do not have sufficient Funds for the Given Down Payment.".

Prerequisites

  • Java Development Kit (JDK): Installed on your system for Java code writing and compilation.

  • IDE (Integrated Development Environment): Choose IntelliJ IDEA, Eclipse, or NetBeans for Java development.

  • Maven: Installed for dependency management and project build tasks.

  • Git: Installed for version control, essential for managing your project's source code on GitHub.

  • Selenium WebDriver: Familiarize yourself with its usage and basic automation techniques.

  • TestNG: Understand its annotations and how to write test cases using this framework.

  • Cucumber: Learn the basics of BDD and writing feature files and step definitions.

  • Page Object Model (POM): Understand and implement this pattern in your test automation framework.

  • Extent Report or Similar Reporting Tool: Familiarize yourself with integrating and generating test reports.

  • JIRA & XRAY or Similar Test Management Tools: If using, ensure access and understand test case creation, management, and defect reporting.

  • Logging with slf4j: Learn to configure and use for logging in your Java project.

Technologies and Tools:

The basic technologies and tools to be used in this project include:

  • Programming Language: Java

  • Test Automation Tools: Selenium WebDriver

  • Test Framework: TestNG

  • BDD Framework: Cucumber

  • Test Automation Pattern: Page Object Model (POM)

  • Dependency Management and Build: Maven

  • Reporting Tools: Extent Report or a similar reporting tool

  • Version Control System: Git and GitHub

  • Test Management Tools: JIRA & XRAY or similar tools

  • Logging Interface: slf4j (Simple Logging Facade for Java)

Getting Started

Follow these steps to get started with the project:

  • Ensure that you have all the necessary prerequisites installed on your system, including JDK, IDE, Maven, Git, and required browser drivers.

  • Clone the repository to your local machine:

  • Set up the necessary dependencies in the project.

  • Configure WebDriver for the desired browser (e.g., ChromeDriver, FirefoxDriver).

  • Update the test scripts in the project to reflect the specific test scenarios and requirements.

Contributing

Contributions are welcome! If you find any issues or want to add more tests, feel free to open a pull request.

About

Parabank is a virtual banking application that represents a simulated environment for testing and simulating financial transactions. It is not a real financial institution but is used in place of a real banking application during software testing. (Alternative URL: https://para.testar.org/)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published