Você está na página 1de 12

Course Code: CSE526 COURSE TITLE: SOFTWARE TESTING

Course Instructor: Rupinder kaur

Academic Task No.: 2 Academic Task Title: Analysis and


comparison of various gui capture and stress
testing tools
Date of Allotment: 14-02-2017 Date of submission: 10/04/2017

Students Roll no: A (24) Student Reg. No:11310692


Acknowledgement
I would like to express my special thanks of gratitude to my teacher
(Rurpinder kaur) who gave me the golden opportunity to do this
wonderful project on the topic (Analysis and comparison of various GUI
capture and stress testing tools), which also helped me in doing a lot of
Research and i came to know about so many new things I am really
thankful to them.

Aman kumar
GUI CAPTURE.
GUI CAPTURE-GUI capture & replay tools have been developed as a mechanism for testing the
correctness of interactive applications with graphical user interfaces. Using a capture and replay
tool, a quality-assurance person can run an application and record the entire interactive session.
The tool records all the user's events, such as the keys pressed or the mouse movements, in a log
file. Given that file, the tool can then automatically replay the exact same interactive session any
number of times without requiring a human user. By replaying a given log file on a changed
version of the application, capture & replay tools thus support fully-automatic regression testing
of graphical user interfaces.
GUI capture & replay tools are usually not used for recording entire interactive sessions: their
main goal is to record simple interaction sequences, such as the user clicking on the 'File |
Open...' menu, and to verify that this click indeed pops up the application's dialog window to
open files.

Various GUI capture tools:-


1. Abbot : Is a framework for GUI testing. Its basic functionality allows a developer to write
GUI unit tests in the form of Java methods which call into the Abbot framework to drive an
application's GUI. Besides tests written in Java, Abbot also allows the specification of tests in
the form of XML test scripts. It provides a script editor, Costello, for editing such scripts.
Besides the manual editing of test scripts, Costello also supports the recording of scripts by
capturing the events occurring in a running application.
2. Jacareto: Is a GUI capture & replay tool supporting the creation of animated
demonstrations, the analysis of user behavior, as well as GUI test automation. Given this
broad spectrum of applications, Jacareto provides a number of extra features, such as the
highlighting of specific components in the GUI, extension points to capture and replay
application-specific semantic events, or the embedding of Jacareto into the GUI application
for providing macro record and replay functionality. Jacareto comes with two front-ends,
CleverPHL, a graphical tool with extensive support for recording, editing, and replaying
interaction scripts, and Picorder, the command-line record and replay tool we use in this
paper.

Pounder: Is exclusively focused on capturing and replaying interactions for GUI testing. It
stores interaction scripts as XML les and is not intended to be used for manually writing tests.
Compared to Abbot and Jacareto, Pounder is a lightweight tool, as can be seen by its narrow
focus and its small size (number of classes in the table above). Currently, this tool is the one we
use for the automated GUI testing.

3. Marathon: Seems to be an open-source version of a more powerful commercial product.


