Tuesday, February 21, 2012

The Grinder – An open source Performance testing alternative


Owing to the cut throat competition, IT companies are striving to go one step ahead than their competitors to woo their prospective clients. Cutting down the costs without compromising on the quality has been the effective strategy these days. Open source tools not only promise to cut down the costs drastically, but are also more flexible and provide certain unique features of their own. The huge expense involved in procuring performance testing tools has urged the testing community to look for an open source alternative that would go easy on the budget.

The Grinder is an open source performance testing tool originally developed by Paco Gomez and Peter Zadrozny. The Grinder is a JavaTM load testing framework that makes it easy to run a distributed test using many load injector machines.

1.1          Why Grinder?

  • The Grinder can be a viable open source option for performance testing.It is freely available under a BSD-style open-source license that can be downloaded from SourceForge.net http://www.sourceforge.net/projects/grinder
  • The test scripts are written in simple and flexible Jython language which makes it very powerful and flexible. As it is an implementation of the Python programming language written in Java, all of the advantages of Java are also inherent here. No separate plug-ins or libraries are required
  • The Grinder makes use of a powerful distributed Java load testing framework that allows simulation of multiple user loads across different “agents” which can be managed by a centralized controller or “console”. From this console you can edit the test scripts and distribute them to the worker processes as per the requirement
  • It is a surprisingly lightweight tool, fairly easy to set up and run and it takes almost no time at all to get started. The installation simply involves downloading and configuring the recorder, console and agent batch files.The Grinder 3  is distributed as two zip files. The grinder properties file can be customized to suit our requirement, each time we execute a test
  • From a developer’s point of view, Grinder is the preferred load testing tool wherein the developers can opt to test their own application. I.e. The programmers get to test the interior tiers of their own application
  • The Grinder tool has a strong support base in the form of mailing lists i.e. http://sourceforge.net/
  • The Grinder tool has excellent compatibility with Grinder Analyzer which is also available as an open source license. The analyzer extracts data from grinder log and generates report and graphs containing response time, transactions per second, and network bandwidth used
  • Other than HTTP and HTTPS, The Grinder does support internet protocols such as POP3, SMTP, FTP, and LDAP

1.2          Difficulties that should be considered before opting for the Grinder

  • No user friendly interface is provided for coding, scripting(parameterization, correlation, Inserting custom functions etc) and other enhancements at the test script preparation level
  • Annoying syntax errors do creep in into the coding part due to the rigid syntax and indentation required at the coding level as Jython scripting is used
  • A lot depends on the tester’s ability to understand the interior tiers of the application unlike other commercial tools  where the tester can blindly follow the standard procedures without any insight into the intricate complexity of the application and can still succeed in completing his job successfully
  • It is dependent on Grinder Analyzer for analysis, report generation etc
  • The protocols supported by the Grinder are limited, whereas commercial tools such as LoadRunner, Silk Performer provides support for all the web based protocols. This is one major limiting factor as the web based applications these days use multi protocols for communication.
  • Unlike LoadRunner and other vendor licensed tools, it does not offer effective monitoring solutions and in-depth diagnostic capabilities. Also there is no separate user friendly interface component dedicated for analyzing the test results
  • More support is required in the form of forums, blogs and user communities
In short Tom Braverman sums it up brilliantly in a post to the Grinder use,
“I don’t try and persuade my clients that The Grinder is a replacement for LoadRunner, etc. I tell them that The Grinder is for use by the developers and that they’ll still want the QA team to generate scalability metrics using LoadRunner or some other tool approved for the purpose by management”

For an open source testing tool, it has to be admitted that the Grinder does have the capabilities feature wise to make a stand amidst other commercial alternatives.

Thanks for Reading This Blogs. Know More: Performance Testing & Quality Assurance

Tuesday, February 14, 2012

Business Objects Mobile – Configuration

Hi BOOglers,
This is the continuation of my previous blog Business Objects Architecture and Deployment. Hope you all eager to know about the BO Mobile configuration. Let us proceed further
Environment & Product versions used:
  • Operating System: Windows Server 2008 R2
  • BOE XI4.0 with BOBJ MOBILE XI4.0
  • BlackBerry Email & MDS Simulator
  • BlackBerry Device simulator
