Software Testing Techniques With Test Case Design Examples
Software Testing Techniques With Test Case Design Examples
Example:
Input condition is valid between 1 to 10
The concept behind this technique is that test case of a representative value
of each class is equal to a test of any other value of the same class. It allows
you to Identify valid as well as invalid equivalence classes.
Example:
1 to 10 and 20 to 30
--- to 0 (invalid)
1 to 10 (valid)
11 to 19 (invalid)
20 to 30 (valid)
31 to --- (invalid)
Example: A submit button in a contact form is enabled only when all the
inputs are entered by the end user.
State Transition
In State Transition technique changes in input conditions change the state of
the Application Under Test (AUT). This testing technique allows the tester to
test the behavior of an AUT. The tester can perform this action by entering
various input conditions in a sequence. In State transition technique, the
testing team provides positive as well as negative input test values for
evaluating the system behavior.
Guideline for State Transition:
Example:
In the following example, if the user enters a valid password in any of the first
three attempts the user will be able to log in successfully. If the user enters
the invalid password in the first or second try, the user will be prompted to re-
enter the password. When the user enters password incorrectly 3rd time, the
action has taken, and the account will be blocked.
In this diagram when the user gives the correct PIN number, he or she is
moved to Access granted state. Following Table is created based on the
diagram above-
State Transition Table
Correct PIN Incorrect PIN
S1) Start S5 S2
S2) 1st attempt S5 S3
S3) 2nd attempt S5 S4
S4) 3rd attempt S5 S6
In the above-given table when the user enters the correct PIN, the state is
transitioned to Access granted. And if the user enters an incorrect password,
he or she is moved to next state. If he does the same 3rd time, he will reach
the account blocked state.
Error Guessing
Error Guessing is a software testing technique based on guessing the error
which can prevail in the code. The technique is heavily based on the
experience where the test analysts use their experience to guess the
problematic part of the testing application. Hence, the test analysts must be
skilled and experienced for better error guessing.
We need an easy way or special techniques that can select test cases
intelligently from the pool of test-case, such that all test scenarios are
covered.
We use two techniques - Equivalence Partitioning & Boundary Value
Analysis testing techniques to achieve this.
1. Minimum
2. Just above the minimum
3. A nominal value
4. Just below the maximum
5. Maximum
In Boundary Testing, Equivalence Class Partitioning plays a good role
Boundary Testing comes after the Equivalence Class Partitioning.
Equivalence Partitioning
Equivalence Partitioning or Equivalence Class Partitioning is type of black
box testing technique which can be applied to all levels of software testing like
unit, integration, system, etc. In this technique, input data units are divided
into equivalent partitions that can be used to derive test cases which reduces
time required for testing because of small number of test cases.
Submit
Order Pizza:
1. Any Number greater than 10 entered in the Order Pizza field(let say 11)
is considered invalid.
2. Any Number less than 1 that is 0 or below, then it is considered invalid.
3. Numbers 1 to 10 are considered valid
4. Any 3 Digit Number say -100 is invalid.
We cannot test all the possible values because if done, the number of test
cases will be more than 100. To address this problem, we use equivalence
partitioning hypothesis where we divide the possible values of tickets into
groups or sets as shown below where the system behavior can be considered
the same.
In our earlier example instead of checking, one value for each partition you
will check the values at the partitions like 0, 1, 10, 11 and so on. As you may
observe, you test values at both valid and invalid boundaries. Boundary
Value Analysis is also called range checking.
That means results for values in partitions 0-5, 6-10, 11-14 should be
equivalent
Submit
Enter Password:
Summary:
Boundary Analysis testing is used when practically it is impossible to
test a large pool of test cases individually
Two techniques - Equivalence Partitioning & Boundary Value Analysis
testing techniques are used
In Equivalence Partitioning, first, you divide a set of test condition into a
partition that can be considered.
In Boundary Value Analysis you then test boundaries between
equivalence partitions
Appropriate for calculation-intensive applications with variables that
represent physical quantities
Decision Table
A Decision Table is a tabular representation of inputs versus rules/cases/test
conditions. It is a very effective tool used for both complex software testing
and requirements management. Decision table helps to check all possible
combinations of conditions for testing and testers can also identify missed
conditions easily. The conditions are indicated as True(T) and False(F)
values.
The condition is simple if the user provides correct username and password
the user will be redirected to the homepage. If any of the input is wrong, an
error message will be displayed.
Username (T/F) F T F T
Password (T/F) F F T T
Output (E/H) E E E H
Legend:
T – Correct username/password
F – Wrong username/password
E – Error message is displayed
H – Home screen is displayed
Interpretation:
Case 1 – Username and password both were wrong. The user is shown
an error message.
Case 2 – Username was correct, but the password was wrong. The
user is shown an error message.
Case 3 – Username was wrong, but the password was correct. The
user is shown an error message.
Case 4 – Username and password both were correct, and the user
navigated to homepage
Enter correct username and correct password and click on login, and
the expected result will be the user should be navigated to homepage
Enter wrong username and wrong password and click on login, and the
expected result will be the user should get an error message
Enter correct username and wrong password and click on login, and the
expected result will be the user should get an error message
Enter wrong username and correct password and click on login, and the
expected result will be the user should get an error message
If any of the conditions fails the system will throw corresponding error
message stating the issue and if all conditions are met photo will be updated
successfully
Let's create the decision table for this case.
Format .jpg .jpg .jpg .jpg Not .jpg Not .jpg Not .jpg Not .jpg
Size Less Less >= >= 32kb Less Less >= >= 32k
than than 32kb than than 32kb
32kb 32kb 32kb 32kb
For this condition, we can create 8 different test cases and ensure complete
coverage based on the above table.
1. Upload a photo with format '.jpg', size less than 32kb and resolution
137*177 and click on upload. Expected result is Photo should upload
successfully
2. Upload a photo with format '.jpg', size less than 32kb and resolution not
137*177 and click on upload. Expected result is Error message
resolution mismatch should be displayed
3. Upload a photo with format '.jpg', size more than 32kb and resolution
137*177 and click on upload. Expected result is Error message size
mismatch should be displayed
4. Upload a photo with format '.jpg', size more than equal to 32kb and
resolution not 137*177 and click on upload. Expected result is Error
message size and resolution mismatch should be displayed
5. Upload a photo with format other than '.jpg', size less than 32kb and
resolution 137*177 and click on upload. Expected result is Error
message for format mismatch should be displayed
6. Upload a photo with format other than '.jpg', size less than 32kb and
resolution not 137*177 and click on upload. Expected result is Error
message format and resolution mismatch should be displayed
7. Upload a photo with format other than '.jpg', size more than 32kb and
resolution 137*177 and click on upload. Expected result is Error
message for format and size mismatch should be displayed
8. Upload a photo with format other than '.jpg', size more than 32kb and
resolution not 137*177 and click on upload. Expected result is Error
message for format, size and resolution mismatch should be displayed
In this case, decision table testing is a good option. This technique can make
sure of good coverage, and the representation is simple so that it is easy to
interpret and use.
This table can be used as the reference for the requirement and for the
functionality development since it is easy to understand and cover all the
combinations.
It is the model on which the system and the tests are based. Any system
where you get a different output for the same input, depending on what has
happened before, is a finite state system.
4) Actions that result from a transition (an error message or being given the
cash.)
In state transition diagram the states are shown in boxed texts, and the
transition is represented by arrows. It is also called State Chart or Graph. It is
useful in identifying valid transitions.
In state transition table all the states are listed on the left side, and the events
are described on the top. Each cell in the table represents the state of the
system after the event has occurred. It is also called State Table. It is useful in
identifying invalid transitions.
In this system, if the user enters a valid password in any of the first three
attempts the user will be logged in successfully. If the user enters the invalid
password in the first or second try, the user will be asked to re-enter the
password. And finally, if the user enters incorrect password 3rd time, the
account will be blocked.
In the diagram whenever the user enters the correct PIN he is moved to
Access granted state, and if he enters the wrong password he is moved to
next try and if he does the same for the 3rd time the account blocked state is
reached.
S1) Start S5 S2
S2) 1st attempt S5 S3
S3) 2nd attempt S5 S4
S4) 3rd attempt S5 S6
S5) Access Granted - -
In the table when the user enters the correct PIN, state is transitioned to S5
which is Access granted. And if the user enters a wrong password he is
moved to next state. If he does the same 3rd time, he will reach the account
blocked state.
In the flight reservation login screen, consider you have to enter correct agent
name and password to access the flight reservation application.
It gives you the access to the application with correct password and login
name, but what if you entered the wrong password.
The application allows three attempts, and if users enter the wrong password
at 4th attempt, the system closes the application automatically.
The State Graphs helps you determine valid transitions to be tested. In this
case, testing with the correct password and with an incorrect password is
compulsory. For the test scenarios, log-in on 2nd, 3rd and 4th attempt anyone
could be tested.
In a State Table, all the valid states are listed on the left side of the table, and
the events that cause them on the top.
Each cell represents the state system will move to when the corresponding
event occurs.
For example, while in S1 state you enter a correct password you are taken to
state S6 (Access Granted). Suppose if you have entered the wrong password
at first attempt you will be taken to state S3 or 2nd Try.
Two invalid states are highlighted using this method. Suppose you are in state
S6 that is you are already logged into the application, and you open another
instance of flight reservation and enter valid or invalid passwords for the same
agent. System response for such a scenario needs to be tested.
Advantages and Disadvantages of State Transition
Technique
Advantages Disadvantages
This testing technique will provide a pictorial The main disadvantage of this testing
or tabular representation of system behavior technique is that we can't rely in this
which will make the tester to cover and technique every time. For example, if the
understand the system behavior effectively. system is not a finite system (not in
sequential order), this technique cannot be
used.
By using this testing, technique tester can Another disadvantage is that you have to
verify that all the conditions are covered, define all the possible states of a system.
and the results are captured While this is all right for small systems, it
soon breaks down into larger systems as
there is an exponential progression in the
number of states.
Summary:
State Transition testing is defined as the testing technique in which
changes in input conditions cause's state changes in the Application
under Test.
In Software Engineering, State Transition Testing Technique is helpful
where you need to test different system transitions.
Two main ways to represent or design state transition, State transition
diagram, and State transition table.
In state transition diagram the states are shown in boxed texts, and the
transition is represented by arrows.
In state transition table all the states are listed on the left side, and the
events are described on the top.
This main advantage of this testing technique is that it will provide a
pictorial or tabular representation of system behavior which will make
the tester to cover and understand the system behavior efficiently.
The main disadvantage of this testing technique is that we can't rely in
this technique every time.
What is Use Case Testing? Technique,
Examples
What is Use Case in Testing?
A Use Case in Testing is a brief description of a particular use of the
software application by an actor or user. Use cases are made on the basis of
user actions and the response of the software application to those user
actions. It is widely used in developing test cases at system or acceptance
level.
2 S: Validate Password
Consider the first step of an end to end scenario for a login functionality
for our web application where the Actor enters email and password.
In the next step, the system will validate the password
Next, if the password is correct, the access will be granted
There can be an extension of this use case. In case password is not
valid system will display a message and ask for re-try four times
If Password, not valid four times system will ban the IP address.
Here we will test the success scenario and one case of each extension.
1) Introduction
Brief introduction of the test strategies, process, workflow and methodologies
used for the project
1.1) Scope
1.1.1) In Scope
Scope defines the features, functional or non-functional requirements of the
software that will be tested
Here make a mention of the overall objective that you plan to achive with your
manual testing and automation testing.
QA Analyst
Test Manager
Configuration Manager
Developers
Installation Team
Amongst others
2) Test Methodology
2.1) Overview
Mention the reason of adopting a particular test methodology for the project.
The test methodology selected for the project could be
WaterFall
Iterative
Agile
Extreme Programming
The methodology selected depends on multiple factors. You can read about
Test Methodology here
Suspension criteria define the criteria to be used to suspend all or part of the
testing procedure while Resumption criteria determine when testing can
resume after it has been suspended
Here you define the criterias that will deem your testing complete.
3) Test Deliverables
Here mention all the Test Artifacts that will be delivered during different
phases of the testing lifecycle.
5) Terms/Acronyms
Make a mention of any terms or acronyms used in the project
TERM/ACRONYM DEFINITION
API Application Program Interface
The plan identify the items to be tested, the features to be tested, the types of
testing to be performed, the personnel responsible for testing, the resources
and schedule required to complete testing, and the risks associated with the
plan.
1.1 Scope
1.1.1 In Scope
All the feature of websiteGuru99 Bank which were defined in software
requirement specs are need to bested
Fund Transfer Manager Customer: A customer can have transfer funds from
Customer his “own”
account to any destination account.
Manager: A manager can transfer funds from any
source bank
account to destination account
Edit Account Manager Manager: A manager can add a edit account details
for an existing account
User Interfaces
Hardware Interfaces
Software Interfaces
Database logical
Communications Interfaces
Website Security and Performance
No Member Tasks
.
3. Developer in Implement the test cases, test program, test suite etc.
Test
4. Test Builds up and ensures test environment and assets are managed
Administrator and maintained
Support Tester to use the test environment for test execution
2 Test Methodology
2.1 Overview
2.2 Test Levels
In the project Guru99 Bank, there're 3 types of testing should be conducted.
3 Test Deliverables
Test deliverables are provided as below
- Test Data
Test Results/reports
Defect Report
Installation/ Test procedures guidelines
Release notes
1. Server Need a Database server which install MySQL server Web server which
install Apache Server
2. Test tool Develop a Test tool which can auto generate the test result to the
predefined form and automated test execution
3. Network Setup a LAN Gigabit and 1 internet line with the speed at least 5 Mb/s
Test bed or test environment is configured as per the need of the Application
Under Test. On a few occasion, test bed could be the combination of the test
environment and the test data it operates.
Setting up a right test environment ensures software testing success. Any
flaws in this process may lead to extra cost and time to the client
System Admins,
Developers
Testers
Sometimes users or techies with an affinity for testing.
Every test may not be executed on a local machine. It may need establishing
a test server, which can support applications.
For example, Fedora set up for PHP, Java-based applications with or without
mail servers, cron set up, Java-based applications, etc.
Network
Network set up as per the test requirement. It includes,
Internet setup
LAN Wifi setup
Private network setup
It ensures that the congestion that occurs during testing doesn't affect other
members. (Developers, designers, content writers, etc.)
Test PC setup
For web testing, you may need to set up different browsers for different
testers. For desktop applications, you need various types of OS for different
testers PCs.
Bug Reporting
Testers or developers can copy this to their individual test environment. They
can modify it as per their requirement.
Privacy is the main issue in copy production data. To overcome privacy issues
you should look into obfuscated and anonymized test data.
BlackList: In this approach, all the data fields are left unchanged. Except
those fields specified by the users.
WhiteList: By default, this approach, anonymizes all data fields. Except
for a list of fields which are allowed to be copied. A whitelisted field
implies that it is okay to copy the data as it is and anonymization is not
required.
Also, if you are using production data, you need to be smart about how to
source data. Querying the database using SQL script is an effective approach.
1 Check whether required If this is not the case, analyze the supply time!
equipment for testing is
available?
Software / connections
2 Are the needed applications An application such as excel, word, drawings, etc.
specified?
For the new software does the Has the organization experience with use and
test environment exist for the maintenance of the software?
organization?
Environmental data
3 Check whether the standard With the regression test set, consider
test data sets are available? the Defect administration to collect test data.
Maintenance tools/processes
4 Check whether a single point If no, prepare a list of all possible members involved in
of contact exists for test keeping the test environment running. It should includ
environment maintenance? their contact information as well.
Besides these, there are a few more questions to answer before setting up the
test environment.
Ineffective planning for resource usage can affect the actual output.
Also, it may lead to conflict between teams.
2. Remote environment
Summary:
Defect Status
Defect Status or Bug Status in defect life cycle is the present state from
which the defect or a bug is currently undergoing. The goal of defect status is
to precisely convey the current state or progress of a defect or bug in order to
better track and understand the actual progress of the defect life cycle.
The number of states that a defect goes through varies from project to project.
Below lifecycle diagram, covers all possible states
New: When a new defect is logged and posted for the first time. It is
assigned a status as NEW.
Assigned: Once the bug is posted by the tester, the lead of the tester
approves the bug and assigns the bug to the developer team
Open: The developer starts analyzing and works on the defect fix
Fixed: When a developer makes a necessary code change and verifies
the change, he or she can make bug status as "Fixed."
Pending retest: Once the defect is fixed the developer gives a
particular code for retesting the code to the tester. Since the software
testing remains pending from the testers end, the status assigned is
"pending retest."
Retest: Tester does the retesting of the code at this stage to check
whether the defect is fixed by the developer or not and changes the
status to "Re-test."
Verified: The tester re-tests the bug after it got fixed by the developer. If
there is no bug detected in the software, then the bug is fixed and the
status assigned is "verified."
Reopen: If the bug persists even after the developer has fixed the bug,
the tester changes the status to "reopened". Once again the bug goes
through the life cycle.
Closed: If the bug is no longer exists then tester assigns the status
"Closed."
Duplicate: If the defect is repeated twice or the defect corresponds to
the same concept of the bug, the status is changed to "duplicate."
Rejected: If the developer feels the defect is not a genuine defect then
it changes the defect to "rejected."
Deferred: If the present bug is not of a prime priority and if it is expected
to get fixed in the next release, then status "Deferred" is assigned to
such bugs
Not a bug:If it does not affect the functionality of the application then
the status assigned to a bug is "Not a bug".
Defect Life Cycle Explained
This training video describes the various stages in a bug aka defect life cycle
and its importance with the help of an example
There are tons of software testing tools available in the market, and with the
plethora of choices it becomes difficult to zero in on the best testing tools for
your project. The following list categorizes, ranks and grades the different
software testing tools in the market. For each tool - important features, USP
and download links are mentioned.
Xray is the #1 Manual & Automated Test Management App for QA. It’s a full-
featured tool that lives inside and seamlessly integrates with Jira. Its aim is to
help companies improve the quality of their products through effective and
efficient testing.
Features:
2) Testpad
Testpad is a simpler and more accessible manual test tool that prioritises
pragmatism over process. Instead of managing cases one at a time, it uses
checklist-inspired test plans that can be adapted to a wide range of styles
including Exploratory testing, the manual side of Agile, syntax highlighted
BDD, and even traditional test case management.
Key features:
3) Practitest
PractiTest is an end-to-end test management tool. A common meeting ground
for all QA stakeholders, it enables full visibility into the testing process and a
deeper broader understanding of testing results.
Features:
4) TestRail
TestRail is your source for scalable, customizable, web-based test case
management. Set up in just minutes with our cloud-based/SaaS solution, or
install on TestRail your own server.
Efficiently manage manual and automated test cases, plans, and runs.
Get real-time insights into testing progress with informative dashboards,
metrics, and activity reports.
Boost efficiency with milestones, personal to-do lists, and email
notifications.
Document test cases with screenshots and expected results. Use the
flexible built-in templates or create your own custom templates.
Integrate with tools in your CI/CD/DevOps pipeline including JIRA,
Bugzilla, Jenkins, TFS and more.
Enterprise edition designed for large teams & mission-critical projects.
Support for Docker containers.
5) TestMonitor
TestMonitor is an end-to-end test management tool for every organization. A
simple, intuitive approach to testing. Whether you’re implementing enterprise
software, need QA, building a quality app or just need a helping hand in your
test project, TestMonitor has you covered.
Features
6) 21
21 is a sophisticated, self-learning test automation and analytics platform for
iOS and Android applications.
Features:
7) Parasoft Selenic
Parasoft Selenic leverages AI to address your problems with Selenium so you
don’t have to get rid of Selenium. It works directly with your existing Selenium
tests, so you're not locked into a proprietary platform.
Key Features:
Self-healing at runtime and AI-driven recommendations post-execution.
You can efficiently maintain existing Selenium scripts, reducing the time
spent maintaining, repairing, and fixing broken tests.
Create Selenium test suites with the Page Object Model. Teams can
rapidly build a maintainable testing practice from the start.
Optimize test execution with Test Impact Analysis. Cross-correlating
test execution with underlying code changes gives you quicker feedback
from your CI/CD pipeline.
8) Squish
Squish is the GUI Test Automation tool of choice for more than 3000
companies worldwide to automate the functional regression tests and system
tests of their graphical user interface (GUIs) and Human Machine Interfaces
(HMIs). The Squish GUI testing tool, a 100% cross-platform tool, features
Features include:
Ranorex integrates with solutions for BDD, CI/CD, source control, test
management, defect-tracking, and more for a complete test automation
toolchain
10) Selenium:
Selenium is one of the most popular software testing tools. It specifically
designed to support Automation Testing of functional aspects of web based
applications, wide range of platforms and browsers.
Features:
It is one of the best qa tools which offers the support for parallel test
execution that reduce the time taken in executing parallel tests.
Selenium needs very lesser resources when compared to other manual
testing tools.
Test cases prepared using this testing tool can be executed on any OS
It supports the many known programming languages like Java, Python,
C#, Perl, PHP, and JavaScript.
Download Link: http://www.seleniumhq.org/download/
11) QTP:
Quick Test Professional (QTP) now called as Micro Focus UFT (Unified
Functional Testing) is an automated functional GUI testing tool which allows
the automation of user actions on a web or client based computer application.
It is widely used for functional regression test automation. It is one of the
manual testing tools which uses a scripting language to manipulate the
objects and controls of the application under test.
Features:
QTP is one of the software testing tools that allows beginner testers to
learn this tool in the few minutes.
The tool is very easy to understand. It presents a test case in a simple
workflow to the tester.
The tool allows complete validation of applications through a full
complement of checkpoints
Download Link: https://www.microfocus.com/en-us/products/uft-
one/overview
12) Watir:
Features:
Download Link: http://watir.com/guides/downloads/
13) Testim:
Testim is a modern day automated testing tool. It uses machine learning to
speed the authoring, execution, and maintenance of automated tests. The
tester can be analysis any test case in few minutes and execute them on
multiple web and mobile platforms.
Features:
It is one of the qa testing tools that can easily add annotations to find
out what's wrong in the system.
Quickly view and share easy-to-understand annotated screenshots
using the bug tracker.
Developers just need to click the automated bug test to reproduce in the
browser automatically.
Download link: https://www.testim.io/
14) AppliTools:
Features:
Download Link: https://applitools.com/users/register
15) TestComplete:
Features:
Download Link: https://support.smartbear.com/downloads/testcomplete/
16) LambdaTest
LambdaTest is a scalable cloud-based cross browser testing platform
designed to offer all website or web app testing need to cloud infrastructure.
LambdaTest platform helps you to ensure your website pr web app render
seamlessly across every desktop and mobile browser with support of manual,
visual, and automated testing. With LambdaTest, you can access up to 2000+
combinations of desktop and mobile browsers on the cloud.
Features
17) Browsera:
This is one of the best browser compatibility testing software which allows
testing website and its elements in multiple browsers. This tool also used to
test website and all web pages for scripting and layout errors.
Features:
Download Link: http://www.browsera.com/web_sites
18) CrossBrowser Testing:
Features:
It is one of the qa testing tools that can run Numerous Tests on Multiple
Devices At One Time
Easily run automated tests against real iOS, Androids, & other desktop
browsers
It allows running testing frameworks like WebDriver.IO, and Nightwatch
for superior quality and speed
Download link: https://crossbrowsertesting.com/freetrial
19) SauceLabs:
Features:
It is possible to test the web and mobile apps with the highest number of
platforms, browsers, and OS combinations.
The tool ensures web applications work efficiently with all the latest
Android and iOS mobile devices.
Run JavaScript unit tests for web apps to make sure that code works in
every environment.
Download Link: https://saucelabs.com/signup/trial
20) Ghostlab:
Ghostlab is a Mac based testing app that allows test out responsive design
across a variety of devices and browsers. It is a tool for synchronized browser
testing. It synchronizes scrolls, clicks, reloads and form input across all
connected clients to test a full user experience.
Features:
Download Link: https://saucelabs.com/signup/trial
21) Browsershots:
Features:
Download link: http://browsershots.org/
22) Webload:
WebLOAD is an excellent testing tool which offers many powerful scripting
capabilities, that is helpful for testing complex scenarios. The tool supports
hundreds of technologies from Selenium to mobile, enterprise application to
web protocols. It is possible to generate load both in the cloud and on-premise
using this tool.
Features:
Building load test scenarios more easily and efficiently with WebLOAD
It helps you identify performance bottlenecks in your system with more
than 80 reports types and graphs.
Performance Testing can run from the cloud by generating load from
Amazon EC2.
Download Link: http://www.radview.com/webload-download/
23) Loadrunner:
It is a load testing tool for Windows and Linux, which allows testing the web
application efficiently. It helpful testing tool to determining the performance
and result of the web application under heavy load.
Features:
Download Link: https://www.microfocus.com/en-us/products/loadrunner-
professional/free-trial
24) Wapt:
Wapt is a load, and stress testing tool works for all Windows. It provides an
easy and cost-effective way to test all types of websites. It works with the
same efficiency on secure HTTPS websites, dynamic content and RIA
applications under data-driven mode. This testing tool also provides supports
for RIA applications in the data-driven mode.
Features:
Download Link: https://www.loadtestingtool.com/download.shtml
Features:
Download Link: https://www.loadui.org/downloads/download-loadui-pro.html
Silk Performer is the cost-effective load testing tool to meet all the critical
applications, performance expectations, and service-level requirements. It
also supports cloud integration which means that it is easy to simulate
massive loads without a need to invest in hardware setup.
Features:
Quickly find the root cause of performance issues with in-depth analysis
It can be used anywhere with unlimited scalability from the Cloud
Authenticate real time user experience by transaction monitoring and
performance tracking
Download Link: https://www.microfocus.com/products/silk-portfolio/silk-
performer/trial/
27) Jmeter:
Apache JMeter is one of the open source testing tools for load testing. It is a
Java desktop application, designed to load test functional behavior and
measure performance of websites. The tool was developed for the purpose of
load testing web applications, but it is now expanded to other test functions.
Features:
JMeter allows performing load and performance test for various server
types.
This load testing tool store its test plans in XML format which allows
users to generate the test plan using a text editor.
It is one of the manual testing tools that can be also used to perform
automated and functional testing of the applications.
Download link: http://jmeter.apache.org/download_jmeter.cgi
28) Agileload:
Features:
Download link: http://www.agileload.com/signup-download/getting-started-
with-agileload
31) Loadfocus
LoadFocus is the best cloud testing tool for Load Testing and Performance
Testing. It also offers cloud testing services like Website Speed Testing,
Mobile Applications, APIs testing, and Mobile Emulation on different types of
Mobile Devices.
Features:
Download link: https://loadfocus.com/
32) BlazeMeter:
Features:
It allows to test website and integrate multi-geo locations results into
single report
Retrieve site data from Google Analytics account and integrate them
into a new test setup.
Use VPN credentials to integrate a series of load servers into the private
network.
Download Link: http://info.blazemeter.com/live-request-a-demo
33) LoadImpact:
Load Impact is the best cloud-based load testing system which widely used by
enterprises all over the world to develop their websites, mobile applications,
web-based apps, and APIs by performing all types of test.
Features:
Download Link: https://saucelabs.com/signup/trial
JIRA is a defect tracking tool which is used for defect/issue tracking as well as
project management. This tool is not only used for recording, reporting but
also integrated directly with code development environment.
Features:
JIRA Query Language helps to create quick filters with a single click
Possible to create custom workflows of any size which is helpful to
build, test, and release software.
Install plug-and-play add-ons from The Atlassian Marketplace to fit all
types of cases.
Download Link: https://www.atlassian.com/software/jira/try
35) Mantishub:
Mantis is an open source defect tracking tool that provides a great balance
between simplicity and power. The users can easily get started with this tool
for managing their teammates and clients effectively.
Features:
36) FogBugz:
The FogBugz is a tracking tool which can be used to track the status of
defects and changes in ongoing software projects, such as application
development and deployment. It is specifically helpful for organizations to
keep track of bugs for multiple projects.
Features:
Download Link: https://www.fogcreek.com/fogbugz
37) Bugzilla:
Bugzilla is one of the best defect Tracking System. The tool allows individual
or groups of developers to keep track of outstanding bugs in their system. It is
the best open source software used in the market by small scale as well as
large- scale organizations.
Features:
Optimized database structure to enhance performance and scalability
Advanced query tool that remembers customized searches of the user
Editable user profiles and comprehensive email preferences
Extension Mechanism for Highly Customizable Installations
Download Link: https://www.bugzilla.org/download/
38) BugNet:
Features:
Download Link: https://bugnet.codeplex.com/releases
Features:
Download Link: http://www.thebuggenie.com/
40) RedMine:
Redmine is another important defect tracing tool. The basic version of this tool
is open-source and it can work on any machine that supports Ruby. It takes
more time for installation, but once installed it runs smoothly.
Features:
Download Link: http://www.redmine.org/
Mobile Testing Tools
These tools help to automate testing of your Android or iOS applications.
41) Appium:
Appium is one of the open source testing tools for automation of mobile
applications. It allows users to test all kind of native, mobile, web, and hybrid
apps. It also supports the automated tests on emulators and simulators.
Features:
Download Link: http://appium.io/
42) Espresso:
Features:
Download link: https://developer.android.com/training/testing/espresso/
43) Perfecto:
Features:
Cloud base mobile application testing
It provides support for Agile Environment
The tool can integrate with other qa testing tools like Selenium and
Appium
Download link: https://www.perfecto.io/
44) ExperiTest:
Features:
Download Link: https://experitest.com
45) Robotium:
Features:
Downloadlink: https://robotium.com/pages/free-trial
SoapUI is one of the best testing tools which is cross-platform open source
tool for functional testing of SOAP and REST, written use the Java language.
It is primarily used to perform functional and load testing on API.
Features:
Download Link: https://www.soapui.org/downloads/download-soapui-pro-
trial.html
47) SOAPSonar:
SOAPSonar is an Api Testing tool which focuses on reducing the time and
complexity to develop and maintain test cases. It supports testing every
individual service independently of the client application and yet groups the
test workflow for automation. Moreover, the creation and execution of these
test cases require no programming or scripting skills.
Features:
Download Link: http://www.crosschecknet.com/products/soapsonar.php
48) WebInject:
WebInject is the best Api Testing tool for automated testing of web
applications and web services. It can also test individual system components
which have HTTP interfaces and can be used to perform automated
functional, regression and acceptance tests.
Features:
Downloadlink: http://www.webinject.org/download.html
49) Tricentis:
Tricentis is an Api Testing tool which helps to manage test cases reduces
testing time, manual effort and costs by building up and executing test cases.
Features:
Download link: https://www.tricentis.com/automated-software-testing-tool-
trial/
50) NetSparker:
Features:
51) OWASP:
The Open Web Application Security Project is known as OWASP is a tool that
helps organizations to develop, purchase, and maintain web and software
which are reliable and trusted.
Features:
Download Link: https://github.com/zaproxy/zaproxy/wiki/Downloads
Acunetix Web Vulnerability Scanner is the leading security testing tool. It can
find various types of security vulnerabilities than any other scanners and
displays the fewest number of false positives.
Features:
Most advanced Cross site scripting testing and in-depth SQL injection
Comprehensive scanning of Single Page Applications and JavaScript-
based websites
Detection of Blind XSS vulnerabilities
Automated detection of DOM-based XSS vulnerabilities
Download Link: https://www.acunetix.com/vulnerability-scanner/download/
It is a free software developed by the W3C to help Web designers and Web
developers to check their CSS. With the help of this validation tool. It also
helps users to find errors or incorrect uses of CSS.
Features:
Download Link: https://jigsaw.w3.org/css-validator/DOWNLOAD.html
Features:
Download Link: http://www.telerik.com/download/teststudio
FAQ
❓ What is Software Testing?
Software Testing is a method to check whether the actual software product
matches expected requirements and ensures that it is Defect free.
The agile process is broken into individual models that The design process is not broken into an
designers work on individual models
The customer has early and frequent opportunities to The customer can only see the product at th
look at the product and make decision and changes to end of the project
the project
Agile model is considered unstructured compared to the Waterfall model are more secure because
waterfall model they are so plan oriented
Small projects can be implemented very quickly. For All sorts of project can be estimated and
large projects, it is difficult to estimate the development completed.
time.
Error can be fixed in the middle of the project. Only at the end, the whole product is tested.
If the requirement error is found or any
changes have to be made, the project has to
start from the beginning
Development process is iterative, and the project is The development process is phased, and the
executed in short (2-4) weeks iterations. Planning is very phase is much bigger than iteration. Every
less. phase ends with the detailed description of
the next phase.
Documentation attends less priority than software Documentation is a top priority and can even
development use for training staff and upgrade the
software with another team
Every iteration has its own testing phase. It allows Only after the development phase, the testin
implementing regression testing every time new phase is executed because separate parts ar
functions or logic are released. not fully functional.
In agile testing when an iteration end, shippable All features developed are delivered at once
features of the product is delivered to the customer. after the long implementation phase.
New features are usable right after shipment. It is useful
when you have good contact with customers.
Testers and developers work together Testers work separately from developers
At the end of every sprint, user acceptance is performed User acceptance is performed at the end of
the project.
It requires close communication with developers and Developer does not involve in requirement
together analyze requirements and planning and planning process. Usually, time delays
between tests and coding
Agile Process
Check below Agile process model to deliver successful systems quickly.
There are various Agile methods present in agile testing, and those are listed
below:
Scrum
SCRUM is an agile development method which concentrates specifically on
how to manage tasks within a team-based development environment.
Basically, Scrum is derived from activity that occurs during a rugby match.
Scrum believes in empowering the development team and advocates working
in small teams (say- 7 to 9 members). It consists of three roles, and their
responsibilities are explained as follows:
Scrum Master
o Master is responsible for setting up the team, sprint meeting and
removes obstacles to progress
Product owner
o The Product Owner creates product backlog, prioritizes the
backlog and is responsible for the delivery of the functionality at
each iteration
Scrum Team
o Team manages its own work and organizes the work to complete
the sprint or cycle
Product Backlog
This is a repository where requirements are tracked with details on the no of
requirements(user stories) to be completed for each release. It should be
maintained and prioritized by Product Owner, and it should be distributed to
the scrum team. Team can also request for a new requirement addition or
modification or deletion
Scrum Practices
Practices are described in detailed:
Business requirements are gathered in terms of stories. All those stories are
stored in a place called the parking lot.
In this type of methodology, releases are based on the shorter cycles called
Iterations with span of 14 days time period. Each iteration includes phases like
coding, unit testing and system testing where at each phase some minor or
major functionality will be built in the application.
Phases of eXtreme programming:
There are 6 phases available in Agile XP method, and those are explained as
follows:
Planning
Identification of stakeholders and sponsors
Infrastructure Requirements
Security related information and gathering
Service Level Agreements and its conditions
Analysis
Capturing of Stories in Parking lot
Prioritize stories in Parking lot
Scrubbing of stories for estimation
Define Iteration SPAN(Time)
Resource planning for both Development and QA teams
Design
Break down of tasks
Test Scenario preparation for each task
Regression Automation Framework
Execution
Coding
Unit Testing
Execution of Manual test scenarios
Defect Report generation
Conversion of Manual to Automation regression test cases
Mid Iteration review
End of Iteration review
Wrapping
Small Releases
Regression Testing
Demos and reviews
Develop new stories based on the need
Process Improvements based on end of iteration review comments
Closure
Pilot Launch
Training
Production Launch
SLA Guarantee assurance
Review SOA strategy
Production Support
There are two storyboards available to track the work on a daily basis, and
those are listed below for reference.
Story Cardboard
o This is a traditional way of collecting all the stories in a board in
the form of stick notes to track daily XP activities. As this manual
activity involves more effort and time, it is better to switch to an
online form.
Online Storyboard
o Online tool Storyboard can be used to store the stories. Several
teams can use it for different purposes.
Crystal Methodologies
Crystal Methodology is based on three concepts
1. Time Boxing
2. MoSCoW Rules
3. Prototyping
1. Pre-project
2. Feasibility Study
3. Business Study
4. Functional Model Iteration
5. Design and build Iteration
6. Implementation
7. Post-project
1. Eliminating Waste
2. Amplifying learning
3. Defer commitment (deciding as late as possible)
4. Early delivery
5. Empowering the team
6. Building Integrity
7. Optimize the whole
Kanban
Kanban originally emerged from Japanese word that means, a card containing
all the information needed to be done on the product at each stage along its
path to completion. This framework or method is quite adopted in software
testing method especially in agile testing.
Scrum Vs Kanban
Scrum Kanban
In scrum technique, test must be broken down so that No particular item size is prescribed
they can be completed within one sprint
Between each sprint, a scrum board is reset A Kanban board is persistent. It limits the
number of items in workflow state
It cannot add items to ongoing iteration It can add items whenever capacity is availab
Agile metrics:
Metrics that can be collected for effective usage of Agile is:
Drag Factor
o Effort in hours which do not contribute to sprint goal
o Drag factor can be improved by reducing number of shared
resources, reducing the amount of non-contributing work
o New estimates can be increased by percentage of drag factor
-New estimate = (Old estimate+drag factor)
Velocity
o Amount of backlog(user stories) converted to shippable
functionality of sprint
No of Unit Tests added
Time interval taken to complete daily build
Bugs detected in an iteration or in previous iterations
Production defect leakage
(a) Iteration 0
During the first stage or iteration 0, you perform initial setup tasks. It includes
identifying people for testing, installing testing tools, scheduling resources
(usability testing lab), etc. The following steps are set to achieve in Iteration 0
(b) Construction Iterations
The final agile methodology testing stage includes full system testing and
acceptance testing. In accordance to finish your final testing stage without any
obstacles, you should have to test the product more rigorously while it is in
construction iterations. During the end game, testers will be working on its
defect stories.
(d) Production
After the release stage, the product will move to the production stage.
The agile testing quadrants separate the whole process in four Quadrants and
help to understand how agile testing is performed.
a) Agile Quadrant I – The internal code quality is the main focus in this
quadrant, and it consists of test cases which are technology driven and are
implemented to support the team, it includes
1. Unit Tests
2.Component Tests
3. Pair testing
1. Usability Testing
2. Exploratory Testing
4. Collaborative testing
5. Scalability testing
6. Load testing
b) New features are introduced quickly, which reduces the available time for
test teams to identify whether the latest features are according to the
requirement and does it truly address the business suits
Conclusion
Agile methodology in software testing involves testing as early as possible in
the software development lifecycle. It demands high customer involvement
and testing code as soon as it becomes available. The code should be stable
enough to take it to system testing. Extensive regression testing can be done
to make sure that the bugs are fixed and tested. Mainly, Communication
between the teams makes agile model testing success!!!
Scrum Testing Methodology Tutorial:
What is, Process, Artifacts, Sprint
Scrum in Software Testing
Scrum in Software Testing is a methodology for building complex software
applications. It provides easy solutions for executing complicated tasks.
Scrum helps the development team to focus on all aspects of the software
product development like quality, performance, usability and so on. It provides
with transparency, inspection and adaptation during the software development
to avoid complexity.
Scrum Testing
Scrum Testing is a testing done in scrum methodology to verify the software
application requirements are met. It involves checking non-functional
parameters like security, usability, performance etc. There is no active role of
tester in the process so it is usually performed by developers with Unit Test.
Sometimes dedicated test teams are needed depending on nature &
complexity of project.
1. Roles in Scrum
There are three chief roles in Scrum Testing – Product Owner, Scrum Master
and The Development Team. Let's study them in detail
He/She can accept or reject work Invites to the daily scrum, Actively participate in daily
Product Owner Scrum Master The Team
sprint review and planning
item result ceremonies
meetings
2. Scrum Artifacts
The next question is, what tester do in a scrum? Following note will answer
Sprint Planning
In sprint planning, a tester should pick a user-story from the product
backlog that should be tested.
As a tester, he/she should decide how many hours (Effort Estimation) it
should take to finish testing for each of selected user stories.
As a tester, he/she must know what sprint goals are.
As a tester, contribute to the prioritizing process
Sprint
Sprint Retrospective
As a tester, he will figure out what went wrong and what went right in
the current sprint
Burn down chart: Each day, Scrum Master records the estimated remaining
work for the sprint. This is nothing but the Burn Down Chart. It is updated
daily.
A burndown chart gives a quick overview of the project progress, this chart
contains information like the total amount of work in the project that must be
completed, amount of work completed during each sprint and so on.
Velocity history graph: The velocity history graph predicts the velocity of the
team reached in each sprint. It is a bar graph and represents how teams
output has changed over time.
The additional metrics that may be useful are schedule burn, budget burn,
theme percent complete, stories completed - stories remaining and so on.
Do you have any tips or experiences to share for Scrum Testing? Do leave a
comment below-
In the last few years, ever since the agile methodology came on board with its
founders shouting and willing to do away with the mundane and laborious
realities of the traditional waterfall model, the impact of the same can be also
felt when it comes to Automation Testing.
In contrast, automation testing is very useful when it comes to the more stable
and less frequent types of requirements. Thus by definition automation testing
does not lend itself well to various types of frequent changes in requirements
which comes alongside the adoption of any agile methodologies.
After consideration of all the above factors we thus can realize that even while
adopting agile methodologies, we need to bring into picture the types of tests
like for example regression tests (since even during agile testing there is a
considerable amount of testing work which is required to put into the job of
agile methodologies for ensuring better quality of the overall product)
Now let us look at the most basic situations whereby automation testing can
be used and how we can adopt the same towards the realm of agile testing.
SAFe Methodology Tutorial: What is
Scaled Agile Framework
What is a Scaled Agile Framework (SAFe)?
Scaled Agile Framework (SAFe) is a freely available online knowledge base
that allows you to apply lean-agile practices at the enterprise level. It provides
a simple and lightweight experience for software development. It is a set of
organizations and workflow patterns intended to guide enterprises for scaling
lean and agile practices. It is divided into three segments which are Team,
Program and portfolio
SAFe was first developed in the field and was elaborated in Dean
Leffingwell's books and blog. Version 1.0 is the first official release in 2011.
The latest version is 4.6, was released in October 2018. It provides guidance
to work at enterprise Portfolio, Value Stream, Program, and Team levels.
The below image explains how agile process works. Epics are a large body of
work, which is further broken down into a number of smaller stories or sub-
epics. These sub-epics are allocated to the team as a story. Each team then
work on these stories or software features accordingly.
When to Use Scaled Agile Framework
1. Lean-Agile Principles
2. Core Values,
3. Lean-Agile Leadership
4. Lean-Agile Mind-set,
5. Communities of Practice(Group of people who are constantly working
on SAFe practices)
6. Implementing 1-2-3
These basic principles and values for SAFe must be understood, exhibited
and continued in order to get the desired results.
Take an economic view
Apply systems thinking
Assume variability; preserve options
Build incrementally with fast, integrated learning cycles
Base milestones on an objective evaluation of working systems
Visualize and limit WIP, reduce batch sizes and manage queue lengths
Apply cadence, synchronize with cross-domain planning
Unlock the intrinsic motivation of knowledge workers
Decentralize decision-making
Alignment:
Built-in Quality:
Transparency:
Program Execution:
The Lean-Agile Leaders are lifelong learners and teachers. It helps teams to
build better systems through understanding and exhibiting the Lean-Agile
SAFe Principles.
Leaders need to adopt a new style of leadership. One that truly empowers
and engages individuals and teams to reach their highest potential.
Below figure explains the Goal, Pillars, and Foundation of "SAFe House of
Lean."
Agile Manifesto
We are uncovering better ways of developing software by doing it and helping
others do it. Through this work we have come to value:
That' why , while there is a value in the items on the right, we value the items
on the left more.
Agile Manifesto
Team Level
Roles/Teams Events Artifacts
* Spikes
* Team Kanban
All SAFe teams are part of one or other Agile Release Train (ART).
SAFe teams are empowered, self-organizing, self-managing, cross-
functional teams
Each team is equally responsible for defining, building and testing
stories from their Team Backlog in a fixed-length Iterations
Teams plan and execute two-week time-boxed iterations in accordance
with agreed-to Iteration Goals.
Teams will use ScrumXP/Team Kanban routine to deliver high-quality
systems to produce a System Demo on every two weeks.
All different teams in the ART (Agile Release Trains) will create an
integrated and tested system. Stakeholders will evaluate and respond
with fast feedback
They apply Built-in Quality practices.
Each ScrumXP team will have 5-9 team members, which includes all
the roles necessary to build a quality incremental value in each Iteration.
ScrumXP roles includes:
o Team(Dev+QA)
o Scrum Master
o Product Owner. Etc..
SAFe divides the development timeline into a set of iterations within a PI
(Program Increment).
PI duration is between 8 -12 weeks.
The team will use stories to deliver the value. The Product Owner will
have content authority over their creation and acceptance of the stories.
Stories contain Customer's requirements.
Team Backlog includes user and enabler stories, which are identified
during PI planning. When the Product Management presents the
Roadmap, Vision, and Program Backlog.
Identifying, elaborating, prioritizing, scheduling, implementing, testing,
and accepting the stories are the primary requirements of management
work in team level.
Each iteration provides:
o A valuable increment of new functionality
o Accomplish via constantly repeating pattern
o Plan the iteration
o Commit to some functionality
o Execute the iteration by building and testing Stories
o Demo the new functionality
o Retrospective
o Repeat for the next iteration
Teams also support the System Demo at the end of each Iteration.
which is the critical integration point for the ART.
Larger Value Streams will have multiple ARTs.
The Innovation and Planning (IP) Iterations leverage the teams with an
opportunity for innovation and exploration.
Program Level
Roles/Teams Events Artifacts
* Customer * Feature
* Enabler
* Solution
* Portfolio Kanban
* Non-Functional
Requirements
* Value Stream
* Budgets(CapEx and
OpEx)
* Customer * Non-Functional
Requirements
* Value Stream PI
Objectives
* Capability
* Enabler
* Solution Context
* Value Stream
Coordination
* Economic Framework
* Solution Intent
* MBSE
* Set Based
* Agile Architecture
1. Large in size
2. Independent
3. Have complex solutions
4. Their solutions typically require multiple ARTs
5. They have Suppliers contribution.
6. They face the largest systems challenges
7. For cyber-physical systems
8. For software, hardware, electrical and electronics, optics, mechanics,
fluidics and more.
Summary:
SAFe is an industry-proven, value-focused method for scaling Agile at
the Enterprise level.
It answers the questions like "How do we plan?", "How do we budget?",
and "How do we become cross-functional in architecture and DevOps?"
SAFe helps large organization teams to meet an organization's strategic
goals, not just individual project goals.
The framework offers the ability to maintain and create a centralized
strategy to deliver value.
The SAFe model has three/four levels that centralize the strategic
themes of an organization.
Centralized strategy, combined with the de-centralized agile
development execution.
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.
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
Test HTML and CSS to ensure that search engines can crawl your site easily.
This will include
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:
Test the Content:
3.Interface Testing:
Three areas to be tested here are - Application, Web and Database Server
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-
Test if any errors are shown while executing queries
Data Integrity is maintained while creating, updating or deleting data in
database.
Check response time of queries and fine tune them if necessary.
Test data retrieved from your database is shown accurately in your web
application
5. Compatibility testing.
Compatibility tests ensures that your web application displays correctly across
different devices. This would include-
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 -
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.
This concludes the tutorial. It includes almost all testing types applicable to
your web application.
Functional Testing:
What is Functional Testing?
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?
To perform the Database testing, the tester should be aware of the below
mentioned points:
With the help of the above mentioned points, the tester can easily write
the test scenarios 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
Apache JMeter
Load Runner
Borland Silk Performer.
Rational Performance Tester
WAPT
NEO LOAD
Based on the scope of your project you may need to test one or all of the
above service offerings. Before you begin testing, ensure you have enough
background on the service being tested.
For Admin Verify Admin login with valid and Invalid data
Verify admin login without data
Verify all admin home links
Verify admin change password with valid and invalid data
Verify admin change password without data
Verify admin change password with existing data
Verify admin logout
For new Branch Create a new branch with valid and invalid data
Create a new branch without data
Create a new branch with existing branch data
Verify reset and cancel option
Update branch with valid and invalid data
Update branch without data
Update branch with existing branch data
Verify cancel option
Verify branch deletion with and without dependencies
Verify branch search option
For New Role Create a new role with valid and invalid data
Create a new role without data
Verify new role with existing data
verify role description and role types
Verify cancel and reset option
Verify role deletion with and without dependency
verify links in role details page
For customer & Visitors Verify all visitor or customer links
Verify customers login with valid and invalid data
Verify customers login without data
Verify banker's login without data
Verify banker's login with valid or invalid data
For New users Create a new user with valid and invalid data
Create a new user without data
Create a new user with existing branch data
Verify cancel and reset option
Update user with valid and invalid data
Update user with existing data
Verify cancel option
Verify deletion of the user
Challenge Mitigation
Getting access to production data and Ensure that test data meets regulatory
replicating it as test data, for testing is compliances requirements and guidelines
challenging Maintain the data confidentiality by
following techniques like data masking,
synthetic test data, testing system
integration, etc.
The scope and the timelines increases as Ensure Time budget for Integration
banking application are integrated with Testing is accounted if your banking
other application like internet application has many external interfaces
or Mobile banking
Summary
Banking domain is the most vulnerable area for cyber-theft, and safeguarding
the software requires precise testing. This tutorial gives a clear idea of what it
takes for banking domain testing and how important it is. One must
understand that -