Besides providing a recorder and a player, Marathon also comes with an extensive editor for
interaction scripts. Marathon records interaction logs as Python scripts.
4. JFCUnit: Is an extension that enables GUI testing based on the JUnit6 testing framework.
JFCUnit allows a developer to write Java GUI tests as JUnit test case methods. The main
focus of JFCUnit is the manual creation of GUI tests (following JUnit's approach), but a
recording feature has been added in a recent version.
5. Ascentialtest:- Ascentialtest is designed for reducing time and efforts of test case creation
and maintenance
Provides visual environment for creating test component just through drag and drop feature
Facilitates test planning, test data management, test execution, manual and automated test
development, defect tracking and reporting.
6. AutoIt UI testing:- AutoIt is freeware scripting language with basic structures used to
automate Windows GUI and general scripting
It is a self-contained commercial tool which is a combination of keystrokes, mouse
movements and Windows Manipulation
Tool avails COM support and script compilation with standalone executables
The tool encompasses Built-in Editor, Basic-like Syntax, Rich function set etc.
7. CubicTest:- CubicTest is an open source Eclipse plugin that helps for testing web
application to design and understand, no matter if the user have any technical knowledge or
not
It uses GUI for model testing instead of test scripts and enables test driven development of
web application
Replaces requirement specifications and manual test scripts with CubicTest case designs.
8. iMacros:- Basically iMacros is known as an extension for Mozilla Firefox, Google
Chrome and Internet Explorer with Record and Replay functionality
It has supportive features for web scripting, internet server monitoring and web testing
It is a commercial tool which can automate Adobe Flash, Adobe Flex, Silverlight, Java
Applets etc.
Integrates with business data and Excel, automates Ajax Testing and functional, performance
and regression testing for browsers
9. Ranorex:- GUI automation test tool:- Ranorex is commercial Windows GUI test
automation tool provides testing for all windows, web and mobile application
It uses RanoreXPath technology that is used for east maintenance of test and simplifies
testing of dynamic interfaces
Ranorex comes with comes with repository to map and maintain tests along with Capture and
Replay or Record and Edit actions

STRESS TESTING TOOLS.


Stress testing is used to test the stability & reliability of the system. This test mainly determines
the system on its robustness and error handling under extremely heavy load conditions.

It even tests beyond the normal operating point and evaluates how the system works under those
extreme conditions. Stress Testing is done to make sure that the system would not crash under
crunch situations.

Stress testing is also known as endurance testing. Under Stress Testing, AUT is be stressed for a
short period of time to know its withstanding capacity. Most prominent use of stress testing is to
determine the limit, at which the system or software or hardware breaks. It also checks
whether system demonstrates effective error management under extreme conditions.

The application under testing will be stressed when 5GB data is copied from the website and
pasted in notepad. Notepad is under stress and gives 'Not Responded' error message.

Need for Stress Testing

Consider the following scenarios -

During festival time, an online shopping site may witness a spike in traffic, or when it
announces a sale.
When a blog is mentioned in a leading newspaper, it experiences a sudden surge in
traffic.

It is imperative to perform Stress Testing to accommodate such abnormal traffic spikes. Failure
to accommodate this sudden traffic may result in loss of revenue and repute.

Stress testing is also extremely valuable for the following reasons:

To check whether the system works under abnormal conditions.


Displaying appropriate error message when the system is under stress.
System failure under extreme conditions could result in enormous revenue loss
It is better to be prepared for extreme conditions by executing Stress Testing.

Goals of stress testing:

The goal of stress testing is to analyze the behavior of the system after failure. For stress testing
to be successful, system should display appropriate error message while it is under extreme
conditions.

To conduct Stress Testing, sometimes, massive data sets may be used which may get lost during
Stress Testing. Testers should not lose this security related data while doing stress testing.

The main purpose of stress testing is to make sure that the system recovers after failure which is
called as recoverability.

Types of Stress Testing:

Following are the types of stress testing and are explained as follows:
1. Distributed Stress Testing:

In distributed client-server systems, testing is done across all clients from the server. The role of
stress server is to distribute a set of stress tests to all stress clients and track on the status of the
client. After the client contacts the server, server adds the name of the client and starts sending
data for testing.

Meanwhile, client machines send signal or heart beat that it is connected with the server. If the
server does not receive any signals from the client machine, it needs to be investigated further for
debugging. From figure, server can connect with the 2 clients (Client1 and Client2), but it cannot
send or receive signal from Client 3 & 4.

Night run is the best option to run these stress testing scenarios. Large server farms, need more
efficient method for determining which computers have had stress failures that need to be
investigated.

2. Application Stress Testing:

This testing concentrate on finding defects related to data locking and blocking, network issues
and performance bottlenecks in an application.

3. Transactional Stress Testing:

It does stress testing on one or more transactions between two or more applications. It is used for
fine-tuning & optimizing the system.

4. Systemic Stress Testing:


This is integrated stress testing which can be tested across multiple systems running on the same
server. It is used to find defects where one application data blocks another application.

5. Exploratory Stress Testing:


This is one of the types of stress testing which is used to test the system with unusual parameters
or conditions that are unlikely to occur in a real scenario. It is used to find defects around
unexpected scenarios like

1. Large number of users logged at the same time

2. If a virus scanner started in all machines simultaneously

3. If Database gone offline when it being accessed from a web site,

4. When a large volume of data is inserted to the database simultaneously

Tools for Stress Testing:

LoadRunner

LoadRunner from HP is a widely-used Load Testing tool. Load Test Results shaped by
Loadrunner are considered as a benchmark.

Jmeter

Jmeter is an Open Source testing tool. It is a pure Java application for stress and performance
testing. Jmeter is intended to cover types of tests like load, functional, stress, etc. It needs JDK 5
or higher to function.

Stress Tester

This tool provides extensive analysis of the web application performance, provides results in
graphical format, and it is extremely easy to use. No high-level scripting is required and gives
good return on investment.

Neo load

This is a popular tool available in the market to test the web and Mobile applications. This tool
can simulate thousands of users in order to evaluate the application performance under load and
analyze the response times. It also supports Cloud integrated - performance, load and stress
testing. It is easy to use, cost effective, and provides good scalability.
Metrics for stress testing

Metrics help in evaluating a System's performance and generally studied at the end of Stress
Test. Commonly used metrics are -

Measuring Scalability & Performance

Pages per Second : Measures how many pages have been requested / Second
Throughput: Basic Metric - Response data size/Second
Rounds: Number of times test scenarios has been planned Versus Number of times client
has executed

Application Response

Hit time: Average time to retrieve an image or a page


Time to the first byte: Time taken to return the first byte of data or information
Page Time: Time taken to retrieve all the information in a page

Failures

Failed Connections: Number of failed connections refused by the client (Weak Signal)
Failed Rounds: Number of rounds it gets failed
Failed Hits: Number of failed attempts done by the system (Broken links or unseen
images)

Conclusion
Stress testing's objective is to check the system under extreme conditions. It monitors system
resources such as Memory, processor, network etc., and checks the ability of the system to
recover back to normal status. It checks whether system displays appropriate error messages
while under stress.

Comparison Between Gui Capture And Stress Testing.


User
Application
Title Company Scope Interface Features Documentation
Rights
Available
Batch Mode;
Test
COM API;
AutoIt Automation Commercial;
AutoIt GUI usability; Blog, Forums
Consulting Framework; Free Use
Stand Alone
Testing Tool
application
Test Batch Mode; Blog,
Automation Free Use; Plugin; Stand Documentation
JMeter Apache
Framework; Opensource Alone OnSite, FAQ,
Testing Tool application Tutorial
Compare Data Blog,
Commercial; between differ Documentation
GUI usability;
Demo; formats, OnSite, FAQ,
Remote
QA Wizard Seapine Floating Custom Forums, Manual,
Testing Tool Control;
Pro Software license; Static Libraries, Drag Reports
Remote
license; Trial; & Drop Editing, examples,
Execution
User license Record & Tutorial, Video
Playback Tutorials
Ant
Integration;
Batch Mode;
GUI usability;
Blog,
Integrated
Test Documentation
into ALM;
Automation Free Use; Drag & Drop OnSite, FAQ,
JSystem Top-Q Integrated
Framework; Opensource Editing Forums, Reports
into IDE;
Testing Tool examples,
Maven
Tutorial
Integration;
Plugin; Stand
Alone
application
Blog,
Test Documentation
Automation Free Use; Batch Mode; OnSite, FAQ,
elly Apache
Framework; Opensource JRE UI Reports
Testing Tool examples,
Tutorial
Blog,
Documentation
Batch Mode;
Test OnSite, FAQ,
Command
Automation Free Use; Forums, Manual,
Watir Watir.com Line; GUI
Framework; Opensource Reports
usability; Tool
Testing Tool examples,
Extension
Tutorial, Video
Tutorials
Batch Mode;
Test Blog,
Integrated
GitHub Automation Free Use; Documentation
FitNesse into IDE;
project Framework; Opensource OnSite, Forums,
Plugin; Web
Testing Tool Tutorial
based
Blog,
Documentation
Testing
Get Screen OnSite, FAQ,
Tool;
Automation GUI usability; Shots, Record Forums, Live
Automation Testing Commercial;
Anywhere Stand Alone & Playback, Chat, Manual,
Anywhere Utility; Demo; Trial
Enterprise application Test Execution Reports
Automate
tasking examples,
REFERENCES:
http://www.softwaretestinghelp.com/performance-testing-tools-load-testing-
tools/
http://www.guru99.com/stress-testing-tutorial.html
https://www.slideshare.net/DavidTzemach/user-interface-testing-best-
practices.

Você também pode gostar