The BO Mobile server was installed on the same machine that hosted the BOE server.
The BlackBerry Email MDS Simulator & BlackBerry device simulator also Installed in the same machine. This architecture is depicted as below.
Installed Components and CCM:
Once we done with all the above, we can start with the Mobile Server configuration.
Mobile Server configuration
Launch Mobile Server Configuration Tool from Start menu. Select Blackberry BES Deployment as we are going to configure with BES simulator.
Application Installation in Mobile Client
Go to the below URL, provided you have already deployed the MobileOTA14.war file in Web Application Server. Please note BI will be replaced with your CMS Server name. You will get the screen like below
http://BI:8080/MobileOTA14/OTADeploy
Now try to access the URL from Device simulator.
Once Application is downloaded,configure with your credentials and access it from the mobile device.
Finally we got it in mobile. Let us compare this with desktop based GUI.
Mobile Vs Web browser comparison
This is all about BO Mobile configuration. Hope you feel it so easy to deploy and configure.
If you have any questions, or if you want to share your experience, feel free to leave a comment!
Happy Blogging!

Friday, February 10, 2012

Business Objects Mobile – Architecture and Deployment

Hello All,
As a continuation of my previous blog, we are going to see more in detail about BO Mobile Architecture, Deployment scenarios, Server side and client side requirements in this blog.
The diagram below shows Mobile Installation on top of Business Objects Enterprise Framework
And the Business Objects Mobile Architecture will be like
Three deployment scenarios are supported for SAP Business Objects Mobile. You can choose to deploy based on your User community.
  • BlackBerry devices registered on a corporate BlackBerry Enterprise Server (BES)
  • Non-BlackBerry devices and/or BlackBerry devices not registered on a corporate BES. This requires a proxy server or firewall to ensure security.
  • User population that includes BlackBerry devices registered on the BES and other devices. This requires a BES and a proxy server or firewall.
Based on the above deployment scenarios the common architecture of BO Mobile would be like
Server side requirements
The following components need to be deployed on top of SAP Business Objects Enterprise Installation.
  • The Mobile server composed of an authentication server (VAS) and a processing server (VMS).
  • A mobile database that logs the user activity and provides information on synchronization of data between the SAP Business Objects Enterprise server and the mobile devices.
  • A BlackBerry Enterprise Server (BES), if you are deploying the application to BlackBerry device users (Deployment type 1).
  • A proxy server, if your deployment to BlackBerry devices does not include a BES server or if your deployment includes non-BlackBerry devices (Deployment type 2 and 3).
  • To deploy client application to devices through OTA provisioning, you need to install and deploy the OTA web application, delivered with SAP Business Objects mobile, on a web application server.
Client side requirements
Based on deployment scenario, SAP Business Objects mobile application can be delivered to users via
  • Over-The-Air to BlackBerry devices using the push capability in the BlackBerry Enterprise Server.
  • Over-The-Air (OTA) via a secured web site page. This requires you to deploy the OTA web application delivered with SAP Business Objects Mobile to a secured web application server.
  • Manually on each device using the client desktop application supplied by device manufacturer.
I Hope this blog gives a good understanding on Business Objects Mobile architecture and deployment.
In our next blog we will see configuration of BO Mobile using Blackberry simulators.
Keep reading!

Friday, February 3, 2012

Business Objects Mobile – Introduction

Hello BOgglers,
Just a change from series of BO Administration series to emerging trends in SAP Business Objects.SAP BO Mobile is going to be the topic of discussion in my upcoming blogs starting from this.
The shift from a wired world to a wireless world of connectivity with the advantage of smart phones and handheld devices has lead to a new era of mobile computing, especially in the field of BI. BO Mobile allows to access favorite BI reports, metrics and right-time data with a single click from a mobile device with the following advantages
  • Make informed decisions with instant access to personalized information on the move, can be alerted about changes to critical business data instantly.
  • Leverage existing BI investments & skills to quickly reach mobile users.
  • Users can intuitively access familiar reports without a need for additional training.
