Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 20

GUI Software Testing

• GUI testing is a testing technique in which the application's user


interface is tested whether the application performs as expected
with respect to user interface behavior.

• GUI Testing includes the application behavior towards keyboard


and mouse movements and how different GUI objects such as
toolbars, buttons, menu bars, dialog boxes, edit fields, lists,
behavior to the user input.
GUI Testing Guidelines
•Check Screen Validations
•Verify All Navigations
•Check usability Conditions
•Verify Data Integrity
•Verify the object states
•Verify the date Field and Numeric Field Formats
GUI Automation Tools
Following are some of the open source GUI automation tools in the market:

Product Licensed Under URL


AutoHotkey GPL http://
www.autohotkey.com/
Selenium Apache http://
docs.seleniumhq.org/
Sikuli MIT http://sikuli.org
Robot Framework Apache www.robotframework.org
watir BSD http://www.watir.com/
Dojo Toolkit BSD http://dojotoolkit.org/
Following are some of the Commercial GUI automation tools in the market.
Product Vendor URL
AutoIT AutoIT http://www.autoitscript.com/
site/autoit/
EggPlant TestPlant www.testplant.com
QTP Hp http://www8.hp.com/us/en/
software-solutions/
Rational Functional Tester IBM http://www-03.ibm.com/
software/products/us/en/
functional
Infragistics Infragistics www.infragistics.com
iMacros iOpus http://www.iopus.com/iMacros/
CodedUI Microsoft http://www.microsoft.com/
visualstudio/
Sikuli Micro Focus International http://www.microfocus.com/
accessibility Testing
Accessibility testing is a subset of usability testing where in the users under
consideration are people with all abilities and disabilities. The significance of
this testing is to verify both usability and accessibility.
Accessibility aims to cater people of different abilities such as:
•Visual Impairments
•Physical Impairment
•Hearing Impairment
•Cognitive Impairment
•Learning Impairment
A good web application should cater to all sets of people and NOT
just limited to disabled people. These include:

1.Users with poor communications infrastructure


2.Older people and new users, who are often computer illiterate
3.Users using old system (NOT capable of running the latest
software)
4.Users, who are using NON-Standard Equipment
5.Users, who are having restricted access
How to Perform Accessibility Testing

• The Web Accessibility Initiative (WAI) describes the strategy for


preliminary and conformance reviews of web sites.
• The Web Accessibility Initiative (WAI) includes a list of software
tools to assist with conformance evaluations.
• These tools range from specific issues such as color blindness to
tools that will perform automated spidering tools.
Web accessibility Testing Tools
Product Vendor URL
AccVerify HiSoftware http://
www.hisoftware.com
Bobby Watchfire http://
www.watchfire.com
WebXM Watchfire http://
www.watchfire.com
Ramp Ascend Deque http://
www.deque.com
InFocus SSB Technologies http://
www.ssbtechnologies.
com/
Role of Automated Tools in Acceptance Testing

automated accessibility testing tools are very good at identifying pages and lines of code that
need to be manually checked for accessibility.

1.check the syntax of the site's code


2.Search for known patterns that humans have listed
3.identify pages containing elements that may cause problems
4.identify some actual accessibility problems
5.identify some potential problems
The interpretation of the results from the automated accessibility testing tools requires
experience in accessibility techniques with an understanding of technical and usability
issues.tim
What is Dynamic Testing?

Dynamic Testing is a kind of software testing technique using which the dynamic behaviour of
the code is analysed.
For Performing dynamic, testing the software should be compiled and executed and
parameters such as memory usage, CPU usage, response time and overall performance of the
software are analyzed.
Dynamic testing involves testing the software for the input values and output values are
analyzed. Dynamic testing is the Validation part of Verification and Validation.
Dynamic Testing Techniques

The Dynamic Testing Techniques are broadly classified into two categories. They are:
•Functional Testing
•Non-Functional Testing
Levels of Dynamic Testing
There are various levels of Dynamic Testing Techniques. They are:
•Unit Testing
•Integration Testing
•System Testing
•Acceptance Testing
Functional Testing Non-functional Testing
It verifies the operations and actions of an
application. It verifies the behavior of an application.

