Software Testing Tutorial
Software Testing Tutorial
1 Verify if a user will be able to login with a valid username and valid password. Positive
2 Verify if a user cannot login with a valid username and an invalid password. Negative
3 Verify the login page for both, when the field is blank and Submit button is clicked. Negative
7 Verify if the data in password field is either visible as asterisk or bullet signs. Positive
8 Verify if a user is able to login with a new password only after he/she has changed Positive
the password.
9 Verify if the login page allows to log in simultaneously with different credentials in Positive
a different browser.
10 Verify if the ‘Enter’ key of the keyboard is working correctly on the login page. Positive
3
11 Verify the time taken to log in with a valid username and password. Performance & Positiv
12 Verify if the font, text color, and color coding of the Login page is as per the UI Testing & Positive T
standard.
13 Verify if there is a ‘Cancel’ button available to erase the entered text. Usability Testing
14 Verify the login page and all its controls in different browsers Browser Compatibility
Testing.
Type-
Negat
ive/
Sr.
Security test cases Positi
No.
ve
Test
Case
1 Verify if a user cannot enter the characters more than the specified range in each field Nega
(Username and Password). tive
2 Verify if a user cannot enter the characters more than the specified range in each field Posit
(Username and Password). ive
3 Verify the login page by pressing ‘Back button’ of the browser. It should not allow you to Nega
enter into the system once you log out. tive
5 Verify if a user should not be allowed to log in with different credentials from the same Nega
browser at the same time. tive
4
Type-
Negat
ive/
Sr.
Security test cases Positi
No.
ve
Test
Case
6 Verify if a user should be able to login with the same credentials in different browsers at the Posit
same time. ive
1 Enter the valid email address & click next. Verify if the user gets an option to enter the password.
2 Don’t enter an email address or phone number & just click the Next button. Verify if the user will get the co
message or if the blank field will get highlighted.
3 Enter the invalid email address & click the Next button. Verify if the user will get the correct message.
4 Enter an invalid phone number & click the Next button. Verify if the user will get the correct message.
5 Verify if a user can log in with a valid email address and password.
6 Verify if a user can log in with a valid phone number and password.
7 Verify if a user cannot log in with a valid phone number and an invalid password.
8 Verify if a user cannot log in with a valid email address and a wrong password.
Sr.
Test Scenarios
No.
[image source]
#1) Verify if a user can log in with a valid username and password.
#2) Verify if a user cannot log in with an invalid username or password. Check
permutation and combinations of this.
#3) Verify the ‘Keep me Sign In’ option. If this check box is selected, then the
user should not get logged out even after exiting the app.
#4) Verify if this check box is not selected by default.
#5) If the user has signed up with Facebook or social media, verify that the user
can log in with those credentials or not.
#6) Verify the Forgot password functionality.
#7) Verify if the login page fits the mobile screen. The user should not have to
scroll the screen.
Conclusion
While writing test cases for login or sign-up page write the test cases for all the
fields. There should be a combination of both positive and negative test cases.
Try to cover the performance, security, and functional scenarios.
The login page is the page with fewer controls, so even though it is looking
simple for testing, it should not be considered as an easy task.
Following are the test cases for User Login Page. The list consists of
both Positive and Negative test scenarios login page.
19. Verify that User should be able to login with the new
password after changing the password
20. Verify that User should not be able to login with the old
password after changing the password
21. Verify that spaces should not be allowed before any
password characters attempted
22. Verify that whether User is still logged in after series of
actions such as sign in, close browser and reopen the
application.
23. Verify that the ways to retrieve the password if the User
forgets the password
24. Verify that “Remember password” checkbox is
unselected by default (depends on business logic, it may be
selected or unselected)
25. Verify that “Keep me logged in” checkbox is unselected
by default (depends on business logic, it may be selected or
unselected)
26. Verify that the timeout of the login session (Session
Timeout)
27. Verify that the logout link is redirected to login/home page
28. Verify that User is redirected to appropriate page after
successful login
29. Verify that User is redirected to Forgot password page
when clicking on Forgot Password link
30. Verify that User is redirected to Create an account page
when clicking on Sign up / Create an account link
31. Verify that validation message is displayed in case when
User leaves Username or Password as blank
32. Verify that validation message is displayed in case of
exceeding the character limit of the Username and Password
fields
33. Verify that validation message is displayed in case of
entering special character in the Username and password fields
34. Verify whether the login form is revealing any security
information by viewing page source
35. Verify that the login page is vulnerable to SQL injection
36. Verify whether Cross-site scripting (XSS ) vulnerability
work on a login page. XSS vulnerability may be used by hackers
to bypass access controls.
If there is a captcha on the login page (Test Cases for
CAPTCHA):
37. Verify that whether there is a client-side validation when
User doesn’t enter CAPTCHA
38. Verify that the refresh link of CAPTCHA is generating new
CAPTCHA
39. Verify that the CAPTCHA is case sensitive
9
What is a Cookie?
A Cookie is also known as HTTP cookie, web cookie, internet cookie,
browser cookie.
Cookies contain the attributes such as Domain name (from where the cookie
was sent), a random value (which is a unique number), a lifetime of Cookie
(Expires and Max-Age), and path of the cookie.
Types of Cookies:
Usually, there are two types of cookies.
Session Cookies:
As the name suggests, session cookies work until the session has been
destroyed. This type of cookie will last until the browser that triggers the
cookie is closed.
Persistent Cookies:
Persistent cookies continue to exist until its time runs out. These cookies
store in users hard disk for days, months or years depends on the cookie
creator. These cookies will be used to track the users browsing activities.
These are also called as tracking cookies which are used for legitimate
purposes such as keeping you logged into the account without re-entering
your account details or displaying the advertisements based on users
previous browsing history.
8. Verify that the user is able to access the site by not accepting all the
cookies.
Accept or Reject Cookies: Make sure your browser is writing cookies.
Access the website and allow the browser to write cookies. Now disable the
cookies and try to access the site. Doing this may crash your site.
9. Verify that there should not be overuse of cookies.
No Overuse of Cookies: Overuse of cookies bring the site traffic down.
Also, prompting for cookies quite often irritates the Users. Ultimately your
site will lose traffic. Loss of traffic brings your business down.
10. Verify that no personal or sensitive data is stored in the cookie.
Privacy testing: In some cases, websites collect personal or sensitive data
and store it in cookies. Make sure that the personal or sensitive data stored
in a cookie is in an encrypted format.
If you have come across any other test scenarios of website cookie testing,
please mention it in the comments below.
This site is used to test your browser cookies related settings. You can
request this site to send a cookie to your browser. If you’ve configured your
browser to reject cookies, you can request this site to send a cookie to the
browser and check if the cookie gets rejected. If you’ve configured your
browser to accept cookies, you can use this page to make sure that the
cookies are being sent and aren’t getting blocked.
This site checks the cookies from a site and gives a full report on the
purpose of each cookie.
Conclusion
The purpose of a cookie is to identify users to save login information of a
website or prepare customized web pages. Cookie saves the time of Users
when they revisit the site. Cookie testing is quite common and important in
terms of security and quick access to any web application. As a web
application tester, you have to include cookie testing as a part of your test
plan.
13
Like this post? Share it with your friends! If you have any queries, please
comment below.
Here are a few hand-picked Tutorials for you to read next:
While explaining this to him, it struck me that, UX testers often invest time and efforts to
test some of the most complex scenarios possible to curate the best user experience.
However, in the pursuit of testing these complex scenarios, it may so happen that they may
miss out on testing the basic but crucial functionalities, such as the Login & Search
Functionality.
In this blog, we provide a handy list of 20+ test scenarios which are a must-add to the list
of test cases – specifically for testing login page and search functionality.
Login Scenarios:
GUI & Functionality:
1. Minimum and Maximum lengths should be set for all the text boxes
2. Password should be displayed in masked format rather than showing actual text
format
3. Login credentials in UPPER case should not be treated as invalid
4. Validation message should be shown when special characters are entered in the
username field, or when invalid username and/or password is entered or the
fields are left blank
5. Reset button should clear data from all the text boxes in the form
14
Security:
1. When logged in user copy URL and paste in new browser window, it should
redirect to Login page
2. Users should not be allowed to copy and paste Password from text box
3. Notification email for multiple device login - if user login from unusual
device/machine
4. Entering Login credentials using virtual keyboard should be provided for banking
application
5. After 3 or 5 unsuccessful attempts of login, user login credentials should get
locked for specific period e.g. 24 hours
6. SSL certificate should be implemented/installed for Secured Website
7. SQL injection attacks & XSS should be verified for login
8. Two-way authentication through OTP on mobile/email should be tested for
banking application
Session:
1. After logout if user clicks on back button user should not be able to login within
same session, it should redirect to login page
2. If user logged in on multiple devices and Logout from one device then it should
Logout from all platform/devices
3. Maximum Session out time should be set for Secured website
Browser:
1. If Browser cookies are cleared and user tries to login, the system should ask for
credentials again
2. ‘Remember Form Data’ setting of the browser should not remember the password
3. Validate the login functionality when browser cookies are turned OFF
Search Scenarios
1. Search results displayed should be relevant to search keyword
2. % sign in search keyword should not redirect to 404 ERROR
3. Application should not crash if user inserted % in search field
4. When user start typing word in text box it should suggest words that matches
typed keyword
5. There should be pre-defined search criteria for auto complete e.g. after typing first
3 letter it should suggest matching keyword
6. When user clicks on any link from result and navigates back, then result should be
maintained
7. After clicking Search field - search history should be displayed (latest search
keyword)
15
1. Documentation Testing
2. Functionality Testing
3. Usability Testing
4. Interface Testing
5. Database Testing
6. Compatibility Testing
7. Performance Testing
8. Security Testing
9. Crowd Testing
Also read: 100+ Types of Software Testing
Documentation Testing:
Poor documentation can affect the quality of the product. Good
product documentation plays a critical role in the final product. So
documentation testing has a vital role in Software Testing. Testing the
documented artifacts that are developed prior, during and after the
testing of a product is known as documentation testing.
Functionality Testing:
What the system actually does is functional testing. To verify that each
function of the software application behaves as specified in the
requirement document. Testing all the functionalities by providing
appropriate input to verify whether the actual output is matching the
expected output or not. It is used for checking the workflows, all the
links of the web pages, form testing, cookie testing, and database
connection.
Usability Testing:
To verify whether the application is user-friendly or not and was
comfortably used by an end user or not. The main focus in this testing
is to check whether the end user can understand and operate the
application easily or not. An application should be self-exploratory and
must not require training to operate it.
Usability testing involves test the site navigation and tests the content.
Test the site navigation:
Navigation testing includes:
Interface Testing:
Interface testing is to test the interface between the web server and
application server, application server and database server have proper
interaction or not. It ensures a positive user experience. It includes
verifying the communication processes as well as making sure that
error messages are displaying correctly.
Database Testing:
It is AKA back-end testing or data testing.
Database testing involves verifying the integrity of data in the front end
with the data present in the back end. It validates the schema,
database tables, columns, indexes, stored procedures, triggers, data
duplication, orphan records, junk records. It involves updating records
in a database and verifying the same on the front end.
19
Compatibility Testing:
Compatibility testing is to ensure whether an application is compatible
across different browsers and on a variety of devices.
Performance Testing:
In software, performance testing (also called Perf Testing) determines
or validates the speed, scalability, and/or stability characteristics of the
system or application under test. Performance is concerned with
achieving response times, throughput, and resource-utilization levels
that meet the performance objectives for the project or product.
Capacity Testing:
Capacity Testing is to determine how many users a system/application
can handle successfully before the performance goals become
unacceptable. This allows us to avoid the potential problems in the
future such as increased user base or increased volume of data. It
helps users to identify a scaling strategy in order to determine whether
a system should scale up or scale out. It is done majorly for
eCommerce and Banking sites. are some examples. This testing is
sometimes called Scalability testing.
Load Testing:
Load Testing is to verify that a system/application can handle the
expected number of transactions and to verify the system/application
behavior under both normal and peak load conditions (no. of users).
Volume Testing:
Volume Testing is to verify whether a system/application can handle a
large amount of data. This testing focuses on Data Base. Performance
tester who does volume testing has to populate a huge volume of data
in a database and monitors the behavior of a system.
Stress Testing:
Stress Testing is to verify the behavior of the system once the load
increases more than the system’s design expectations. This testing
addresses which components fail first when we stress the system by
applying the load beyond the design expectations. So that we can
design a more robust system.
Soak/Endurance Testing:
Soak Testing is aka Endurance Testing. Running a system at high
load for a prolonged period of time to identify the performance
problems is called Soak Testing. It is to make sure the software can
handle the expected load over a long period of time.
Spike Testing:
Spike Testing is to determine the behavior of the system under a
sudden increase of load (a large number of users) on the system.
Security Testing:
Security testing is a process to determine whether the system protects
data and maintains functionality as intended.
Security testing aims to find out all possible loopholes and
weaknesses of the system in the starting stage itself to avoid
inconsistent system performance, unexpected breakdown, loss of
information, loss of revenue, loss of customer’s trust.
• SQL Injection
• Cross-Site Scripting (XSS)
• Session Management
• Broken Authentication
• Cross-Site Request Forgery (CSRF)
• Security Misconfiguration
• Failure to Restrict URL Access
• Secure Data Exposure
• Insecure Direct Object Reference
• Missing Function Level Access Control
• Using Components with Known Vulnerabilities
• Unvalidated Redirects and Forwards
Read more on Security Testing here
Conclusion:
Hope you have found the answer to the question “how to test a
website” and it helps you build a better plan for website testing. If you
have any questions, please leave a comment in the comment section
below.
22
and it allows users to change the language to English to view the site
in English. You are an English guy who wants to view the website
always in English. If the website serves cookies to store language then
once you change the language from Burmese to English then
whenever you are back to the site, the site will load in English. Here
cookies in your local system communicate with the web server and
requests webpage in the English language. So the web pages on your
browser will load in English.
Cookies contain the attributes such as Domain name (from where the
cookie was sent), a random value (which is a unique number), a
lifetime of Cookie (Expires and Max-Age), and path of the cookie.
Types of Cookies:
Usually, there are two types of cookies.
Session Cookies:
As the name suggests, session cookies work until the session has
been destroyed. This type of cookie will last until the browser that
triggers the cookie is closed.
Persistent Cookies:
Persistent cookies continue to exist until its time runs out. These
cookies store in users hard disk for days, months or years depends on
the cookie creator. These cookies will be used to track the users
browsing activities. These are also called as tracking cookies which
are used for legitimate purposes such as keeping you logged into the
account without re-entering your account details or displaying the
advertisements based on users previous browsing history.
Cookie Checker
This site checks the cookies from a site and gives a full report on the
purpose of each cookie.
Conclusion
The purpose of a cookie is to identify users to save login information of
a website or prepare customized web pages. Cookie saves the time of
Users when they revisit the site. Cookie testing is quite common and
important in terms of security and quick access to any web application.
As a web application tester, you have to include cookie testing as a
part of your test plan.
Like this post? Share it with your friends! If you have any queries,
please comment below.
Here are a few hand-picked Tutorials for you to read next:
Load Testing:
Volume Testing:
Stress Testing is to verify the behavior of the system once the load
increases more than the system’s design expectations. This testing
addresses which components fail first when we stress the system by
applying the load beyond the design expectations. So that we can
design a more robust system.
Soak/Endurance Testing:
Spike Testing:
What the system actually does is functional How well the system performs is non-
testing functionality testing
To ensure that your product meets customer To ensure that the product stands up to
and business requirements and doesn’t have customer expectations
any major bugs
To verify the accuracy of the software against To verify the behavior of the software at
expected output various load conditions
Example of functional test case is to verify the Example of non-functional test case is to
login functionality check whether the homepage is loading
in less than 2 seconds
Load Testing:
Load Testing is to verify that a system/application can handle the
expected number of transactions and to verify the system/application
behavior under both normal and peak load conditions (no. of users).
Stress Testing:
Stress Testing is to verify the behavior of the system once the load
increases more than the system’s design expectations. This testing
addresses which components fail first when we stress the system by
applying the load beyond the design expectations. So that we can
design a more robust system.
Performance Testing Load testing Stress testing
Load limit is both below Load limit is a threshold Load limit is above the
and above the threshold of of a break threshold of a break
a break
The attributes which are The attributes which are The attributes which are
checked in performance checked in a load checked in a stress
testing are speed, testing are peak testing are stability
response time, resource performance, server response time, bandwidth
usage, stability, reliability throughput, response capacity etc.,
and throughput time under various load
32
Related posts:
• Popular Performance Testing Tools
• Penetration Testing Tutorial
• Security Testing Tutorial
• Popular Penetration Testing Tools
• Popular Security Testing Tools
• 1. WebLOAD
• 2. LoadRunner
• 3. Apache JMeter
• 4. NeoLoad
• 5. StresStimulus
• 6. LoadUI Pro
• 7. Rational Performance Tester
• 8. AppLoader
• 9. SmartMeter.io
• 10. Silk Performer
• 11. StormRunner Load
• 12. LoadView
• Some other Performance/Load Testing Tools
What is Performance Testing
Performance testing determines or validates the speed, scalability,
and/or stability characteristics of the system or application under
test. Performance is concerned with achieving response times,
throughput, and resource-utilization levels that meet the performance
objectives for the project or product.
Here are some factors we have to consider when choosing the best
performance testing tool.
The performance issue is the one almost every industry (like Banking,
eCommerce, Airlines, Retail, Restaurants, etc.,) is facing in common.
1. WebLOAD
LoadRunner Features:
Following are some of the most important features of LoadRunner
38
NeoLoad Features:
Following are some of the most important features of NeoLoad
StresStimulus Features:
Following are some of the most important features of StresStimulus
HTTP, HTTPS, AJAX, SOAP, WCF, binary WCF, and XML over
HTTP.
Download Link: StressStimulus
6. LoadUI Pro
LoadUI Pro by Smartbear is a load testing tool for REST & SOAP
APIs, Databases, and Microservices. It runs on Windows, Linux and
Mac OS. It allows users to create script less and sophisticated load
41
tests in the shortest time. It allows users to test the speed and
scalability of APIs, preview API performance behaviors before
releasing to production environments and shift performance insights to
the left. Users can access detailed reports and automate load tests on
Bamboo, Jenkins, TFS, and other automation frameworks.
Additionally, SoapUI functional tests can be quickly converted into
load tests using LoadUI Pro without writing a single line of a script.
AppLoader Features:
Following are some of the most important features of AppLoader
SmartMeter.io Features:
Following are some of the most important features of SmartMeter.io
LoadView Features:
Following are some of the most important features of LoadView
• Advanced load testing features include point and click scripting,
real browser testing, and global cloud-based infrastructure
• It is a fully managed cloud. No need to manage your own 3rd
party cloud accounts.
• Instantly spin up test machines with the most reliable cloud
platforms including Google, Amazon, and Rackspace.
45
1. Planning phase
In this phase, we define the scope (which system to test and the goals
and objectives to achieve with the penetration test) and the resources
and the tools (vulnerability scanners or penetration testing tools) to
employ for test execution
2. Discovery phase
In this phase, we collect as much information as possible about the
systems that are in the scope of the penetration test.
3. Vulnerability assessment:
In vulnerability assessment, we just identify and report the vulnerability
using vulnerability scanning tools.
4. Exploitation Phase
In this phase, we try to exploit the vulnerabilities identified in the
previous phase (i.e., discovery phase) to gain access to the target
system.
5. Reporting Phase
In this phase, we document all the results and findings in an effective
manner. This report will be used as a reference document while
mitigating activities to address the identified vulnerabilities.
Complexity:
Security vulnerabilities rise in proportion to the complexity of a system.
Complexity in terms of software, hardware, information, businesses,
and processes introduce more security vulnerabilities.
Connectivity:
Every unsecured connection is a potential avenue for exploitation.
Design Flaws:
There shouldn’t be any design bugs in software and hardware. These
bugs can expose businesses to significant risks.
Configuration:
Poor system configuration introduces security vulnerabilities.
User Input:
Data received through SQL injections, buffer overflows etc., can be
designed to attack the receiving system.
Management:
49
Passwords:
Passwords are there to avoid unauthorized access and secure your
personal data. Unsecured passwords (sharing with others, writing
them down somewhere, setting easy to guess) allows hackers to
guess your password easily.
Lack of training:
Lack of training leads to human errors. Human errors can be
prevented by giving proper training to the employees.
Human errors:
Human errors such as improper disposal of documents, coding errors,
giving out passwords to phishing sites are a significant source of
security vulnerabilities.
Communication:
Communication channels such as telephone, mobile, internet give
scope for security vulnerabilities.
Social:
Employees disclosing sensitive information with outsiders is one of the
common reasons for security threats.
What is a Vulnerability?
A vulnerability is a security weakness or flaw which can be exploited
by an attacker, to perform unauthorized actions within a system.
What Is An Exploit?
An exploit is a software program that takes advantage of a
vulnerability to cause unintended behavior to occur on a system. This
action is done to gain control of a system to attack it.
Vulnerability Scanning:
In vulnerability scanning (aka vulnerability assessment), we just
identify and report the vulnerability using vulnerability scanning tools.
Penetration Testing:
In Penetration testing (aka Pen test), we identify the vulnerabilities and
attempt to exploit them using penetration testing tools. We repeat the
same penetration tests until the system is negative to all those tests.
A penetration testing report lists the vulnerabilities that were exploited
successfully.
between black hat hackers and white hat hackers. Grey hat hackers
find vulnerabilities in a system. This type of hacking is considered
illegal because they attack the system without getting permission from
the owner of the system. They find for the security vulnerabilities but
not for bad purposes. After finding security vulnerabilities, they report
them to the owner of the system. Sometimes they request a fee to fix
the issue. If the owner doesn’t respond then sometimes the hackers
will disclose the security flaw to the public.
What are the types of Penetration Tests?
Different types of Pen Testing which are as follows
4. Wireless Tests
Wireless pen tests involved in analyzing the Wi-Fi networks and
wireless devices deployed on the client site. Wireless devices such as
laptops, netbooks, tablets, smartphones, iPods etc.,
Remote Tests:
Remote tests intend to trick an employee to disclose sensitive
information via an electronic means (ie., via Phishing Email
Campaign)
Physical Tests:
Strong physical security methods should be applied to protect
sensitive information. It involves human handling tactics like
convincing an employee via phone calls. It is generally using in a
military facility.
What are the Types of Pen Testing?
There are three types of Pen Testing which can be used, which are as
follows
approach is also known as clear box, glass box, open box and
structural testing.
Related posts:
• Most popular Penetration Testing tools/Pentest tools
• Security Testing – Detailed Guide
• Most popular Security Testing tools
• Test Management Tools
• Defect Tracking Tools
• API Testing Tools
• Automation Testing Tools
Note: You should only use these Security Testing Tools to attack
an application that you have permission to test.
Here are some of the popular Penetration testing tools which are
popular among Pen Testers.
There are many paid and free penetration testing tools available in the
market. Here, we discuss top 15 penetration testing tools.
Metasploit
Metasploit is a computer security project that provides the user with
important information about security vulnerabilities.
Wireshark
Wireshark is one of the freely available open source penetration
testing tools. Basically, it is a network protocol analyzer, it lets you
capture and interactively browse the traffic running on a computer
network. It runs on Windows, Linux, Unix, Mac OS, Solaris, FreeBSD,
NetBSD, and many others. It can be widely used by network
professionals, security experts, developers, and educators. The
information that is retrieved via Wireshark can be viewed through a
GUI or the TTY-mode TShark utility.
Wireshark Features:
Some of the features of Wireshark are as follows:
Spyse
A search engine that uses an OSINT mechanic (Open Source
Intelligent Tools) to collect, process, and provide structured
58
Spyse Features:
• Domains and subdomains
• IP addresses and subnets
• Encryption certificates
• Protocols
• Open ports
• WHOIS records
• Autonomous Systems (AS)
Website: https://spyse.com/
NMap
NMap is an abbreviation of Network Mapper. It is a free and open
source security scanning tool for network exploration and security
auditing. It works on Linux, Windows, Solaris, HP-UX, BSD variants
(including Mac OS), AmigaOS. It is used to determine what hosts are
available on the network, what services those hosts are offering, what
operating systems and versions they are running, what type of packet
filters/firewalls are in use etc., Many systems and network
administrators find it useful for routine tasks such as network
inventory, check for open ports, managing service upgrade schedules,
and monitoring host or service uptime. It comes with both command
line and GUI interfaces
Netsparker
Netsparker is a web application security scanner. It is an automatic,
dead accurate and easy to use web application security scanner. It is
used to automatically identify security issues such as SQL injection
and Cross-Site Scripting (XSS) in websites, web applications, and web
59
It is a commercial tool.
•Vulnerability assessment
•Advanced web scanning
• Proof-based scanning technology for dead-accurate
vulnerability detection and scan results
• Full HTML5 support
• Web services scanning
• HTTP request builder
• SDLC integration
• Reporting
• Exploitation
• Manual testing
• Anti-CSRF (Cross-site Request Forgery) token support
• Automatic detection of custom 404 error pages
• REST API support
• Anti-CSRF token support
Download link: https://www.netsparker.com
Acunetix
Acunetix is one of the leading web vulnerability scanners which
automatically scans any website. It detects over 4500 web
vulnerabilities which include all variants of SQL injection, XSS, XXE,
SSRF, and Host Header Injection. Its DeepScan Crawler scans
HTML5 websites and AJAX-heavy client-side SPAs. It allows users to
export discovered vulnerabilities to issue trackers such as Atlassian
JIRA, GitHub, Microsoft Team Foundation Server (TFS). It is available
on Windows, Linux, and Online.
It is a commercial tool.
Acunetix features:
Some of the features of Acunetix are as follows:
w3af
W3af is a Web Application Attack and Audit Framework. It secures
web applications by finding and exploiting all web application
vulnerabilities. It identifies more than 200 vulnerabilities and reduces
your site’s overall risk exposure. It identifies vulnerabilities like SQL
injection, Cross-Site Scripting (XSS), Guessable Credentials,
Unhandled application errors, and PHP misconfigurations. It has both
a graphical and console user interface. It works on Windows, Linux,
and Mac OS.
W3af features:
Some of the features of W3af are as follows:
Kali Linux
Kali Linux is an open source pen testing tool which is maintained and
funded by Offensive Security Ltd. It supports only on Linux machines.
Kali contains more than 600 penetration testing tools which are geared
towards various information security tasks, such as Penetration
61
Nessus
Nessus is a vulnerability assessment solution for security practitioners
and it is created and managed by a company called Tenable Network
Security. It aids in identifying and fixing vulnerabilities such as
software flaws, missing patches, malware, and misconfigurations
across a variety of operating systems, devices and applications. It
supports Windows, Linux, Mac, Solaris etc.,
Nessus features:
Some of the features of Nessus are as follows:
THC Hydra
THC-Hydra also called Hydra is one of the popular password cracking
tools. Another password cracker in line is THC Hydra. It supports both
GUI and Command Line user interface. It can decrypt passwords from
many protocols and applications with a dictionary attack. It performs
rapid dictionary attacks against more than 50 protocols including
cisco, telnet, ftp, http, https, mssql, mysql, svn etc., It is a fast and
stable network login hacking tool. This tool allows researchers and
security consultants to find unauthorized access.
Download link: https://github.com/vanhauser-thc/thc-hydra
Burpsuite
Burpsuite is a graphical tool for testing Web Application security. It is
developed by PortSwigger Web Security. It was developed to provide
a solution for web application security checks. It has three editions
such as community edition which is a free one, Professional edition,
and an enterprise edition. Community edition has significantly reduced
functionality. Burp proxy allows manual testers to intercept all requests
and responses between the browsers and the target application, even
when HTTPS is being used. In addition to basic functionality, such as
proxy server, scanner, and intruder, this tool also contains advanced
options such as a spider, repeater, decoder, comparer, sequencer,
extender API and clickbandit tool. It works on Windows, Mac OS X,
and Linux environments.
SqlMap
Sqlmap is a free and open source penetration testing tool. It
automates the process of detecting and exploiting SQL injection
issues and hacking over of database servers. It comes with many
detection engines and many features for an ultimate penetration
tester. It comes with a command line interface. It runs on Linux,
Windows and Mac OS X.
64
SqlMap features:
Some of the features of SqlMap are as follows:
Sqlninja
Sqlninja is an open source penetration testing tool. The aim of this tool
is to exploit SQL injection vulnerabilities on a web application. It uses
Microsoft SQL Server as back end. It has a command-line interface. It
works on Linux, and Apple Mac OS X.
Sqlninja features:
Some of the features of Sqlninja are as follows:
• Fingerprinting of the remote SQL Server
• Direct and reverse shell, both for TCP and UDP
• Creation of a custom xp cmdshell if the original one has been
disabled
• Reverse scan in order to look for a port that can be used for a
reverse shell
• OS privilege escalation on the remote DB server
• Extraction of data from the remote DB
Download link: http://sqlninja.sourceforge.net
Some other Penetration Testing Tools are as follows:
65
I always argue that just finding the bugs is not the job of a QA. A lot
more a QA can do. But one of our primary jobs is to find bugs in
software. 😉
Click here to find how to write a good bug report. Also, I recommend
you go through this post on the bug life cycle. It gives a clear idea of
how a bug goes through the life cycle to be fixed in SDLC.
List of Popular Defect Tracking Tools:
Here I am going to list the tools used for defect tracking contains both
free and commercial ones.
1. Bugzilla
2. HP ALM
3. JIRA
4. Mantis
5. Trac
6. Redmine
7. FogBugz
8. YouTrack
9. BugNet
10. Backlog
11. ReQtest
12. eTraxis
13. Zoho
14. Axosoft
15. Lighthouse
16. BugHost
17. Instabug
I am listing both free bug tracking tools and commercial bug tracking
tools. Commercial tools have free trails too. Using free trial you could
play around before choosing a commercial tool.
Now that you know of a list, let us take a look at each of them in detail.
BUGZILLA
Type: Free
Click here to download
HP ALM
Type: It has both Free & Commercial versions (You get 30 days free
trial on commercial plans too)
Click here to download
Trac
Type: Free
Click here to download
Backlog
It allows you to capture, track bugs, and seamlessly manage the end-
to-end development of your products. Teams can easily recognize
every bug in the workflow through this issue tracking tool. You can
easily integrate Backlog bug tracking tool with tools like Slack,
Jenkins, Google sheets importer, Email importer, iOS App, Android
App, Typetalk, Redmine, Jira Importer.
ReQtest offers a bug tracking module that allows developers & testers
to collaborate easily on fixing bugs. With ReQtest you can import all
your bug reports from a CSV file. You can automatically synchronize
ReQtest bugs with Jira issues. Also, you can easily integrate JIRA
projects with ReQtest projects.
Zoho Bug Tracker is an online bug tracker and issue tracking software
that helps you to track and fix bugs quickly. You can easily integrate
the Zoho bug tracking tool with tools like Google, GitHub, Bitbucket,
Dropbox, Zoho Analytics, Zoho Desk, Zoho Books, Zapier.
I have just mentioned popular Issue Tracking tools here. If you are
using any other issue tracker tools which are not listed here. Please let
us know in the comments section.
I would like to conclude here. If you find any other defect tracking tools
so handy and useful, please comment below. Here I have hand-picked
a few posts which will help you to learn more about Software Testing.
• 1. What is an API
• 2. What is API Testing
• 3. API Testing Types
• 4. Common tests on APIs
• 5. Advantages of API Testing
• 6. What exactly needs to be verified in API Testing
• 7. Tools used for API Testing
• 8. Difference between API testing and Unit Testing
• 9. Challenges in API testing
• 10. API Testing Best Practices
What is an API?
API is an acronym and it stands
for Application Programming Interface. API is a set of routines,
protocols, and tools for building Software Applications. APIs specify
how one software program should interact with other software
programs.
Routine: a program that performs a particular task. Routine is also
known as procedure, function, or subroutine.
waiter picks up your food from the kitchen and serves it to you at your
table.
In this scenario, the waiter’s role is similar to an API. As a waiter, the
API takes a request from a source, takes that request to the database,
fetches the requested data from the database, and returns a response
to the source.
If you are using a flight service engine say Expedia, where you search
for flights on a specific date. Once you pass the data such as Source,
Destination, Onward Date, and Return Date and click on search.
Expedia sends a request to airlines through an API as per your search
details. The API then takes the airline’s response to your request and
delivers it right back to Expedia.
API gets the request from the user and gives the response without
exposing internal logic. API acts like an Abstraction in the OOPs
concept.
What is API Testing?
API testing is a type of software testing that involves testing APIs
directly and also as a part of integration testing to check whether the
API meets expectations in terms of functionality, reliability,
performance, and security of an application. In API Testing our main
focus will be on a Business logic layer of the software architecture.
API testing can be performed on any software system which contains
multiple APIs. API testing won’t concentrate on the look and feel of the
application. API testing is entirely different from GUI Testing.
Let’s see how is UI testing is not similar to API testing?
UI (User Interface) testing is to test the graphical interface part of the
application. Its main focus is to test the look and feel of an application.
On the other hand, API testing enables the communication between
two different software systems. Its main focus is on the business layer
of the application.
• Data accuracy
• HTTP status codes
• Response time
• Error codes in case API return any errors
• Authorization checks
• Non-functional testing such as performance testing, security
testing
Tools used for API Testing:
Some of the tools used for API Testing are as follows:
• Postman
• Katalon Studio
• SoapUI
• Assertible
• Tricentis Tosca
• Apigee
• JMeter
• Rest-Assured
• Karate DSL
• API Fortress
• Parasoft
• HP QTP(UFT)
• vREST
• Airborne
• API Science
• APIary Inspector
• Citrus Framework
• Hippie-Swagger
• HttpMaster Express
• Mockbin
• Ping API
• Pyresttest
• Rest Console
• RoboHydra Server
• SOAP Sonar
• Unirest
• WebInject
Refer this link to learn more about these API Testing Tools
Difference between API testing and Unit Testing?
UNIT TESTING:
• Unit testing is conducted by the Development Team
• Unit testing is a form of White box testing
• Unit testing is conducted prior to the process of including the
code in the build
77
Using SoapUI, users can get the full source and build the preferred
features besides these abilities:
Free Package
• Create test quickly and easily with Drag-and-drop, Point-and-
click
• Reusability of Scripts allows load tests and security scans to be
reused for functional test cases in just several steps
Pro Package
• Powerful data-driven testing: Data loaded from files, and
databases, and Excel so that they can simulate how consumers
interact with the APIs
• Create complex-scenarios & support native CI/CD integrations,
asynchronous testing
80
Website: SoapUI
Pricing: Free – $659/year
4. Tricentis Tosca
Tricentis Tosca is a continuous testing platform for Agile and DevOps.
Benefits of Tricentis Tosca include:
Website: Tricentis
Pricing: Contact Sales
5. Apigee
Apigee is a cross-cloud API testing tool, allowing users to measure
and test API performance, supports, and build API using other editors
like Swagger.
• Easily create API proxies from the Open API Specification and
deploy them in the cloud
• Cloud, on-premise, or hybrid deployment model on a single
code base
• PCI, HIPAA, SOC2, and PII for apps and APIs
• Apigee is purpose-built for digital business, and the data-rich
mobile-driven APIs and apps that power it.
Starting from February 2019 with the release of version 4.19.01,
Apigee gave users even more flexibility to manage their APIs with
features like Open API 3.0 support, TLS security, self-healing with
apigee-monit, virtual host management improvements, and more
software support. The latest 4.19.6.04 announced in Apr 2020 with
minor bug fixes only.
Website: Apigee
Pricing: Contact Sales
6. JMeter
JMeter (open source) is widely used for functional API testing although
it is actually created for load testing.
• Supports replaying of test results
• Automatically work with CSV files, allowing the team to quickly
create unique parameter values for the API tests.
• Users can include the API tests in CI pipelines thank to the
integration between JMeter and Jenkins
• It can be used for both static as well as dynamic resources
performance testing
The most recent release in November 2019 is JMeter 5.2. The tool
has been packed with multiple features and enhancements, improved
user experience, and many bug fixes, such as new protocol,
JMESPath extractor, JDBC improvements, StringtoFile, HTTP
Samplers.
Website: JMeter
Pricing: Open source
7. Rest-Assured
Rest-Assured is an open-source Java Domain-specific language that
makes testing REST service more simple.
• Have a bunch of baked-in functionalities, which means users
don’t have to code things from scratch.
• Integrates seamlessly with the Serenity automation framework,
so that users can combine the UI and REST tests all in one
framework that generates awesome reports.
• Support BDD Given/When/Then syntax
• Users don’t necessarily need to be an HTTP expert
82
Website: Assertible
Pricing: Free – $100/month
9. Karate DSL
Karate DSL is a new API testing tool which help create scenarios for
API-based BDD tests in a simple way without writing step definitions.
Those definitions have been created by KarateDSL so that users can
kickstart the API testing quickly.
We believe the list above nominates the best solution available out
there if you are planning to adopt API automation testing. However,
like most of the solutions in this industry, finding the ideal-one-tool to
do it all is almost impossible.
No one-size-fit-all tool
API testing established its trend in automation testing, and more tools
will be developed to serve the growing demands of the software
development teams. Finding the perfect tool is still tough, but we have
the good news that you have way more choices than before. Carefully
considering your requirements, pros and cons of each solution — try
not too ambitious at the early stage and trial the top 5 relevant
candidates from the list above. With the POC for these solutions
created, you will have a better knowledge of your project’s critical
factors and fine-tune your shortlist. This approach gives you a good
chance to identify a suitable tool for the current status and information
of the next choice when your project is more mature.
This article was last modified in May 2020 and will be regularly
updated with the latest top API testing tools and their functionalities.
We love to hear your feedback. Leave a comment below if you have
any suggestions on API testing products!
I would love to hear your feedback and let me know if you have other
tools to record for the others’ reference.
Highlight features:
• No coding skillsets & complex figures required
• Web Recorder Utility takes in all movements on the app and
transforms them into runnable codes in the back-end
• BDD Cucumber capability allows stakeholders to take part in
testing at ease
• Insightful analytics dashboard and reports
• CI/CD pipeline and ALM system integrations involving Git,
Jenkins, qTest, Jira, CircleCI, etc.
• Smart Wait feature is a present for Selenium lovers to fully
eliminate Selenium wait issues without writing any additional
codes
• Built-in and custom keywords to transfer keywords in test
projects without any changes in the external behaviors
Named as a 2020 Gartner Peer Insights Customers’ Choices for the
Software Test Automation market, Katalon Studio stands a strong
belief in customer’s mind as the best option for when they need a
codeless testing tool.
Website: Katalon Studio
Pricing: Free – $759/year
Here is a Katalon Tutorial
TestCraft
86
Highlight features:
• No extra plugins required
• Run tests on multiple browsers simultaneously
• Create flows easily for application monitoring
• Detailed reports for every execution
• Reuse elements and flows across scenarios
• On-the-Fly fixing
• Dual output: data & scenario
• Multiple built-in integrations including Test Management, Issue
Management, Notifications & Communication
Website: TestCraft
Pricing: Commercial – Contact sales.
Perfecto
Highlight features:
• Main performance indicators improve velocity and efficiency for
teams
• Combine data using AWS services like EC2, ECS, Lambda, S3,
DynamoDB, and more
• Tests can run on various Android devices in parallel
• Switch to a microservices framework to deliver same-day
support for the latest mobile and web operating systems
87
Highlight features:
• Monitoring many data sets geographically
• Real-time alert via a rich set of alerting options
• Recording to monitoring in less than 5 minutes
• Huge capacity to maintain up to 1000 tests easily
• Integrations with ALM tools, CI/CD pipeline, team
communication apps (Slack, SMS, webhooks), bug tracking
tools, and version control tools (GitHub, TFS)
Website: CloudQA
Pricing: From $1,188/year
Sikuli
Features:
• Fast Automation Engine to help you create automated test
cases, on a keyword and data-driven structure, object-based
architecture with Java scripting
• With its Visual Recorder, you can automate testing of desktop-
based applications, widgets as well as flash applications using
inputs from onscreen actions such as Input, Scroll, Clicks,
Cancel, and more.
• With its Integrated Mobile Recorder, you can automate test
recording on multiple mobile applications/devices.
• With its Integrated OCR Capability, you can reduce the need for
keying in data by detecting and extracting the text from images
• Integrated PDF and Excel Commands.
• Multiple web browsers support such as Chrome, Firefox,
Internet Explorer(IE) and Microsoft Edge along with Android and
iOS mobile browsers
Website: Testing-Whiz
Pricing: Contact
EndTest
90
Endtest is a cloud platform where you can easily create, manage, and
run Automated Tests. With EndTest anyone can write complex
automated tests, without having to write code.
Features:
• Run the same test suite on any operating system, browser or
mobile device.
• Supports Parallel Execution
• Parameterized Testing
• It supports testing browser extensions
• Integrates with services like Bamboo, Travis CI, CircleCI,
TeamCity, Jenkins, GitHub, GitLab, etc.,
Website: EndTest
Pricing: It offers a free trial. Pricing starts at $138 / month
Mabl
Highlight features:
• A fresh UI and design approach run tests periodically with
suggestions
• Reuse tests across different browsers
• Run infinite tests in parallel
• Testing nodes are scaled up in the cloud as you need them,
with real browser installations on virtual machines.
• The output consists of screenshots for relatively easy failure
troubleshooting
• Extensive data reports and insights
• JavaScript steps can be used for API requests and custom
assertions
91
Highlight features:
• Ease of creating traces
• Flexibility in maintaining traces
• Robust load balancing, performance and regression tests
without coding
• Its latest version is being tested all the time
• A visual dashboard to check how your site is doing
• Integrations with Slack, JIRA, Jenkins, Visual Studio Online,
GitHub, Codeship, Flowdock, Bitbucket, and HipChat
• Instant email or SMS alert if something happens
Website: Usetrace
Pricing: From $1,188/year
Leapwork
Highlight features:
• No need to adjust the automation flows anytime the system
under test alters
• Schedules start from DevOps by calling the REST API from
Powershell scripts
• Automate and test applications in any operating system,
browser version, desktop or mobile device
• It comes with built-in Sauce Labs and BrowserStack cloud
integrations for total coverage
93
Siemens, Lufthansa, Cisco, Dell, and IBM, to name but a few trusted
Ranorex to automate their testing. With Ranorex, you can create an
all-in-one environment that can be easily spread with more
innovations.
Highlight features:
• Automate complex GUI testing using object recognition and
following each user scenario
• Ranorex Recorder can record and playback actions through an
action table editor, then convert them into natural languages
• Selenium WebDriver integration flexibly fixes all pain points
Selenium still has
• Flexible test automation interface launching all executed .EXE
files from the command line
• Seamless integration with the most common CI tools such as
Jira, Jenkins, Bamboo, or TeamCity
• It supports standard programming languages such as VB.NET
and C#
• No support macOS
Website: Ranorex
Pricing: From $3,130/year
Conclusion:
To sum up, codeless automation testing can be said a vital practice
that product teams should adopt and a must-have criterion for
automation testing tools. Codeless test automation is the greatest
94
solution for IT and business teams to fill the gap of technical level,
eliminate testing bottlenecks, and reduce the time and effort spent on
maintenance costs.
With a set of features conformed, codeless test automation is viewed
by QA experts as the chosen solution to ingrain into their existing
DevOps cycle. Regardless of your role in your team and project,
codeless tools will continue to advance, and you don’t want to miss
out on them in 2020.
Related Posts:
• Web Application Testing Tools
• Functional Testing Tools
• Unit Testing Tools
• Regression Testing Tools
• Test Management Tools
• Defect Tracking Tools
• Cross Browser Testing Tools
• Automation Testing Tools
• RPA Testing Tools
• Service Virtualization Tools
• Performance Testing Tools
• Penetration Testing Tools
• Mobile App Testing Tools
If you are looking to dig into our latest posts then check out
our homepage.
Like this post? Don’t forget to share it!
Happy Testing!
Network security:
Testers have to look for the vulnerabilities in the network infrastructure
(resources and policies).
1. Authentication
2. Authorization
3. Availability
4. Confidentiality
5. Integrity
6. Non-repudiation
96
Top Vulnerabilities:
Security tests include testing for vulnerabilities such as
• SQL Injection
• Cross-Site Scripting (XSS)
• Session Management
• Broken Authentication
• Cross-Site Request Forgery (CSRF)
• Security Misconfiguration
• Failure to Restrict URL Access
• Secure Data Exposure
• Insecure Direct Object Reference
• Missing Function Level Access Control
• Using Components with Known Vulnerabilities
• Unvalidated Redirects and Forwards
What are the Types of Security Testing
There are seven main types of security testing which are presented
below.
Vulnerability Scanning:
In vulnerability scanning (aka vulnerability assessment), we just
identify and report the vulnerability using vulnerability scanning tools.
Security Scanning:
Security scanning is done to find weak points in the security of
network and system and also provides solutions to reduce these risks.
Penetration Testing:
In Penetration Testing (aka Pen test), we identify the vulnerabilities
and attempt to exploit them using penetration testing tools. We repeat
the same penetration tests until the system is negative to all those
tests.
Security Auditing:
Security auditing is the procedure of defining security flaws. It is an
internal inspection of systems to find security flaws. In some cases, an
audit is done via line by line inspection of code
Ethical Hacking:
Ethical hacking is done on a system with an intent to find and expose
security issues in the system. Ethical hacking is done by a white hat
hacker. White hat hacker is a security professional who uses their
skills in a legitimate manner to reveal the defects of a system.
Note: You should only use these Security Testing Tools to attack an
application that you have permission to test.
• File disclosure
• Data injection
• XSS (Cross Site Scripting) injection
• XXE (XML External Entity) injection
• CRLF injection
• SSRF(Server Side Request Forgery)
• Bypass weak .htaccess configurations
• Shell shock (aka Bash Bug)
Key features of Wapiti web vulnerability scanner are:
• Supports both GET and POST HTTP methods for attacks
• Acts like a fuzzer
Website Link: http://wapiti.sourceforge.net/
Source Code Download Link: https://github.com/mbarbon/wapiti
4. W3af
W3af is a web application attack and audit framework that is
developed using python. It is one of the most popular web application
security testing frameworks in the market. It comes with both GUI and
console interface. It helps developers and penetration testers identify
and exploit vulnerabilities in web applications. It supports
authentication types such as HTTP basic authentication, NTLM
authentication, Form authentication, Cookie authentication. It is able to
identify more than 200 types of security issues in web applications,
including
• Cross-Site Scripting
• SQL Injection
• Guessable credentials
• Unhandled application errors
• PHP misconfigurations
103
• Boolean-based blind
• Time-based blind
• Error-based
• Union query-based
• Stacked queries
• Out-of-band
It supports a large number of database services such as
• MySQL
• Oracle
• PostgreSQL
• Microsoft SQL Server
• Microsoft Access
• IBM DB2
104
• SQLite
• Firebird
• Sybase
• SAP
• MaxDB
• Informix
• HSQLDB
• H2
Website Link: http://sqlmap.org/
Source Code Download
Link: https://github.com/sqlmapproject/sqlmap
7. SonarQube
SonarQube is an open source security testing tool developed by
SonarSource. It is an automatic code review tool to detect bugs,
vulnerabilities and code smells in your code.
• SSL Injection
• TLS Injection
• SSL Certificate verification issues
• SSL and STARTTLS stripping issues
• Cleartext issues
Website Link: https://security.googleblog.com/2014/11/introducing-
nogotofaila-network-traffic.html
Source Code Download Link: https://github.com/google/nogotofail
9. Grabber
Grabber is an open source web application scanner that detects some
kind of vulnerabilities in a website or web applications. It is designed to
105
• Cross-site scripting
• SQL injection
• File inclusion
• Backup files check
• Simple AJAX check
• Hybrid analysis or Crystal ball testing for PHP application using
PHP-SAT
Website Link: https://tools.kali.org/web-applications/grabber
Source Code Download Link: https://github.com/amoldp/Grabber-
Security-and-Vulnerability-Analysis-
10. Arachni
Arachni is an open source security testing tool aimed towards helping
penetration testers and administrators evaluate the security of web
applications. It is a feature-full, modular, high-performance Ruby
framework. It supports all major operating systems such as MS
Windows, Mac OS X, and Linux. It is designed to identify security
issues within a web application and make it hacker proof.
Related Posts:
• Website Penetration Testing Tools/Pentest Tools
• Security Testing – Detailed Guide
• Most popular Security Testing tools
• Test Management Tools
• Defect Tracking Tools
• API Testing Tools
• Automation Testing Tools
Enter the URL of the page you’d like to test. If the page is behind a
firewall or on a local server, please make sure to Enable Local
Connection in the top right.
1. Kobiton
2. Selenium
3. Subject7
4. Ranorex
5. LambdaTest
6. Katalon Studio
7. UFT
8. Watir
9. IBM Rational Functional Tester
10. TestComplete
11. EggPlant
12. Tricentis Tosca
13. Robot Framework
Now that you know of a list, let us take a look at each of them in detail.
1. Kobiton:
Features:
• Scriptless appium automation
• Automated crash detection
• Visual validation for a pixel-perfect app on all devices
• Recommendation Engine powered by AI to help the tester
Website: Kobiton
To learn Kobiton, read our detailed Kobiton Tutorial.
2. Selenium:
Website: Selenium
License: Open-source
To learn Selenium, read our detailed Selenium Tutorial.
3. Subject7
112
Extensive APIs allow for integration into JIRA, Jenkins, GitHub, or any
DevOps platform for test automation in real time. It is further available
on public, protected, or private clouds (i.e. on-premise).
Website: Subject7
Pricing: Commercial SaaS
4. Ranorex
Features:
• Reliable object identification, even for web elements with
dynamic IDs.
• Shareable object repository.
• Reduce test maintenance with reusable code modules.
• Cross-platform and cross-browser testing.
• Test in parallel or distribute on a Selenium Grid with built-in
Selenium WebDriver.
• Customizable, easy-to-read test reports.
• Enable video reporting to see what caused a test to fail without
re-running the test.
113
Here I have hand-picked a few posts which will help you to learn more
about Software Testing.
• Best Bug Tracking Tools
• Best API Testing Tools
• Popular Test Management Tools
• Test Strategy Document – A Complete Guide
• How To Prepare A Test Plan
• Test Case Template with Detailed Explanation
• Explain Test Automation Framework
• Why You Choose Software Testing As A Career
• Manual Testing Tutorial
• Selenium Tutorial
If you have any more questions, feel free to ask via comments. If you
find this post useful, do share it with your friends on Social
Networking.
51. Retesting: To ensure that the defects which were found and
posted in the earlier build were fixed or not in the current build. Say,
Build 1.0 was released. Test team found some defects (Defect Id
1.0.1, 1.0.2) and posted. Build 1.1 was released, now testing the
defects 1.0.1 and 1.0.2 in this build is retesting.
52. Regression testing: Repeated testing of an already tested
program, after modification, to discover any defects introduced or
uncovered as a result of the changes in the software being tested or in
another related or unrelated software components.
53. Smoke testing: Smoke Testing is done to make sure if the build
we received from the development team is testable or not. It is also
called as “Day 0” check. It is done at the “build level”. It helps not to
waste the testing time to simply testing the whole application when the
key features don’t work or the key bugs have not been fixed yet.
54. Sanity testing: Sanity Testing is done during the release phase to
check for the main functionalities of the application without going
deeper. It is also called as a subset of Regression testing. It is done at
the “release level”. At times due to release time constraints rigorous
regression testing can’t be done to the build, sanity testing does that
part by checking main functionalities.
55. Dynamic testing: Dynamic testing involves in the execution of
code. It validates the output with the expected outcome
56. Static testing: Static Testing involves in reviewing the documents
to identify the defects in the early stages of SDLC.
57. Monkey testing: Perform abnormal action on the application
deliberately in order to verify the stability of the application.
58. Gorilla testing: Gorilla testing is done by testers, sometimes
developers also join hands with testers. It involves testing a system
repeatedly to test the robustness of the system.
59. Usability testing: To verify whether the application is user-friendly
or not and was comfortably used by an end user or not. The main
focus in this testing is to check whether the end user can understand
and operate the application easily or not. An application should be
self-exploratory and must not require training to operate it.
60. Accessibility testing: Accessibility testing is a subset of usability
testing. It aims to discover how easily people with disabilities (such as
visual Impairments, Physical Impairment, Hearing Impairment,
Cognitive Impairment, Learning Impairment) can use a system.
61. Compatibility testing: It is to deploy and check whether the
application is working as expected in a different combination of
environmental components.
62. Configuration testing: Configuration testing is the process of
testing an application with each one of the supported hardware and
software configurations to find out whether the application can work
without any issues.
123
Here I have hand-picked a few posts which will help you to learn more
interview related stuff:
• Software Testing
• Principles of Software Testing
• Software Development Life Cycle
• Waterfall Model in SDLC
• Spiral Model in SDLC
• V Model in SDLC
• Agile Scrum Methodology
• Software Testing Life Cycle
• Bug Life Cycle
• Types of Software Testing
• Levels of Testing
• Performance Testing Types
• Functional Testing
• Unit Testing
• Integration Testing
• End-To-End Testing
• What is Regression Testing & When Do We Do?
• What is Retesting & When Do We Do?
127
• Regression Vs Retesting
• Severity Vs Priority
• Functional Vs Non-Functional Testing
• Unit Testing Vs Integration Testing
• Integration Vs System Testing
• Verification And Validation
• Entry And Exit Criteria
• Performance Engineering Vs Performance Testing
• Performance Vs Load Testing
• Load Testing Vs Stress Testing
• Difference between Desktop, Client-Server And Web
Application Testing
• Difference Between Defect Bug Error And Failure
Interview Preparation Topics:
• Manual Testing Interview Questions
• Real-Time Software QA Interview Questions And Answers
• Agile Testing Interview Questions
• JIRA Interview Questions
ISTQB Certification:
ISTQB stands for International Software Testing Qualification Board. I
don’t say you will get a salary hike if you finish this certification but its
always good to have certification in career development.
• How To Prepare for ISTQB Exam
• ISTQB Quiz
Software Testing Tools:
Manual testing does not mean that the software testers won’t use any
tool in the process of testing. There are several tools available in the
market which helps Software QA’s to test an application in an efficient
manner.
• Best Test Management Tools
• Best Defect Tracking Tools
• Best Automation Testing Tools
• Best Regression Testing Tools
• Best Cross Browser Testing Tools
• Best Unit Testing Tools
• Best Functional Testing Tools
• Best Web Application Testing Tools
• Best API Testing Tools
• Best Performance Testing Tools
• Best Penetration Testing Tools
• Best Open Source Security Testing Tools
• Best Service Virtualization Tools
Before concluding, download a sample resume and modify as per your
needs
129
Resume:
• Sample Resume for Software Testers
If you want us to cover any other topic, please comment below.
Finally, Happy Testing!
Page Contents
Let’s get started,
Features:
• Report bugs, ideas, notes, and questions easily
• Capture screenshots during the session
• Automatic URL tracking
• Monitor session results in a report
• Save and import session
130
Features:
• Convenient access to common boundaries and edge cases for
exploratory testing
• Possible to extend it with our customized config files easily
• Works on input fields, text areas, and editable DIVs
Link: Bug Magnet
#3 Session Tester
tests, report, and link existing issues when running the exploratory
testing test cases. Finally, you can create reports based on your
sessions and later review them with your colleagues and your team
lead in order to gather feedback.
To get a better idea about how this works, check out PractiTest’s full
exploratory testing documentation
#5 TestPad
Link: TestRail
#8 Rapid Reporter
132
Link: Testuff