How To Test Banking Domain Applications: A Complete BFSI Testing Guide
How To Test Banking Domain Applications: A Complete BFSI Testing Guide
Guide
Last Updated:April 16, 2020
A Complete Guide to Testing Banking Application: BFSI (Banking, Financial Services, and Insurance) Testing
Process and Tips
Banking applications are one of the most complex applications in today’s software development and testing industry.
What makes Banking applications so complex? What approach should be followed to test the complex workflows
involved in banking applications?
In this article, we will be highlighting different stages and techniques involved in testing Banking applications.
Experts are involved in writing requirements on more than one subject as banking itself has multiple sub-domains and
one full-fledged banking application will be the integration of all these domains.
For Example, A banking application may have separate modules for Transfers, Credit Cards, Reports, Loan
Accounts, Bill Payments, Trading Etc.
#2) Requirement Review
The deliverable of Requirement Gathering is reviewed by all the stakeholders such as QA Engineers, Development
leads and Peer Business Analysts.
They cross-check that neither existing business workflow nor new workflows are violated. All the requirements are
verified and validated. Follow up actions and requirement document revisions are done based on the same.
Further, these Business Scenarios are reviewed by Business Analysts to ensure all of the Business Requirements
are met. It is easier for BAs to review high-level scenarios rather than reviewing low-level detailed Test
Cases.
For example, a customer opening a Fixed deposit on the digital banking interface can be a business scenario.
Similarly, we can have different business scenarios related to net banking account creation, online deposits, online
transfers, etc.
#4) Functional Testing
In this stage, functional testing is performed and the usual software testing activities are performed such as:
Test Case Preparation: In this stage Test Cases are derived from Business Scenarios, one Business Scenario leads
to several positive test cases and negative test cases. Generally, tools used during this stage are Microsoft Excel,
Test Director or Quality Center.
Test Case Review: Reviews by peer QA Engineers
Test Case Execution: Test Case Execution could be either manual or automatic involving tools like QC, QTP, etc.
The functional testing of a banking application is quite different from ordinary software testing. Since these
applications operate with customer’s money and sensitive financial data, they are required to be tested thoroughly.
No important business scenario should be left to be covered.
Also, the QA resource who is testing the application should have the basic knowledge of the banking domain.
Data loading
Database Migration
Testing DB Schema and Datatypes
Rules Testing
Testing Stored Procedures and Functions
Testing Triggers
Data Integrity
The major purpose of database testing is to ensure that:
The Application is able to store and retrieve data from the database without any loss of data.
Completed transactions should be committed and aborted transactions are reverted back to avoid any
mismatch in data stored.
Only authorized applications and users are allowed to access the database and the underlying tables.
There are primarily three ways of Database Testing:
Structural Testing
Functional Testing
Non-Functional Testing
Structural Testing
It involves testing the database objects like databases, schema, tables, views, triggers, access controls, etc. Ensuring
that data types in tables are in sync with the corresponding variables in the application. Validating data and referential
integrity in the tables.
For Example, An amount field in the application should have a data type of decimal/float in the table.
– In order to comply with standards, users should be given access controls through views.
Functional Testing
It involves testing the databases that satisfy user requirements. There are two ways to achieve: Black box testing and
White box testing.
For Example, When we do an online money transfer, the sender account should be debited and the receiver account
should be credited with the exact same amount. If the transaction fails then whole transactions should be reverted
and the sender account should not be debited or credited back.
Non-Functional Testing
It involves load & stress testing and performance optimization. Load testing helps in identifying the most number of
transactions that can be performed concurrently without impacting database performance.
For Example, Based on the input from load and stress testing banking applications can decide to add more
resources to their application during peak business hours and reduce the resources during off business hours. This
helps the bank to make optimum use of resources and save money.
#6) Security Testing
Security Testing is usually the last stage in the testing cycle. A prerequisite to commencing security testing is the
completion of functional and non-functional testing. Security testing is one of the major stages in the entire
Application testing cycle as this stage ensures that application complies with Federal and Industry standards.
Due to the nature of the data they carry, banking apps are very sensitive and are a prime target for hackers &
fraudulent activities. Security testing makes sure that the application does not have any such web vulnerability that
can expose sensitive data to an intruder or an attacker. It also assures that the application complies with standards
like OWASP.
In this stage, the major task is the whole application scan which is carried out using tools like IBM AppScan or HP
WebInspect (these are the most popular tools).
Once the scan is completed, the Scan Report is published. Over this report, False Positives are filtered out and the
rest of the vulnerabilities are reported to the Development team so that they start fixing the issues depending on the
severity of each issue.
Penetration testing is also done at this step to reveal the propagation of errors. Rigorous security testing should be
done across platforms, networks, and OS.
Some Other Manual tools for Security Testing used are Paros Proxy, Http Watch, Burp Suite, and Fortify.
The main purpose of security testing is to pinpoint any vulnerabilities the software application, may have.
Usability Testing
A banking application serves a wide variety of customers. Some of these customers might lack the skills and
awareness required to perform the banking tasks over the app.
Thus, the banking application should be tested for simple and efficient design to make it usable across different
groups of customers. The simpler & easy to use interface is, the higher number of customers will be benefited from
the banking application.
It’s about examining the level of ease, business users or bank customers have in using the application. This testing is
not performed by the developer or tester but is performed by the business users.
For Example, Nowadays everyone uses mobile apps. The banking app should be user-friendly and easy to
understand and use by the end-user.
Types Of Usability Testing
Comparative Usability Testing: This is comparison-based testing, where ease of usability of one website or
application with another. The target for such testing is to provide the best user experience.
Explorative Usability Testing: The aim of this testing is to identify what features should the new application or
software should possess in order to meet the bank’s customer requirements.
Following are advantages and disadvantages of Usability Testing
Advantages:
The end-users of the application are usually involved with the testing, hence first-hand feedback is obtained.
Rather than spending time on analysis and discussion about a feature that a product should have or not, it is
better to get the inputs from the end-user directly.
We can catch any potential issues beforehand.
Disadvantages:
As multiple end-users are involved in testing, their opinions if not precise can affect the requirement.
The feed from end-users may get influenced.
Performance Testing
Certain periods of time like payday, end of the financial year, festive seasons might bring in change or spike in the
usual traffic on the app. Hence, thorough performance testing should be done so that customers don’t get affected by
performance failures.
A significant example from the past where bank customers got personally affected due to performance failures is
NatWest and RBS cyber Monday IT outage in which the customers had their debit and credit card got declined
transactions across shops in the country.
In today’s scenario majority of Banking Projects are using: Agile/Scrum, RUP, and Continuous Integration
methodologies, and Tools packages like Microsoft’s VSTS and Rational Tools.
As we mentioned about RUP above, RUP stands for Rational Unified Process, which is an iterative software
development methodology introduced by IBM which comprises of four phases in which development and testing
activities are carried out.
This two-part article series is useful for anyone who wants to explore and enter into a different domain for testing,
learn and understand healthcare application workflow and testing process.
In short, this article will be your first step and a guide on your healthcare knowledge quest. In part-2 we will
provide test scenarios for different applications under the Healthcare domain.
To excel in testing, domain knowledge is the key. So, we are going to learn about the client’s business flow now.
What You Will Learn: [hide]
Healthcare Domain- An Introduction
o How To Test a Healthcare Application?
o Health Care Application Testing Workflow
o Recommended Reading
Healthcare Domain- An Introduction
Health Care or Health Insurance is similar to general insurance. As you know, in any insurance, the insurer
(Insurance company) will provide the plans and the customer (Subscriber or Policyholder) will buy the policy of his
desired plan. The insurer will receive the premium amount from the policyholders and the policy Holders will get
reimbursements from the insurer for the valid claims they have submitted.
The same happens in healthcare insurance but in addition to insurer and policyholder, there are other major
contributors such as provider, TPA (Third Party Administrator), broker, etc.
For Example, We can understand the basic function of contributors from the below example.
Mr. Enosh bought a health care policy that covers general physician consultation and vision problems from Mr.
Ponnar and pays a premium for the same to a healthcare company.
Once Mr. Enosh was sick and consulted the Physician Mr. Sabari for recovery, Sabari provided a prescription to
Enosh and submits a claim for the consultation to HealthCorp Company and receives the reimbursement. Mr. Ponnar
receives a commission from HealthCorp Company for the payment of premium by Mr. Enosh.
In the above example, ‘General Physician Consultation' and ‘Vision Problems' are the benefits of the health plan, Mr.
Enosh is the policyholder, Mr. Ponnar is the broker, HealthCorp Company is the insurer and Mr. Sabari is the
provider.
To clearly understand the difference between policy and plan, think plan as a class and policy as an object ( an
instance of the class). A policy can be categorized as individual policy and group policy based on the type of
beneficiaries it covers.
Individual Policy: An individual will be the policyholder; both the individual and his/her dependents will enjoy the
benefits of the health plan. Here the individual pays the premium.
Group Policy: An entity (Generally an employer) will be the policyholder, the members (Employees) of the entity and
their dependents will enjoy the benefits of the health plan. Here the entity pays the premium.
For Example, An example to have a clear idea of group policy is as follows,
MotoCorp Company buys a policy from HealthCorp Company for its employees and their family. Their claims are
managed by EasyClaim Company. Here MotoCorp Company is the policyholder, HealthCorp Company is the Insurer
and EasyCliam Company is the TPA.
How To Test a Healthcare Application?
Before testing an application, we should be aware of the healthcare industry workflow. The previous topic just gives
an introduction to managed health care, more details are available here.
An Insurer needs different applications to manage the following:
Provider data
Member data
Premium billing/payment
Broker data
Claims entry/validation
Broker commission calculation/payment
Generally, a Healthcare application will have the following list of systems:
Member system: To maintain policyholder data, various plans with their list of benefits and generate
premium bills for the policyholder based on their plans
Provider system: To maintain provider data
Broker system: To maintain broker data and calculate commissions
Claims system: For claim entry and validation
Finance system: To do the necessary payment to provider/member/broker
Member portal: To display the policyholder information, make premium payments and raise a request for
change information for policyholders
Provider portal: To display provider information and raise a request for change information for providers
Broker portal: to display broker information and raise a request for change information for brokers
This might not be an exhaustive list. But, this is the list to the best of my knowledge. Also, all applications might not
even be used. Sometimes, few of these applications are merged to make another combination application- other
times, these are stand-alone systems.
For Example, the Provider system can be part of the Member system in some healthcare applications. By Healthcare
application, I mean a set of systems maintained by an Insurer to facilitate their customers and partners.
Health Care Application Testing Workflow
The unique feature of the Health Care system is that these applications cannot be tested in any order we like. There
is a certain workflow to be followed:
Now, that’s the order in which the systems in Healthcare application should be tested.
In the last article, we did some heavy lifting in terms of understanding the healthcare domain. We are ready to put our
“Tester’s hat” back on and now try to understand how to test the health care applications.
=> If you haven't read part 1 please read it here: How to Test Health care application – Introduction
We are now going to pick each application/system and come up with conditions that we are going to validate in each
one of them.
This article is useful for the testers who are already in the Healthcare domain or those who want to enter in
this hottest career field.
Let’s get started!
Termination: In an Individual Policy, the policy is terminated with a termination date of which a policyholder will not
be covered by the insurance plan.
In Group Policy, either the member alone can be terminated with a termination date or the whole group can be
terminated.
Reinstatement: If a terminated member asks for the policy to be active again and the current date is within the grace
period from the termination date then the member can be reinstated without a gap in coverage. The policy effective
date will be the same old effective date and not the current date.
Re-enrollment: If a terminated member asks for the policy to be active again and the current date is beyond the
grace period from the termination date then the member can be re-enrolled with a gap in coverage. The policy
effective date will be the current/future date and not be the same old effective date.
For Example, A member is enrolled in a policy with an effective date as 1/1/2013 and terminated on 12/31/2013. lets
us take 30 days as the grace period fixed by the insurance company.
Case 1: If the member comes back on 1/15/2014 and wants the policy to be effective against then it
is Reinstatement if the member pays the premium for the period 12/31/2013 to 1/15/2014 then the policy effective
date will be the same old 1/1/2013.
Case 2: If the member comes back on 2/1/2014 and wants the policy to be effective again then it is Re-
enrollment and the policy effective date will be 2/1/2014. Here there is a gap in coverage (1/1/2014 to 1/31/2014).
Positive flow System Testing should include scenarios to
Enroll different types of members with past, current and future effective dates.
Change and inquire about members.
Generate a premium bill for an active member for next month.
Terminate an active member with past, current and future termination date greater than the effective date.
Re-enroll a terminated member with past, current and future effective dates.
Reinstate a terminated member.
Negative flow System Testing should include scenarios to
Enter, edit and process claims for the member as well as a dependent.
Should throw errors for invalid claims based on the incorrect data entered.
Positive flow System Testing should include scenarios to enter, edit and process claims for the member as well as a
dependent.
Negative flow System Testing should include scenarios to
Enter and validate a claim with invalid diagnosis code and procedure code.
Enter and validate a claim with an inactive provider ID.
Enter and validate a claim with a terminated member.
System Integration testing should include scenarios to validate the feed to downstream systems such as finance and
provider portal.
Positive flow System Testing should include scenarios to check whether the correct address or account number is
chosen for the respective provider, member or broker for the payment.
Negative flow System Testing should include scenarios to
Check whether payment is done for the invalid member, provider or broker ID by creating respective records
in the feed.
Check whether payment is done for the invalid amount (Zero or negative) for the member, provider or broker
by creating respective records in the feed.
System Integration Testing is not needed as this doesn’t have any downstream systems and the feeds from the
upstream are validated in the System Integration testing of respective systems.
That’s it- that’s all the modules and the aspects we would test in them.
Important Tips For Testing Healthcare Software
Tip#1) Dates are important and have to be accurate because a slight change in the date may cause a major defect to
be un-noticed.
Tip#2) In Healthcare, there are many test parameters such as different types of plan, members, providers, brokers,
commission calculation method, etc., – so care should be taken while designing test cases by having a track of
parameters covered and not covered.
Tip#3) Know the business users for the respective systems and think from their perspective to find any the best
defects.
Tip#4) It is not needed to follow the same order for system testing and the scenarios provided here just cover the
overall functionality of a healthcare application. You may also need to include some more scenarios (more hints
at this post) based on the requirements you receive.
Tip#5) Health care is now moving towards a cost-effective way of providing care. Thus they have introduced an
exchange model where the subscriber can have a view of plans given by all the insurers which increases the
competitive nature of the insurers thereby indirectly stating the need for cost reduction.
As healthcare evolves, there will be a need for the change in software being used and there comes the
revenue for IT by creation, modification, and testing of software applications involved- which means we can
anticipate more projects in this domain. So, keep a lookout, if this interests you.
Tip#6) The key to success in health care application testing is claims – the complete knowledge of them and how
they are adjudicated, etc.
Conclusion
Well, that covers the basics of the healthcare domain and a way to test healthcare applications.
As per Wikipedia, “A payment processor is a company (often a third party) appointed by a merchant to handle
transactions from various channels such as credit cards and debit cards for merchant acquiring banks. The payment
processor will both check the details received by forwarding them to the respective card’s issuing bank or card
association for verification, and also carry out a series of anti-fraud measures against the transaction.”
Some common Payment Gateways are Braintree, Authorize.net, PayPal, Bluepay, Citrus Payments etc.
There is a lot of literature available online and offline about payment gateways and related terminology.
In this tutorial, I have tried to simplify some of that information and tried to add my experiences.
(Source: about.com)
3) Acquiring bank – Acquiring Bank is a financial institution that maintains the merchant’s bank account and enables
a merchant to accept and process debit and/or credit card transactions on their store.
4) Issuing Bank – Issuing Bank is the financial institution that issues the customer’s debit or credit card. Whenever a
customer uses a credit or debit card to make a purchase, the Issuing bank either approves or declines the transaction
based on the cardholder account standing and passes that information to the Acquiring Bank.
For example, the transaction will be rejected if the card’s expiry date is incorrect, or if the purchase amount is more
than the card credit limit, etc.
5) Transaction – The end to end process through which the merchant receives funds for a transaction with a
customer.
6) Authorization – Authorization is requested when a customer makes a purchase. This authorization is provided by
the customer’s issuing bank and confirms the card holder’s validity, the ability to pay, and the presence of sufficient
funds etc. Once this is completed, funds are hold and the balance is deducted from the customer’s credit limit but is
not yet transferred to the merchant account.
7) Capture – In this action, the merchant collects the relevant customer payment information and sends a
settlement/capture request to the processor. The processor uses this information to initiate funds transfer between
the customer’s card account and the merchant bank account.
Also read => Banking Application Testing
Difference between payment gateway and payment processors
There is a lot of literature available online about it and whether payment gateway and payment processor are distinct
modules with distinct functionalities.
During the course of my projects, I have observed that Payment Processor and Payment gateways are used
interchangeably without any actual distinction. The merchants usually refer the ‘Payment Gateways’ as payment
processors as these process all the payments.
The ‘Payment Processors’ consider themselves as Payment Gateways as they act as a means to process and
complete the secure payment transaction.
Transaction Flow
The following flow diagram summarizes the complete flow from the moment a customer places an order to the order
being successful or declined.
An unsettled payment can be voided, that means the held funds are credited back to the card holders account. If a
transaction is already settled or captured, then a refund is initiated which means the funds are taken from the
merchant account and credited back to the card holder’s account.
If using credit or debit cards, the POS (Point of Sale testing) machine will indicate if the payment processing would be
approved or declined.
Similarly, during online transactions, we need to have a comparable system in place, which approves or disapproves
a transaction instantly.
From a customer perspective, the online payment processing on the e-Commerce website should be seamless.
Customer clicks ‘Pay now’ button and should see payment successful or declined message in next few seconds.
From the e-Commerce store perspective, the merchant needs to ensure that the complete payment cycle (getting
transactions from online store, capture and authorize, refund, voiding) are working fine. If any of these
subcomponents do not work as expected, then it can be a problem for the merchant.
From the merchant perspective, the testing phase allows them to get used to the chosen payment processor flow and
evaluate if the chosen option is actually the best fit for their application and business.
Functional Testing – Functional testing is required for newer, less established payment gateways to ensure
that the application behaves as it should i.e. it handles orders, calculations, taxes, etc. exactly how it is
supposed to. For more established payment processors, this kind of testing may not be required.
Integration Testing – Integration testing is critical while integrating with a payment gateway. As a tester,
you would need to verify that the integration of your website/online store/application is working fine with the
chosen payment gateways. As a tester you need to verify the entire transaction flow:
Place order
Check if funds are received in merchant account
Verify if transaction can be refunded or void successfully
Performance Testing – It is essential to test the website/online store/application for performance. The
payment processor should not fail if multiple users are trying to complete transactions at the same time.
Security Testing – During a transaction, a customer will be providing sensitive information like their credit
card number, CVV number etc. It is very important to ensure that all the sensitive information is transmitted
after encryption and that the channel is secure.
Helpful Tips
Based on my personal experience, the following are some helpful tips for testers:
#1) Research if a free sandbox environment (for trial and exploratory purposes) is available for the Payment gateway
that needs to be tested or implemented. Having a sandbox available is definitely helpful and gives the team that extra
flexibility to customize the tool and test as in depth as required.
#2) Make sure the transaction is tested end to end. In our projects, we tested and reported numerous bugs related to
data capture and data flow from application to the Payment gateway. Some of the specific bugs were:
Customer (buyer) name information was not getting captured correctly
The customer Credit card expiry date was getting captured incorrectly due to an incorrect function which
was causing the transactions to be declined by the issuing bank on account of incorrect credit card
information.
Duplicate transaction showing in Payment Processor
#3) Research the limitations of the payment gateway sandboxes.
For example, Authorize.net sandbox supports one currency per sandbox, so if you need to test multiple currencies,
you will need to configure different sandboxes. Also with that, you would never be able to ‘truly’ test how the system
will behave when the Live Authorize.net account will process Multi-currency transactions.
#4) If payment fails during a transaction for any reason, a suitable message should be shown to the customer. Any
error message that is too technical like ‘Object not set to instance’ or ‘404 error’ can confuse the customer and impact
user experience.
It is also a good idea to display a generic message like ‘There seems to be some issue in processing the transaction,
please contact us at 1-800-800-8000’.
#5) For the purpose of post production release verification, the client (application business owner) would need to
create a live payment processor account, set up their Merchant ID etc.
Depending on the payment processor chosen, it may take anywhere from 2 days to few weeks to set up the account.
This should be communicated by the project manager to the client in advance with sufficient time to set up the live
account before the application and payment processor integration are go live.
The following checklist can be helpful for testers and could be used as a reference:
1) Set up payment processor sandbox.
2) Gather test credit card numbers that would be used for testing different credit cards. As an example, such
information for Braintree payment processor can be found at Braintree payments.
3) Verify the behavior of the application when a transaction is successful.
4) After successful transaction verify if the payment gateway returns to your application to show some kind of
successful transaction/confirmation message.
5) Verify that the customer gets some kind of transaction confirmation notification like Order confirmation email, etc. if
the transaction is successful.
6) Check what happens if a payment fails or payment processor stops responding- is there any error message?
7) Verify the application behavior with browser popup blocker on and off. This may be helpful if any confirmation
messages are being displayed in the popup.
8) Verify different fraud prevention/security settings.
For example, if customer billing information does not match with the address provided to issuing bank- any mismatch
will result in transaction decline.
9) Verify the transaction entries in the database if the tester has access to the Application database.
10) Check what happens when a customer session expires.
11) Check the console during entire transaction and report any console errors that are observed.
12) Verify that that transaction is done on a secure channel.
For example, the checkout pages may be HTTPS versus rest of website that are HTTP pages.
14) If the applications have multiple payment options like Credit card and PayPal together, both payment options
need to individually tested from end to end.
15) Verify that refund or void amount (from payment processor admin portal) is same as the transaction amount. In
no case, the refund/void amount should exceed the transaction amount.
Read also => Testing Retail Banking System
Setting up Sandbox: Braintree Payments Example
1) Navigate to Braintree website.
2) Click on ‘Try the sandbox’ button.
(Note: Click on any image for an enlarged view)
3) You will be redirected to the Braintree sandbox website. Fill all the required information and sign up for the
sandbox
4) You will receive an email notification at the email address provided during sign up regarding confirmation of
account creation
5) You need to fill in the user information form to process further where you would be required to choose a password.
Click on ‘Agree and Create your account button’
7) Note the Sandbox keys and use them in your application to integrate with this Braintree sandbox.
8) After integration is done, the sandbox is ready for use. If you need to update the sandbox settings you can do so
using the settings menu.
Conclusion
The payment processor is a very important component for any e-Commerce application that is designed to accept
payments from its customers. Therefore it is essential to test this component thoroughly. Any missed scenario can
impact the sales /transactions of the seller and negatively impact the user experience for the customer or buyer.
Testers need to prepare or set up the test environment (sandboxes, gather dummy credit card information, response
codes etc.) and formulate a testing strategy- both for the Test environment and live/post production release testing.
A good E-commerce/Retail site is key to its success. It must be a worthy counterpart to the storefront. Because, when
you go shopping at a physical store, the customer has already made a commitment to visit and might give the brand
a chance.
Online, choices are many. So, unless there is engagement from the beginning, the user might just leave.
The better the site, the better the business.
Since so much lays on the application, it is critical that it undergoes thorough testing.
E-commerce application/sites are web applications or mobile application too. So, they undergo all the typical test
types.
Functional Testing
Usability Testing
Security Testing
Performance Testing
Database Testing
Mobile Application Testing
A/B testing.
For a quick look at most often performed tests on a typical web application, check out:
=> 180+ Sample Test Cases for Testing Web and Desktop Applications
However, Retail sites are highly dynamic in nature. There are new offers, new products, new bestsellers, Sales, etc.
This means the site doesn’t stay the same for too long. Therefore, it could get overwhelming for many.
This is the kind of the clickable image (a slideshow of sorts) that occupies the majority of the page.
When I navigate to categories and go to a sub-category, maybe movies, this is what I am going to see:
Check:
Image or images of the product
Price of the product
Product specifications
Reviews
Check out options
Delivery options
Shipping information
In stock/Out of stock
Multiple color or variations options
Breadcrumb navigation for the categories (highlighted in Red below). If navigation such as that is displayed,
make sure every element of it is functional.
If you are a returning customer you will be shown some recommended products on the home page or in your
shopping cart.
Since these are dynamic elements, the best way to test these parts of the application is to test the algorithm based on
which these sections are populated.
Check your Data mining/BI systems and check from the backend the queries that populate these sections.
Check:
Change the Order
Cancel the Order
Track the Order
Returns
#8) Other tests:
Login
FAQs
Contact Us page
Customer Service page etc.
Challenges Automating E-commerce Website
To remain on Safer Edge and deliver the desired results to the client you need to shift the focus on quality and
performance of your E-commerce website while shrinking timeline as much as possible
In general Automation Testing starts by selecting right test automation framework which directly impacts on the result
of the test automation project. The framework must include the test scripts and the scenarios of various automated
processes.
Based on the framework, the testers can easily execute the tests and obtain relevant results by generating test
reports. But selecting right tool to automate E-commerce Website depends on many key parameters. It is always
important to compare the available tools based on key parameters like features, performance, extensibility, licensing
cost, maintenance cost, and Training and support.
You must take advantage of many open source test automation tools to automate more testing efforts without
investing additional funds.
#1) E-commerce websites are much entangled in nature, automating each action is not possible because we cannot
assume the nature of the customer.
#2) Continuous changes for e-commerce demands Regression so run regression test suit every day to keep track the
effects of change.
#3) Always go with Automating Integration type of scenarios that should cover from selecting a link on home page till
checkout and payment gateway page. Hereby, you can at least cover maximum user experience with E-commerce
Website, so that adequate testing can be achieved by automating regression cycle.
#4) Never waste time automating on the unstable application. A simple change will affect your whole test suits and
you have to recreate it.
#5) Homepage of E-commerce Website is very important and contents many information and 1000 of links
associated with each product and these links grow up every day as new offers or product is added to a page. So
before proceeding to regression testing its best to verify every link in page by using HTTP status code.
#6) When you are executing test scripts on a different browser at the same time. If a product is added to shopping
cart or removed that information should be reflected in other browsers too.
#7) When you running test parallel this will obviously fail your script in such scenario you have to periodically refresh
your page to retain cart information. In real time you may come across this scenario such as a user may sometimes
use mobile e-commerce app and also mobile e-commerce web application.
#8) Don’t neglect to verify each product details and pricing details whether it is 10 products or 1000 products it should
be as per the seller requirement. This is the phase where you can make or break a customer slight mistake will lead
to a big loss.
#9) Create yourself a lot of interrupted scenarios that usually user come across design your script very robust so that
your script afford it and still run and pass the script.
For Example, you stored all the card information and clicked on submit due to low charge or network issue
application stuck. In this case, a user is notified about his transaction status through email and message to phone you
should validate this email or message in a test script.
#10) Web element of E-commerce website keeps changing so always Create manual xpath. Some Web Elements
attributes will be same so there will be no unique way of distinguishing in such scenario use contains() method of
xpaths or scroll into view.
#11) Automate Accessibility Testing by keyboard actions without using mouse action you definitely will come across
some of the problems and fix it. This plays a significant role in user interface testing.
#12) Tester should be carefully designed the scenario and add initiate checkpoint and insert login script whenever it
is required.
#13) Maintain different scripts for a different mode of payment to avoid confusion. Check if what happens if an order
is canceling after payment.
#14) Performance testing in other hand plays a very crucial role. The factors you need to test here request per
second, Transaction Per minute, Execution per click, a Response time of page load, duration of the task, Length of
time between click and page display and DNS lookup.
#15) Security Testing is where customer trust is gained on which e-commerce is built so here you have to spend a lot
of time testing on DENIAL OF SERVICE ATTACK, User Account security, Data confidentiality, content security, credit
card security, disable non-essential services.SSL Certificate Validation.
#16) Automating Localization testing is very challenging in e-commerce because of Compliance with accessibility
standards to support multi-lingual markets and business regions.
Conclusion:
Now, that we have a few tests listed out, let’s move on to a couple of finishing thoughts on eCommerce Testing.
A website should work – not just on computers but on mobile devices too. It needs to be responsive and secure. The
Database should be optimized and the ETL processes should help maintain a Data Warehouse that aids for OLAP
and BI. E-commerce testing should focus on all of that.
However, the most important part of E-Commerce Testing is whether the visitors are converting into paying
customers or not. The number of visits that are becoming the customer is called “Conversion Rate”.
So does one feature promote better conversion as opposed to another, is important testing. That is why A/B
testing and Usability Engineering for E-Commerce sites are gaining prominence.
Check out this article: The $300 Million Button
There are tools that are targeted at helping E-Commerce sites analyze their design for better conversion rates:
Optimizely: A personal favorite. Very affordable and very insightful for E-Commerce A/B testing
Unbounce: You can build your own landing pages and do a quick split or A/B testing
Concept Feedback: You can submit your website and get expert feedback on your site’s design and
strategy.
Any usability testing tool can be used here, but the above three are my favorite.
How To Test Point Of Sale (POS) System – Restaurant POS Testing
Example
Last Updated:April 16, 2020
Most of you may very well understand what a barcode reader is or a wireless payment device is (the most used
devices for payment transactions) but POS, in reality, involves a lot of components and each of the components
needs to be integrated well for it to run successfully.
In today’s article, I am going to write about what makes POS testing different from others. I have also
incorporated testing tips throughout the article to make this helpful for our testing community.
Example of Restaurant POS system testing included also
For large retail stores or chain of stores, none of the changes are done locally. Since POS systems accept Card
payment, they are integrated with the third party providers who mainly do credit card processing, so whenever a
credit card transaction takes place, data is sent to the third party or banks for authorization.
Image Source.
POS Physical Components and How to Test These:
#1) Terminal – Terminal is the main screen which is used to enter the details of the transaction. These are mostly
touchscreen devices. All the configurations, be it related to Product List, Pricing, Promotional Offers, Payment Modes,
gets pushed to the terminal. This is the main device used at any POS.
Terminal Testing requires validation to ensure that the devices are connected to the network and that the
latest OS is running on it to support the POS app.
#2) Display Pole – Display Pole is the device which displays the item price once the product is scanned using the
barcode scanner.
Verify display pole displays the same price as seen on POS terminal
#3) Barcode Reader – Barcode Reader is used to scan the products. After the scan is complete, a check is done in
the backend to verify if the item exists in the inventory list and also retrieve item price. Once the item gets sold the
inventory is updated to reduce the available number of units.
For Testing purpose, validation can be done by scanning a product missing from the inventory list
Validate by scanning products which are available in the inventory list but with no price tagged
Validate by scanning products which are available in the inventory list with proper tagging to a price level.
#4) Cash Register – Cash Register is used to storing Cash. For any cash transaction, the cash register opens
immediately for cashiers to accept the cash from the customer and also return the balance amount if any.
Cash Register testing can be done by selecting payment mode as Cash, and doing cash transaction with a
refund amount.
#5) Handheld Device – Handheld devices are wireless devices which are used to accept credit card payments.
These make it easy to get user authentication by carrying the device to the end user directly, where users can enter
card pin.
Testing can be done by creating a transaction by selecting a mode of payment as Card.
Verification for the manual amount entry should be done.
#6) Printer – Printers are connected to each of the terminals and are called as register printers, these are used to
generate the receipt after each transaction.
Testers can verify receipt printing, check for alignment, text overwrites, Text size, Fonts, etc.
Error Handling Case can be verified, say what will happen if the print is given when the printer is not in a
ready state or the printer is out of paper.
Verify the result when the printer goes offline or loses connection in the middle of the transaction.
#7) Magnetic Swipe Reader – MSRs are used to swipe cards used for payment which can be debit, credit or Gift
Cards. This is mostly used in retail stores or restaurants, but with changing times, where a user is required to key in
the PIN for payment, at many places you would see that a wireless device is used for accepting card payments.
In the case of Gift Cards, MSR’s are used for balance check, expiry date and for payment. Printed receipts
are given to guests for authorization. Testers should validate these cases.
Also read => 7 Types of Software Errors That Every Tester Should Know
Levels/Functions of POS:
There are basically 3 levels or functions involved in POS.
This forms one of the major areas for test. Important scenarios which can be included as part of EOD testing can be:
Verify that EOD process run is successful. This will have several intentional failures to ensure the
operational day is closed or not. Say in a restaurant, the managers will not be able to run EOD process if all
checks are not closed if all employees are not clocked out from the system. Testing should include running
this process including all checks with positive and negative scenarios. Usually, this is an automated process
which is scheduled to run at a certain time interval in real stores. For testing purpose, this process should be
tested manually.
Verify Reconciliation Reports are generated and validate the contents of the report to ensure data on the
report matches to the data from that particular store. For such types of testing, tester’s can manually create
some transactions and keep a note of the data entered, and generate reconciliation report at the day end
and match the data they entered. Reconciliation report would be more like a balance sheet with the debit
and credit details.
2) Employee Scheduling – Another important BOH activity involves the scheduling function which mainly deals with
creating a work schedule for employees. Employees should clock into the system as per their schedule.
Scheduling can be done manually or using an automated way by using data from past sales patterns and project
labour requirement. The scheduling is a backend activity but the validation happens in the front end when the
employee tries to clock in.
1) HR and Payroll – HR and Payroll system deals with employee recruitment, maintaining employee salary/wages,
labour laws, Tax Details, Employee Availability and Employee Leave.
Mostly the payroll maintenance happens with a third party like ADP etc. hence the integration needs to be tested well.
The HR activities mostly are maintained in-house. Payroll becomes a separate huge area for testing as it requires all
sorts of calculations before an employee’s paycheck amount gets finalised. It forms a huge scope for testing.
Validation could be done for HR activities like recruiting employees and then ensuring employees are
imported to POS systems
Salary/Wage calculation as per labour laws
Employees ability to enter leave details
2) Finance and Accounting – Finance and Accounting system is the one that requires the reporting. P&L
statements, planned budgets, variances, stores daily sales, etc. All these details are required by accounting team to
ensure whether the POS store is on track or not.
A lot of decisions are taken based on these report’s analysis. Say, if the team decides to open a new store, based on
historical data and analysis, the accounts team approves the budget and the area where the store could be opened.
Also, such details help them find the areas for improvement.
DW and BI systems help people at the corporate level by simplifying report generation and customizing reports as per
their needs, it also helps a better performance tracking.
Validation at POS level can be done for transactional data, but DW requires validating historical data
Validate user’s report generation ability and customization using BI tool.
Conclusion:
I hope this article explained POS testing in detail. I have another detailed article on how POS system testing can be
done for the restaurant industry.
Basic knowledge of Telecom Domain for Testers: Learn Telecom Testing (Protocol Testing) with the
best Telecom Testing Tools
Before moving deeply into Telecommunication (Telecom) domain, let us first understand what a Domain is and why
Domain Knowledge is important in the Software Industry?
In those days, testing done was only specific to an application and there was no much involvement of domain in it.
But nowadays, with the advancement in technology, demand, client expectation, etc., it is highly important to have the
specific domain knowledge to test a specific application.
Domain means a specific industry like Banking, Insurance, Telecom etc. Usually while developing any project or a
software, domain knowledge is critical as the entire software is dependent on the business logic for that specific
industry.
Business logic is different for each industry, hence we require a domain expert who is a master of the subject and
knows the in-and-out of the project.
The list given below shows the various advantages involved in having domain knowledge:
#1) Reduces Training Time
If a tester has domain knowledge then only minimal training is required for them and this, in turn, will save the cost
and time of the project.
#2) Productivity
Any organization having testers with domain knowledge will be productive as testers can understand any problem
specific to their domain expertise very easily and provide the exact solution to the problem by reducing the analysis
time.
This will increase the productivity of the project as well as the organization.
If a tester has domain knowledge then they can review the test cases technically and suggest technical changes in
the test case flow as per the business requirement.
This industry has a unique set of challenges from the technology front and the customer demands due to its wide
range of sectors. Telecom industry consists of a set of sectors like wireless communication, satellite communication,
Internet Service Provider etc.
Telecom industry builds, maintains and operates telecommunication network and thereby makes communication
possible globally through internet or phone for a human being and this service plays a vital role in anyone’s life.
OSS and BSS are related to each other and that is explained clearly in the below diagram:
BSS and OSS are separated as shown in above diagram in which passing the customer data or request from the
BSS to OSS and provides the required set-up, later activation is done by the OSS and again details are passed on to
the customer-facing application from the BSS.
Understanding the following business processes in the Telecom industry is essential while testing any
telecom application:
#1) In the Telecom Industry, it’s the provider who wants to increase his customers and for that purpose, the Telecom
Service Provider (TSP) approaches to the customers to provide a new service and checks if the customer is really
interested in his service.
#2) If a customer feels that the service is good and wants to go with a specific service then the customer generates
an inquiry. Here, basically, the customer is more interested in the quotation of the service or plan.
#3) Once the customer is satisfied with the initial details and quotes provided by the service provider then the
customer orders a service to the TSP.
#4) Now its the service provider’s responsibility for technical evaluation as if the service can be provided in that area
or not, all requirements of a customer can be fulfilled or not etc. After the successful evolution, TSP actually starts
working on the execution of the service request to the customer.
#5) TSP always tracks the order status, due to any reason if the order implementation stops then the TSP takes
priority to resolve the issue and continues to give service to the customer. After all, in today’s world, customer
satisfaction holds the key to success.
#6) After successful implementation, client or customer starts using the services and of course, billing also starts from
the service provider’s end. The billing will be generated as per the quotation provided earlier to the customer.
#7) For any technical problems, service assurance team will always be available to support the customer service.
Telecom business process stated above is explained in detail using the below diagram:
(Note: Click on the below image for an enlarged view)
[image source]
Protocol Testing
In telecommunication, protocol means a set of rules which need to be followed when two connections communicate
with each other and these protocols exist at different levels.
In the Telecom industry, Protocols are classified into two categories as shown below:
#1) Routed Protocols:
In the Telecom industry, the user sends data from one network to another and this data contains files, e-mails etc.
Using this Routed protocols, the user can send such data to a different network at a different location.
#2) Routing Protocols:
Different types of data can be transferred using Routers. Routing protocols are used to decide the route of the routers
and are used between the routers only.
Types of Protocols
Given below are the various types of Protocols:
#1) Transmission Control Protocol/ Internet protocol (TCP/IP):
This protocol is used to send information through the internet using packets.
Search:
Step
Step description Expected Result
No
Step To count the echo request, provide System should start pining and a message should
3 command as ‘Ping-n’ be displayed as “Transmit successfully”
Showing 1 to 3 of 3 entries
PreviousNext
There are different activities that are to be performed while providing service to the customers in the telecom industry.
The below details will show which department is responsible for which activities:
Show entries
Search:
Telecom
Activities associated with the department
Department
Pre-sales It takes care of all the sales related activities like advertisements, different
kind of services, discounts applicable for each service, promos etc
Ordering This department deals with of any order such as an order for a new
connection or discontinuing of existing connection
Provisioning When Telecom Service Provider (TSP) approaches to the customer for any
new service and customer placed a request to start the service then
“Provisioning” department actually provides required connection to the
customer
Billing When an order has been completed successfully by ordering and provisioning
team and the customer starts using the actual service then billing also starts.
In this department, all activities related to the billing take place
Service While using service if the customer has any technical problem then this
Telecom
Activities associated with the department
Department
Assurance department comes into the picture. There is always team available for issue
resolution for the customer. In case of any technical failure, this team resolves
the problem
Inventory Inventory system keeps all data like from customer inquiry, order placed
System successful implementation of the order, customer satisfaction history,
customer’s issues, resolution of issues etc. This system acts as a storehouse of
all information
Showing 1 to 6 of 6 entries
PreviousNext
This type of system requires a comprehensive testing so that the users are not confused about the options in the
system and they are able to complete their transaction hassle free. IVR system can be verified using voice and DTMF
(Dual-tone multi-frequency) response.
For Example, the steps mentioned below are involved to get the saving account balance of the customer:
The user dials IVR line and hears welcome prompt and menu option.
IVR prompts for verification.
The user enters his or her credentials using DTMF system.
IVR plays menu options and press 1 for account information, 2 for funds transfer.
User inputs 1, for his account information.
IVR plays press 1 for the latest balance or 2 for the last 3 transactions.
The user enters 1 using DTMF.
IVR prompts for the customers latest available balance.
Further reading => IVR Testing detailed process
#3) Interconnection Testing:
The name itself explains that testing of connection of two separate networks or their elements. The basic idea behind
this type of testing is to check if the connected elements communicate with each other properly and there is no
technical fault.
For Example, in interoperability testing, mobile phones are tested against the requirement of different networks and
they should work properly. Also, different mobile networks must work properly with different mobile phones. This type
of testing can reveal the problems which conformance testing could not be able to identify.
#5) Performance Testing:
Performance testing is the verification of a device under test which meets an acceptable level under maximum load.
Performance testing allows the device to identify its capacity with maximum communication traffic.
Security testing is also used to test how good security practice is implemented for the product and how good the
system is configurable.
Different testing types can be automated using automation framework like device testing, network testing, system
testing etc which in turn will increase the test coverage and reduce the time for execution.
The robot-based framework is used for telecom-based testing. Robot Framework is a test automation framework for
acceptance testing. Robot framework is an open source software and the libraries required with Robot framework for
telecom testing are also open sources.
An automated telecom solution provides consistent testing which can be customized based on the project
requirements.
Usually, Telecom Service Provider (TSP) takes around 6 to 8 months to complete all the activities manually.
These manual efforts introduce few error-prone results.
Automation in Telecom industry reduces the errors drastically and completes the entire process flow within a
short period of time.
Automation process guarantees the correct execution of telecom process flow which gains the confidence of
the customer.
Tools used during Telecom Testing Project
Given below are few tools that are used in telecom testing.
Show entries
Search:
Wireshark / Ethereal It is an open source tool. It used in Protocol testing for network
Tool Used in / Useful for
troubleshooting, analysis.
Test Mobile System (TMS) It is a basic tool to perform wireless network drive testing,
analysis and monitoring
CDMA Air Interface Tester It is a network optimization tool used for minimize the call drop
(CAIT) and increase the coverage
Communication Network It is used for detecting terminals quickly and rescue of multiple
Tester (CNT) terminals
Showing 1 to 8 of 8 entries
PreviousNext
Note: Mentioned above are only a few tools that are used in telecom testing. There are other varieties of tools as well
that are used in telecom testing but here the list is very limited and short.
Sample Test Case in Telecom testing
There are various testing types available in telecom testing as mentioned in the above section. However, in this
article, we will be covering the sample test case of one of the functionality Billing System which includes various
steps for testing.
There are few pre-requisites that must be completed before the start of the test like connection should already
establish and the customer must have offered different services etc.
Show entries
Search:
Step
Step description Expected Result
No
Step Validate that customer’s telephone number Customer’s telephone number should
1 is registered under telecom operator be registered with telecom operator
Step
Step description Expected Result
No
Step Validate that the number is working and Telephone number should be of 10
2 given number is of expected number of digits digits and should be working
(usually for mobile number, the digits are of
10 digits)
Step Validate that the generated bill contains all The generated bill should contain
3 accurate details of calls with date and time accurate details of call with respective
date and time
Step Validate that customer has paid all existing Existing un-paid bills should be
4 bills, if not then show it on the front screen displayed on front screen
as per business requirement
Step Validate that if customer already paid some Current bill displayed to the customer
5 excess bill then the excess amount should should deduct excess amount paid in
deduct from current bill and then display last bill and the remaining bill should
remaining bill to the customer be displayed to the customer
Step Validate that bill is generated only for those Bill should be generated for services
6 services which are active on the customer’s which are activated by customer
number
Step Validate that if any of the service is stopped Bill should be generated based on the
7 in-between the billing cycle then bill should pro-rata basis
be generated for that service up to active
date and not for entire billing cycle
Step Validate that if any of the free service Services which are free to the
8 activated on the number then it should be customer should be excluded from the
excluded from the billing usages billing
Showing 1 to 8 of 8 entries
Conclusion
The telecom industry includes various fields like network, protocols, wired communication, wireless communication,
broadband connection etc.
Hence in order to test such wide range of fields, one must have knowledge of the domain and different kind of tools
that are being used to carry out effective and in-depth testing.
This article will give all the basic information about telecom domain to those who are a newbie to the telecom domain.
During this stage issues such as that of web application security, the functioning of the site, its
access to handicapped as well as regular users and its ability to handle traffic is checked.
1. Functionality Testing:
This is used to check if your product is as per the specifications you intended for it as well as the
functional requirements you charted out for it in your developmental documentation. Web based
Testing Activities includes:
Test all links in your webpages are working correctly and make sure there are no broken links.
Links to be checked will include -
Outgoing links
Internal links
Anchor Links
MailTo Links
Scripting checks on the form are working as expected. For example- if a user does not
fill a mandatory field in a form an error message is shown.
Check default values are being populated
Once submitted, the data in the forms is submitted to a live database or is linked to a
working email address
Forms are optimally formatted for better readability
Test Cookies are working as expected. Cookies are small files used by websites to primarily
remember active user sessions so you do not need to log in every time you visit a website.
Cookie Testing will include
Testing cookies (sessions) are deleted either when cache is cleared or when they reach
their expiry.
Delete cookies (sessions) and test that login credentials are asked for when you next
visit the site.
Test HTML and CSS to ensure that search engines can crawl your site easily. This will include
Testing your end - to - end workflow/ business scenarios which takes the user through a
series of webpages to complete.
Test negative scenarios as well, such that when a user executes an unexpected step,
appropriate error message or help is shown in your web application.
2. Usability testing:
Usability Testing has now become a vital part of any web based project. It can be carried out
by testers like you or a small focus group similar to the target audience of the web
application.
Test the site Navigation:
Menus, buttons or Links to different pages on your site should be easily visible and
consistent on all webpages
Test the Content:
Application: Test requests are sent correctly to the Database and output at the client
side is displayed correctly. Errors if any must be caught by the application and must be
only shown to the administrator and not the end user.
Web Server: Test Web server is handling all application requests without any service
denial.
Database Server: Make sure queries sent to the database give expected results.
4. Database Testing:
Database is one critical component of your web application and stress must be laid to test it
thoroughly. Testing activities will include-
5. Compatibility testing.
Compatibility tests ensures that your web application displays correctly across different devices.
This would include-
Browser Compatibility Test: Same website in different browsers will display differently. You
need to test if your web application is being displayed correctly across browsers, JavaScript,
AJAX and authentication is working fine. You may also check for Mobile Browser Compatibility.
The rendering of web elements like buttons, text fields etc. changes with change in Operating
System. Make sure your website works fine for various combination of Operating systems such
as Windows, Linux, Mac and Browsers such as Firefox, Internet Explorer, Safari etc.
6. Performance Testing:
This will ensure your site works under all loads. Software Testing activities will include but not
limited to -
Website application response times at different connection speeds
Load test your web application to determine its behavior under normal and peak loads
Stress test your web site to determine its break point when pushed to beyond normal
loads at peak time.
Test if a crash occurs due to peak load, how does the site recover from such an event
Make sure optimization techniques like gzip compression, browser and server side
cache enabled to reduce load times
7. Security testing:
Security Testing is vital for e-commerce website that store sensitive customer information like
credit cards. Testing Activities will include-
8. Crowd Testing:
You will select a large number of people (crowd) to execute tests which otherwise would have
been executed a select group of people in the company. Crowdsourced testing is an interesting
and upcoming concept and helps unravel many a unnoticed defects.
Tools that can be used: People like you and me !!!. And yes , loads of them!
This concludes the tutorial. It includes almost all testing types applicable to your web
application.
As a Web-tester its important to note that web testing is quite an arduous process and you are
bound to come across many obstacles. One of the major problems you will face is of
course deadline pressure. Everything is always needed yesterday! The number of times
the code will need changing is also taxing. Make sure you plan your work and know clearly
what is expected of you. Its best define all the tasks involved in your web testing and
then create a work chart for accurate estimates and planning.
Usability Testing
Functional Testing
Compatibility Testing
Database Testing
Security Testing
Performance Testing
Usability Testing
What is Usability Testing?
A Usability test establishes the ease of use and effectiveness of a product using a standard
Usability test practices.
Web page content should be correct without any spelling or grammatical errors
All fonts should be same as per the requirements.
All the text should be properly aligned.
All the error messages should be correct without any spelling or grammatical errors and
the error message should match with the field label.
Tool tip text should be there for every field.
All the fields should be properly aligned.
Enough space should be provided between field labels, columns, rows, and error
messages.
All the buttons should be in a standard format and size.
Home link should be there on every single page.
Disabled fields should be grayed out.
Check for broken links and images.
Confirmation message should be displayed for any kind of update and delete operation.
Check the site on different resolutions (640 x 480, 600x800 etc.?)
Check the end user can run the system without frustration.
Check the tab should work properly.
Scroll bar should appear only if required.
If there is an error message on submit, the information filled by the user should be there.
Title should display on each web page
All fields (Textbox, dropdown, radio button, etc) and buttons should be accessible by
keyboard shortcuts and the user should be able to perform all operations by using
keyboard.
Check if the dropdown data is not truncated due to the field size. Also, check whether
the data is hardcoded or managed via administrator.
Functional Testing:
What is Functional Testing?
Testing the features and operational behavior of a product to ensure they correspond to
its specifications.
Testing that ignores the internal mechanism of a system or component and focuses
solely on the outputs generated in response to selected inputs and execution conditions.
The goal of Functional Testing is to verify whether your product meets the intended
functional specifications mentioned in your development documentation.
Compatibility Testing:
What is Compatibility testing?
Test the website in different browsers (IE, Firefox, Chrome, Safari and Opera) and
ensure the website is displaying properly.
Test the HTML version being used is compatible with appropriate browser versions.
Test the images display correctly in different browsers.
Test the fonts are usable in different browsers.
Test the java script code is usable in different browsers.
Test the Animated GIF's across different browsers.
Database Testing:
What is Database Testing?
In Database testing backend records are tested which have been inserted through the
web or desktop applications. The data which is displaying in the web application should
match with the data stored in the Database.
To perform the Database testing, the tester should be aware of the below mentioned
points:
The tester should understand the functional requirements, business logic, application
flow and database design thoroughly.
The tester should figure out the tables, triggers, store procedures, views and cursors
used for the application.
The tester should understand the logic of the triggers, store procedures, views and
cursors created.
The tester should figure out the tables which get affected when insert update and delete
(DML) operations are performed through the web or desktop applications.
With the help of the above mentioned points, the tester can easily write the test
scenarios for Database testing.
Example Test Cases for Database Testing:
Verify the database name: The database name should match with the specifications.
Verify the Tables, columns, column types and defaults: All things should match with the
specifications.
Verify whether the column allows a null or not.
Verify the Primary and foreign key of each table.
Verify the Stored Procedure:
Test whether the Stored procedure is installed or not.
Verify the Stored procedure name
Verify the parameter names, types and number of parameters.
Test the parameters if they are required or not.
Test the stored procedure by deleting some parameters
Test when the output is zero, the zero records should be affected.
Test the stored procedure by writing simple SQL queries.
Test whether the stored procedure returns the values
Test the stored procedure with sample input data.
Verify the behavior of each flag in the table.
Verify the data gets properly saved into the database after each page submission.
Verify the data if the DML (Update, delete and insert) operations are performed.
Check the length of every field: The field length in the back end and front end must be
same.
Verify the database names of QA, UAT and production. The names should be unique.
Verify the encrypted data in the database.
Verify the database size. Also test the response time of each query executed.
Verify the data displayed on the front end and make sure it is same in the back end.
Verify the data validity by inserting the invalid data in the database.
Verify the Triggers.
Verify the web page which contains important data like password, credit card numbers,
secret answers for security question etc should be submitted via HTTPS (SSL).
Verify the important information like password, credit card numbers etc should display in
encrypted format.
Verify password rules are implemented on all authentication pages like Registration,
forgot password, change password.
Verify if the password is changed the user should not be able to login with the old
password.
Verify the error messages should not display any important information.
Verify if the user is logged out from the system or user session was expired, the user
should not be able to navigate the site.
Verify to access the secured and non-secured web pages directly without login.
Verify the “View Source code” option is disabled and should not be visible to the user.
Verify the user account gets locked out if the user is entering the wrong password
several times.
Verify the cookies should not store passwords.
Verify if, any functionality is not working, the system should not display any application,
server, or database information. Instead, it should display the custom error page.
Verify the SQL injection attacks.
Verify the user roles and their rights. For Example, the requestor should not be able to
access the admin page.
Verify the important operations are written in log files, and that information should be
traceable.
Verify the session values are in an encrypted format in the address bar.
Verify the cookie information is stored in encrypted format.
Verify the application for Brute Force Attacks
Hence to overcome the above problems we should use Performance Testing tool. Below is the
list of some popular testing tools.
Apache JMeter
Load Runner
Borland Silk Performer.
Rational Performance Tester
WAPT
NEO LOAD