It is based on requirements of customer. It is based on expectations of customer.


It helps to enhance the behavior of the It helps to improve the performance of the
application. application.
Functional testing is easy to execute It is hard to execute non-functional testing
manually. manually.
It tests what the product does. It describes how the product does.
Functional testing is based on the business Non-functional testing is based on the
requirement. performance requirement.
Examples:1. Performance Testing 2. Load
Examples:1. Unit Testing 2. Smoke Testing Testing 3. Stress Testing 4. Scalability
3. Integration Testing 4. Regression Testing
Testing
Compatibility Testing

Compatibility testing is a non-functional testing conducted on the application to


evaluate the application's compatibility within different environments. It can be
of two types - forward compatibility testing and backward compatibility testing.

•Operating system Compatibility Testing - Linux , Mac OS, Windows


•Database Compatibility Testing - Oracle SQL Server
•Browser Compatibility Testing - IE , Chrome, Firefox
•Other System Software - Web server, networking/ messaging tool, etc.
Compliance Testing

• Compliance Testing is performed to maintain and validate the compliant state for the life of
the software. Every industry has a regulatory and compliance board that protects the end
users.

• For shipping and logistics industries, the Office of Foreign Assets & Controls (OFAC) has
enacted several regulations for Specially Designated Nationals.

• In healthcare, Health Insurance Portability and Accountability Act (HIPAA) includes an


administrative simplification section, which mandates protecting the information assets of
patients.
The softwares used in the pharmaceutical industry, the Food and Drug Administration (FDA)
enacted legislation comes into the picture.
Checklists for Compliance Testing:

•Professionals, who are knowledgeable and experienced, who understand the compliance
must be retained.
•Understanding the risks and impacts of being non-compliant
•Document the processes and follow them
•Perform an internal audit and follow with an action plan to fix the issues
Database Testing
Database testing involves the retrieved values from the database by the web or
desktop application. Data in the User Interface should be matched as per the
records are stored in the database.

Database Testing Validations


The following verifications are carried out during database testing:
•Checking the data Mapping.
•ACID (Atomicity, Consistency, Isolation, Durability) properties validation.
•Data Integrity
•Business rule conformance
Smoke Testing?
Smoke Testing is a testing technique that is inspired from hardware testing, which checks for
the smoke from the hardware components once the hardware's power is switched on.
Similarly in Software testing context, smoke testing refers to testing the basic functionality
of the build.
If the Test fails, build is declared as unstable and it is NOT tested anymore until the smoke
test of the build passes.
Smoke Testing - Features:
•Identifying the business critical functionalities that a product must satisfy.
•Designing and executing the basic functionalities of the application.
•Ensuring that the smoke test passes each and every build in order to proceed with the
testing.
•Smoke Tests enables uncovering obvious errors which saves time and effort of test team.
•Smoke Tests can be manual or automated.
What is Safety Testing?
Safety testing in software systems aims at optimizing system safety in the design, development,
use, and maintenance of software systems and their integration with safety-critical hardware
systems in a production environment.

Aspects of Software Safety:


•Functioning software should not generate hazards - Eg: Guiding the state of the art aircraft
should NOT steer into the ocean
•Monitoring systems must perform flawlessly - Eg: Back-up computer Should start
automatically when primary fails
Goals in Safety Testing:
•In complex systems where there are many interactions involved, the safety-critical
functionality should be identified and thoroughly analyzed.
•Contributing factors and resultant hazards associated with the system are identified and
eliminated.
•The number of safety critical interfaces are kept low to avoid injury or death.
•Safety attributes are to be addressed as part of all the levels of software testing.
Sanity Testing
Sanity testing, a software testing technique performed by the test team
for some basic tests. The aim of basic test is to be conducted whenever a
new build is received for testing. The terminologies such as Smoke Test
or Build Verification Test or Basic Acceptance Test or Sanity Test are
interchangeably used, however, each one of them is used under a slightly
different scenario.
Sanity test is usually unscripted, helps to identify the dependent missing
functionalities. It is used to determine if the section of the application is
still working after a minor change.
Sanity testing can be narrow and deep. Sanity test is a narrow regression
test that focuses on one or a few areas of functionality.

You might also like