Devices Supportability
BO Mobile supports broad range of mobile devices including BlackBerry, Windows Mobile, Symbian OS and any J2ME 2.0-compatible devices.
Supported document types
  • Web Intelligence documents
  • Crystal Reports documents
  • Limited gauge analytics (speedometers, barometers and thermometers)
Functionalities Supported
  • Save documents locally and consult them offline, to mitigate network interruptions and minimize communication costs.
  • Receive alerts when a document is modified, a condition is met or a schedule is run.
  • Follow-up actions by clicking on report cells to launch an SMS, phone call or email.
  • Set up a default document that opens automatically whenever log into application.
  • Refresh reports to retrieve the most up-to-date data.
  • View results using zoom and navigational shortcuts.
  • Navigate to related documents via hyperlinks on reports.
  • Drill on results to analyze detailed or summary data.
  • Track data changes via customizable highlighting set up by the document creator.
Target Audience
Information executives: Users who needs to know a few high-risk KPIs at the right time, no matter where they are. A business case for this could be a sudden fall in sales or inventory levels brought to the attention of the respective director.
Field workers: Users of this segment work in the field and need specific information at specific times. A sales representative, while finding an unexpected opportunity, can browse for required historic information such as price negotiation, contract tenure to give immediate feedback to the customer.
Business analysts: Business analysts need a few strategic KPIs in addition to static reports.
Clerical member staff: This people occasionally need reports while they are on the move.
Limitations
  • BO Mobile is not guaranteed to work on all mobile devices and operating systems.
  • Report data sets can be large and can theoretically saturate available device memory. The unsatisfactory display of large data sets can be mitigated by designing smaller report views.
We will see more in detail about Mobile Architecture and installation and configuration in upcoming blogs.
Thanks for reading! Happy Blogging!  Read More about  Business Objects

Thursday, February 2, 2012

AUTOMATION OF BW QUERIES USING WEB BROWSER


In the fiercely increasing competition amongst corporations it has become mandatory to make quick and sound crucial business decisions based on analysis of business critical data. This is the point where SAP BW comes into play. BW Queries are the core of the reporting and analysis functionality in SAP BW. They provide a flexible and intuitive platform for data analysis that can be developed using the SAP Business Explorer (BEx) Query Designer.


AUTOMATION OF BW QUERIES – OVERVIEW


The Automation of queries in SAP BW is require where the data from BW is extracted by reporting analyst using the BW queries and send to business frequently on a regular basis for their analysis for example monthly or weekly.


Queries using web browser can be configured to be run:
Only Once: We can schedule the BW queries to be run on a specific day or time to be refreshed and sent to the email id of the recipients.
Scheduled Basis: We can schedule the BW queries to be run on a regular basis i.e. every day, specific day of a week or monthly basis.



This document outlines a set of guidelines to automate a query for a given scenario.


PROCEDURE TO AUTOMATE THE QUERIES USING WEB BROWSER:


Step 1: Log in SAP BW using the User Name and Password. Enter the RRMX as transaction code into the transaction window and hit the Enter. New Excel window will open with the additional BEx (Business Explorer) tool bar.

Step 2: Open a query which you want to automate through BEx and refresh the same.

Step 3: Launch the query in web browser.

Tool Button –> Launch in Web Browser –> Query (Default View)





When you click on the Query (Default View) it will pop up the message box asking the user name and password.



While you enter the user name and password it will populate the query in web browser.



Step 4: Modify the output structure of the query according to your requirement using the Variable screen at the left side of the window


Applying filters


If you want to apply any filter on the query then you can do that using filter icon against the characteristics. (Ex. If you have to produce the report for particular business unit only then click on the filter icon in front of Master Cost Centers it will pop up another window. Select the Business unit as per your requirement and click on transfer at the bottom left.)



If you want to set the properties of any characteristic then right click on that it will pop up window and select the properties. It will pop up another properties window that will allow you to change the properties of the characteristics.


Step 5: Information Broadcasting: When you are done with the formatting of the query click on the Information Broadcasting and mention the email addresses of the recipients whom the report needs to be sent then click on Create new Setting with the Wizard.



Step 6: Select on the check box as Zip File, it will create the Zip file for the report then click on continue at the bottom.



Step 7: Enter the subject line for the report and enter the E-mail content in the content window and continue at the bottom.



