2. Test automation
• In software testing, test automation is the use of special software to
control the execution of tests and the comparison of actual
outcomes with predicted outcomes.
• Test automation can automate some repetitive but necessary tasks in
a formalized testing process already in place, or perform additional
testing that would be difficult to do manually.
• Test automation is critical for continuous delivery and continuous
testing.
4. What is GUI Testing?
• GUI testing is the process of testing the system's Graphical User
Interface of the Application Under Test. GUI testing involves checking
the screens with the controls like menus, buttons, icons, and all types
of bars - toolbar, menu bar, dialog boxes and windows, etc.
• GUI is what user sees. Say if you visit google.com what you will see is
the GUI (graphical user interface) of the site. A user does not see the
source code. The interface is visible to the user. Especially the focus is
on the design structure, images that they are working properly or not.
• In above example, if we have to do GUI testing we first check that
the image should be completely visible in different browsers.
• Also, the links are available, and the button should work when
clicked.
• Also, if the user resizes the screen, neither images nor content should
shrink or crop or overlap.
5. Need of GUI Testing
Now the basic concept of GUI testing is clear. The few
questions that will strike in your mind will be
• Why do GUI testing?
• Is it really needed?
• Does testing of functionally and logic of Application
is not more than enough??Then why to waste time
on UI testing.
6. What do you Check in
GUI Testing?
The following checklist will ensure detailed GUI Testing.
• Check all the GUI elements for size, position, width, length and
acceptance of characters or numbers. For instance, you must be
able to provide inputs to the input fields.
• Check you can execute the intended functionality of the
application using the GUI
• Check Error Messages are displayed correctly
• Check for Clear demarcation of different sections on screen
• Check Font used in application is readable
• Check the alignment of the text is proper
• Check the Color of the font and warning messages is
aesthetically pleasing
• Check that the images have good clarity
• Check that the images are properly aligned
• Check the positioning of GUI elements for different screen
resolution.
7. Challenges in GUI Testing
• The most common problem comes while
doing Regression Testing is that the application GUI
changes frequently. It is very difficult to test and
identify whether it is an issue or enhancement. The
problem manifests when you don't have any
documents regarding GUI changes.
• Success of a software product immensely depends
on how the GUI interacts with the user and ease in
using its various features. Hence, GUI testing is very
important. Manual GUI testing can sometimes be
repetitive and boring and hence error prone.
Automation is highly recommended for GUI testing.
8. What is Performance
Testing?
• Performance testing is the general name for tests that check
how the system behaves and performs. Performance testing
examines responsiveness, stability, scalability, reliability, speed
and resource usage of your software and infrastructure.
Different types of performance tests provide you with different
data.
• Before performance testing, it’s important to determine your
system’s business goals, so you can tell if your system behaves
satisfactorily or not according to your customers’ needs.
• After running performance tests, you can analyze
different KPIs (Key Performance Indicators), such as the
number of virtual users, hits per second, errors per second,
response time, latency and bytes per second (throughput), as
well as the correlations between them. Through the reports
you can identify bottlenecks, bugs and errors, an decide what
needs to be done.
9. What is Load Testing?
• Load testing is testing that checks how systems function under
a heavy number of concurrent virtual users performing
transactions over a certain period of time. Or in other words,
how systems handle heavy load volumes. There are a few
types of open-source load testing tools, with JMeter being the
most popular one.
• When you want to determine how many users your system
can handle. You can determine different user scenarios that
let you focus on different parts of your system, like the
checkout webpage on your website or app for web load
testing.
• Basically, load testing is something you should do all the time,
to ensure your system is always on point. That’s why it should
be integrated into your Continuous Integration cycles.
10. What is API testing?
• API testing is a type of software testing that involves
testing application programming interfaces (APIs)
directly and as part of integration testing to
determine if they meet expectations for
functionality, reliability, performance, and security.
• Since APIs lack a GUI, API testing is performed at
the message layer.
• API testing is now considered critical for automating
testing because APIs now serve as the primary
interface to application logic and because GUI
tests are difficult to maintain with the short release
cycles and frequent changes commonly used
with Agile software development.
11. Test Automation tools comparison
Web Testing Tools Web Browser Scripting Language
eggPlant Functional Yes (IE, Firefox, Safari, Opera, Chrome) SenseTalk
Macros Yes (Firefox, Chrome, IE) iMacro Script
QF-Test Yes (IE, Firefox) visual scripting, Jython,
Groovy
Ranorex Studio Yes (Chrome, Firefox, Safari, IE) C#, VB.NET
Sahi Yes (IE, Firefox, Chrome, Safari, Opera and
any modern browser)
Sahi Script
Selenium Yes (IE, Firefox, Chrome, Safari, Opera, Edge) Ruby, Java, NodeJS, PHP, Perl,
Python, C#, Groovy
SOAtest Yes Python, JavaScript, Java
TestComplete Yes (IE, Firefox, Chrome) VBScript, JScript, C++Script,
C#Script, DelphiScript
Test Studio Yes (Chrome, Firefox, Safari, IE) C#, VB.NET
Tricentis Tosca Yes (Chrome, Firefox, IE, Edge) C#, VB.Net
WatiN Yes (IE, Firefox) C#, ability to run JavaScript
from C# calls
Watir Yes (IE, Firefox, Chrome, Safari, Opera, Edge) Ruby
12. Test Studio Overview
• Test Studio is an easy-to-use automated web, WPF and load testing solution. Test Studio
tests support essential technologies like ASP.NET AJAX, Silverlight, PHP and MVC.
• Test Studio functional testing is a comprehensive yet cost-effective automated testing
suite. Users can complete tasks quickly and easily with the product’s point-and-click
interface, which is augmented by Telerik-exclusive features like a visual storyboard and
3D element selection.
• Test Studio load tests allow users to capture quickly capture, multiply and replay complex
web traffic. Record HTTP traffic from desktop browsers, mobile devices and web services,
and replay traffic with hundreds or thousands of virtual users spread across multiple
machines. Fine-tune your load scenario with data binding, user authentication, and
dynamic targets.
• Test Studio Mobile is an intuitive and easy to use test automation solution for Mobile
application testing. Create tests once and test across multiple devices and OS’s. The
point and click functionality allows users to capture quickly and replay complex mobile
testing functionality. There is no need to write a single line of code. Test against any
number of real devices as you wish or through an emulator by connecting through Wifi.
• Test Studio for APIs helps customers verify the integrity and reliability of their APIs in an
easy way and incorporate their API testing effort in their continuous testing and delivery
process. Test Studio for APIs is used to determine whether APIs return the correct response
for a broad range of commonly accepted requests, react properly to edge cases such
as failures and unexpected inputs, as well as deliver the responses in an acceptable
amount of time.
13. Installation
• Go to https://www.telerik.com/teststudio
• Download the trial
• https://www.telerik.com/download-trial-file/v2/test-
studio-ultimate
• Extensions to browsers
17. Pros
• Installation and set up is a very easy process
• Clear and detailed documentation
• 24h support
• Complete solution that has almost everything you
need
• Changes of GUI can easily be handled on the
whole of test cases.
18. Cons
• Issues like memory leaks, email not sent etc
• Recording is not always working correctly
• Different steps for each browser
• Not recommended for big projects
• Price