Step 8: Insert the technical name and description for the automated report.



Step 9: Schedule the report: Select the Create New Scheduling and Periodic All and enter the date which you want to schedule the report for and the schedule as weekly or monthly. Mention the date and time on which you want the report to be sent in front of Next Start at and click on the transfer below.



If you want to execute the report at the time of creation then click on the Execute button at the bottom otherwise close that. Now the report is scheduled for the period you mentioned this will automatically refresh the query in the same format you created on the scheduled date and E-mail this report to the recipients with the report attached in Zip format.
MODIFICATION IN SCHEDULE OF AUTOMATED QUERIES:-

If you want to make changes in the schedule then select the query and click on the Schedule button at the bottom it will pop up the window just create the new schedule and delete the old as well and click on transfer.

The BEx Web query automation is a standalone, comfortable Web application for data analysis that the user can call up using an URL or as an iView in the Enterprise Portal. The Open a query which you want to automate through BEx and offers a wide range of functions for data analysis via various tab pages and the associated view-specific toolbars.
SAP query automation is an information modeling tool which can be used to analyze business data. To help analyze data in a more user friendly manner, SAP BW used to describe any kind of numeric information from a business process level. There are various ways to describe key figures in SAP BW.
Essentially, a query is a database research action with interesting additional functionality like currency scenarios, complex calculation options, and analysis functions. However, analyses born out of queries can be applied flexibly to a multitude of areas in a multidimensional dataset of an SAP BW Info Provider. This is enabled by combining analytical functionality with the provided drilldowns and filter options. Therefore, one query or few queries can often map an entire analytical application.


Wednesday, February 1, 2012

SIX Trends to FIX the QA Needs


The quality assurance landscape is undergoing a major transformation as QA organizations try to align their goals with the business goals of their companies.

QA has a tough balancing act to perform — tackling business risks as well as cost reduction and ROI concerns, while building agility in their organizations to respond to business goals.

Testing teams have long been viewed as an insurance by IT departments to assure themselves and their business partners on what is being delivered. Over the years, IT departments have spent more time and money in trying to ascertain the delivery worthiness of code.

More than ever, business teams are asking today how testing teams could deliver better insights and greater value into what is being produced by development teams. The argument is if testing teams could serve as Quality Gates throughout the development lifecycle, there would be fewer surprises towards the end, and lesser tradeoffs and compromises between inadequate functionality and faster time-to-market, which paves ways to the following emerging Trends in QA.

Six key quality assurance trends emerging:


1st Trend: Embracing Early Lifecycle Validation to Drive Down Costs and Improve Time-to-Market


The adoption of early lifecycle validation helps QA organizations to fix defects early in the lifecycle, thus significantly reducing risks and lowering total cost of ownership.

Methodologies gaining traction include:

* requirements/model-based testing
* early involvement and lifecycle testing
* risk-based testing
* risk-based security testing
* predictive performance modeling

2nd Trend: Increased Adoption of Test Lifecycle Management, Testing Metrics and Automation Solutions to Improve Overall Testing Processes


As QA organizations work to build greater quality into applications, they are adopting solutions such as test lifecycle management and automation technologies. “These solutions help to drive greater traceability throughout the testing lifecycle and to automate all stages of the lifecycle, with the aim of overall efficiencies and ROI.”

The emergence of new frameworks and dashboards for defining, measuring and monitoring testing metrics. “All of these metrics seek to enable quick decision-making and driving greater efficiency within existing or emerging testing processes/frameworks/solutions”.

3rd Trend: More Domain-based Testing


“Domain excellence is becoming a key factor in the testing industry, forcing QA organizations to build or buy point/platform-based solutions that combine core business processes and advanced testing frameworks” .

Examples of such testing creations include solutions for regulatory compliance for SOX and HIPAA; and for specialized processes such as POS, e-commerce, and banking.

4th Trend: The Emergence of Non-functional Testing Solutions Aimed at Enhancing the Customer Experience


The widespread use of e-commerce is forcing quality assurance organizations to deploy more solutions for measuring and enhancing end-customer experience.

“This is putting stress on the requirement for non-functional validation services and solutions”.

Key emerging areas include: testing for usability and accessibility, and predictive performance modeling.

5th trend: The Development of Testing Frameworks for Newer Technologies


Newer technologies such as SOA and cloud computing pose a different set of testing challenges to established technologies.

“Traditional models and frameworks of testing don’t work so well with these new technologies so QA organizations are creating new models and frameworks to address the issues raised” .

6th Trend: Special Focus on ERP Testing


For years, organizations have implemented ERP packages without thinking much about the testing complexities that will emerge as the packages evolve in changing IT environments.

Consequently, today these packages require specialized skills and methodologies to facilitate the business goals, implementation testing, and smooth rollouts and upgrades of the packages.

QA testing is one of the key pain-points in ERP implementations and upgrades today”.

To sum it up, the question still remains, where, when and how these techniques can be used? With the assumption that the benefits will differ in a variety of situations, including the efficacy of application. Needless to say it would be very interesting to consider some of these techniques and discuss the practical implications of these emerging trends.

Concurrent User Estimation


Concurrent user estimation is an important step before going for Performance Validation and capacity planning as it is directly related to consumption of system resources. Therefore, before entering into the load testing phase we need to determine the peak user load or the maximum concurrent user load for designing a workload model. People often estimate the number of concurrent users by intuition or wild guessing with little justification. This often leads to improper performance testing and capacity planning. In this article we would like to share a very reliable method proposed by Eric Man Wong to calculate the concurrent number of users using estimated and justified parameters.

The method involves estimating the peak user load by calculating the average number of concurrent users, based on the total number of user sessions, the average length of the user sessions.

1. Estimating the Average number of concurrent users

For calculating the average concurrent user load, we need to find the following parameters,
  • Period of concern (T): It is the time duration for which we are calculating the total number of user sessions.
  • Total number of user sessions (n): The number of user sessions at the specified time duration
  • The average Length of User sessions (L):  The length of a user session is the amount of time that the particular user takes for completing his activity
(During which he consumes a certain amount of the system resource). The average length of user sessions is simply the mean value of the session length of all the users.
(Say,
where s is the total number of user sessions). The average length of a user session can be estimated by observing how a sample of users uses the system.

A user session is a time interval defined by a start time and end time. Within a single session, let us assume that the user is in active state which means that the user is consuming a certain percentage of the total system memory. Between the start time and end time, there are one or more system resources being held. The number of concurrent users at any particular time is defined as the number of user sessions into which the time instance falls. This is illustrated in the following example

Each horizontal line segment represents a user session. Since the vertical line at time t0 intercepts with three user sessions, the number of concurrent users at time t0 is equal to three. Let us focus on the time interval from 0 to an arbitrary time instant T. The following result can be mathematically proven:
Alternatively, if the total number of user sessions from time 0 to T equals n, and the average length of a user session equals L, then

[NOTE: In the above diagram, t0 represents any particular instance of time. Whereas in the formulae we use the value T which gives us a specific duration or a time period between 2 instances of the time say t1 and t2]

2.  Estimating the peak number of concurrent users
For determining the peak user load we make use of some basic probability distribution theorems in the following manner.
We determine the probability of X concurrent users occupying the system at a particular time. We make use of the Poisson distribution for the same. Then we use the normal distribution pattern to determine the pea amount of user load.
By Poisson distribution,

Under this assumption, it can be proven that the concurrent number of users at any time instant also has a Poisson distribution,
Where C is the average number concurrent users we find using the formula
It is well known that the Poisson distribution with mean = C can be approximated by the normal distribution with mean C and standard deviation √c. We denote the number of concurrent users by X.
This implies that (X-C)/√c  has the standard normal distribution with mean 0 and standard deviation  1. Looking up the statistical table for the normal distribution, we have the following result:
The above equation means that the probability of the number of concurrent users being smaller than C + 3√c is 99.87%. The probability is large enough for most purposes that we can approximate the peak number of concurrent users by C +√c

We see that the simplicity by which we can determine the peak concurrent users just by determining the average concurrent user load makes it highly efficient. The Eric Man Wong method remains the most reliable method to replicate a realistic and sensible workload model for the performance testing activity.

Read More About:  Concurrent User Estimation