Thursday, October 27, 2011

Testing Tools Comparison



(Author:Dhivya Seethapathy)
Testing Tools are the tools which are used to validate and verify software programs or Applications or Products. There are different kinds of testing tools for different purposes. Some of the most common testing tools features are compared here.

Apache JMeter

    Apache JMeter is open source software.
    100% pure Java desktop application designed to load test functional behaviour and measure performance.
  • It’s a Graphical server performance testing tool, for both static and dynamic resources (files or CGI, Servlets, Perl scripts).  
  • It can be used to simulate a heavy load on a server, network or object to test its strength or to analyze overall performance under different load types.
  • It can be used to make a graphical analysis of performance or to test the server/script/object behaviour under heavy concurrent load.
  • It can load and performance test many different server types:  

      1. Web - HTTP, HTTPS SOAP
      2. Database via JDBC
      3. LDAP
      4. JMS
      5. Mail - POP3(S) and IMAP(S)

OpenSTA

  • OpenSTA stands for Open System Testing Architecture.
  • Open STA is to tests HTTP and HTTPS heavy load with performance measurements from Win32 platforms.
  • Web Load and stress testing for no cost; open source and General Public License.
  • The test result can be viewed, graphed, filtered and exported for use by more sophisticated report generation software.
  • It has the monitoring functionality.
  • OpenSTA is capable of running at least 1000 virtual users from one users from one machine which cannot be achieved by commercial load testing tools.

HP QTP (Quick Test Professional)

  • HP QuickTest Professional performs functional and regression testing through a user interface such as a native GUI or web interface.
  • It works by identifying the objects in the application user interface or a web page and performing desired operations
  • HP QuickTest Professional uses a VBScript scripting language to specify the test procedure and to manipulate the objects and controls of the application under test.
  • Although HP QuickTest Professional is usually used for "UI Based" Test Case Automation, it also can automate some "Non-UI" based Test Cases such as file system operations and database testing.
  • HP QuickTest Professional cannot be used by a plug-in in non-Windows environments. It fetches objects like ActiveX from the Windows environment but not from other operating systems. QTP cannot be used to test with all browser types and versions
Test Complete
  • Test Complete is an automated testing environment for Win32, .NET and Windows Presentation Foundation (WPF) applications.
  • Test Complete has a built-in code editor with a set of special plug-ins that helps testers write scripts manually.
  • Test Complete records the key actions necessary to replay the test and discards all unneeded actions.
  • Test Complete provides extended support for testing Web Pages, Web Servers, Web Services and Projects created in the following development tools:   

      1. Microsoft Visual C++/Borland C++ Builder
      2. VB
      3. Delphi
      4. Java
      5. .NET
      6. WPF


Grinder - A Java Load Testing Framework

  • Generic Approach Load tests anything that has a Java API. This includes common cases such as HTTP web servers, SOAP and REST web services, and application servers (CORBA, RMI, JMS, EJBs), as well as custom protocols.
  • Flexible Scripting Tests are written in the powerful Jython scripting language.
  • Distributed Framework A graphical console allows multiple load injectors to be monitored and controlled, and provides centralized script editing and distribution.
  • Mature HTTP Support Automatic management of client connections and cookies. SSL. Proxy aware. Connection throttling. Sophisticated record and replay of the interaction between a browser and a web site.
Selenium-RC
Selenium Remote Control (RC) is a test tool that allows you to write automated web application UI tests in any programming language against any HTTP website using any mainstream JavaScript-enabled browser. It is great for testing complex AJAX-based web user interfaces under a Continuous Integration system.
Selenium RC comes in two parts. 
  • A server which automatically launches and kills browsers, and acts as a HTTP proxy for web requests from them.
  • Client libraries for your favorite computer language.

Tools Comparison
Key Features
Test Complete
QTP
Grinder
Jmeter
OpenSTA
Selenium-RC
Cost
License
License
Open source
Open source
Open source
Open source
Automation
Record and Playback
Record and Playback
Record and Playback
Record and Playback
Record and Playback
Record and Playback
Multilingual
Yes
Yes
NO
No
No
NO
Scripting language
1.VBScript 
2.JScript 
3.C++Script 
4.C#Script 
5.DelphiScript
1.VBScript 
2.JavaScript 
3.VC++
Python scripting language.
JavaScript
Script Control Language
1.Java 
2.Perl 
3.Python 4.C# 
5.Ruby 
6.HTML 
7.PHP
Supported techno-logies
1.Web
2.Java 
3..Net 
4.WPF 
5.SAP
6.Oracle 
7.Siebel 
8.PeopleSoft 
9.Delphi 
10.PowerBuilder 
11.Stingray1 
12.Terminal Emulator 
13.Flex 
14.Webservices 
15.Windows Mobile 
16.Visual Edge 
17.SOAP 
18.Mainframe terminal
1.Web 
2.VB 
3.VC++ 
4.Java 
5.Power Builder 
6.Delphi 
7.Dot Net 
8.SAP 
9.Siebel 
10.Flash 
11.Oracle Apps 
12.People Soft 
13.Terminal Emulator 
14.HTML 
15.XML
Java
Java



It record http request.

record http request.

Testing Type
1.Functional (GUI) testing
 
2.Unit testing
 
3.Regression testing
 
4.White-box testing
 
5.Data-driven testing
 
6.Keyword-driven testing 
7.Load, stress and scalability testing
 
8.Distributed testing
 
9.Coverage testing
 
10.Manual testing
1.Functional testing 

2.Regression testing

1.Load testing 

2.Capacity testing 
3.Stress testing

1.Loadtesting 

2.Performance testing

1.Load testing 

2.Performance testing 

3.Stress testing

1.Functional testing 

2.Regression testing

Supported Browser
1.Internet Explorer 

2.Firefox 

3.Netscape Navigator

It support to recording the test only on Internet Explorer and It supports running tests on the other browsers 

1.Internet Explorer 

2.Netscape Navigator 

3.AOL 
8.0,9.0 

4.Firefox

1.Internet Explorer 

2.Firefox 

3.Netscape

1.Internet Explorer 

2.Firefox 

3.Netscape

For HTTPS recording 

1.Internet Explorer 4
 
2. Internet Explorer 5
 
3. Netscape 4.7

1.Firefox5
 
2.Firefox4 

3.Forefox3 

4.IE9 

5.IE8 

6.IE7 

7.Safari3 

8.Safari2 

9.Opera9 

10.Opera8

Supported os


1.Micosoft Windows 2000 

2.Micosoft Windows XP 

3.Microsoft Windows Server 2003 

4.Microsoft Windows Server 2008 

5.Micosoft Windows Vista 

6.Microsoft Windows 7

1.Micosoft Windows 2000 

2.Micosoft Windows XP 

3.Windows NT 

4.Windows 95/98.ME 

5.Windows 7 

6.Windows Vista 

7.Windows Server 2008 R2

Os Independent

1.Unix (Solaris,Linux,etc) 

2.Windows(98,NT,XP) 

3.OpenVMS Alpha 7.3+

1.windows 2000 NT4 and XP 

2.Win2K 

3.WinNT 

4.Microsoft Windows Server 2003 

5.WinXP

1.Windows
 
2.OS X
 
3.Linux
 
4.Solaris



Deleting Session Data,Cookies and Internet Cache

 (Author: Shanthi Karthika)
Session Management is the major piece of application development. Maintaining a session will enable the user to login without giving their credentials for the second time. If we want to avoid the user re-login with same credentials we have to clear the session where the user credentials are present which enable the user to login again and again.
Recently I was in need to access each social medias (gmail,twitter and facebook) login page to get the user credentials. Here each social medias will maintain a session each time I make a request to access the page. Because of this, I faced a problem once a user provides their credential to the twitter or facebook a session was maintained, so that when I passed the request for the second time the credentials of the same user who have logged before were passed. Because of this the next users credentials or the different credentials of the same user were not able to pass. I struck upon with this half past a day. I tried deleting the cookies and Internet cache of my browser that i used, but nothing gave me a hand. Then I came to know each media maintains a session so that it can get the credentials of the user first logged in.
To delete the session data following code can be followed.
 
private const int INTERNET_OPTION_END_BROWSER_SESSION = 42;

DLL for deleting session data:

[DllImport("wininet.dll", SetLastError = true)]
private static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int lpdwBufferLength);

Use this method wherever need to clear session.

InternetSetOption(IntPtr.Zero, INTERNET_OPTION_END_BROWSER_SESSION, IntPtr.Zero, 0);

I used this method to clear the session datas and that worked fine. Now i am able to pass the request and get the different credentials.
On trying to delete the Internet cache and the cookies.I found many samples stating the same process of getting all the files in which cookie were present. But I found a difficulty in deleting index.dat file. I searched for half past day for deleting the cookies and cache. Finally I got up with the following solution
System.Diagnostics.Process.Start("rundll32.exe", "InetCpl.cpl,ClearMyTracksByProcess 8"); // Clear Temporary Files
 
System.Diagnostics.Process.Start("rundll32.exe", "InetCpl.cpl,ClearMyTracksByProcess 2"); // Clear Cookies

with this it attempts to open a seperate window which is not needed for a user. To rectify this new window opening,following can be done which runs as a background process.
try
{
System.Diagnostics.ProcessStartInfo processInfo = new System.Diagnostics.ProcessStartInfo("rundll32.exe", "InetCpl.cpl,ClearMyTracksByProcess 8");
 
processInfo.CreateNoWindow = true;
processInfo.WindowStyle = ProcessWindowStyle.Hidden;
processInfo.UseShellExecute = true;
processInfo.RedirectStandardOutput = false;
Process.Start(processInfo);

System.Diagnostics.ProcessStartInfo newprocessInfo = new System.Diagnostics.ProcessStartInfo("rundll32.exe", "InetCpl.cpl,ClearMyTracksByProcess 2");
 
newprocessInfo.CreateNoWindow = true;
newprocessInfo.WindowStyle = ProcessWindowStyle.Hidden;
newprocessInfo.UseShellExecute = true;
newprocessInfo.RedirectStandardOutput = false;
Process.Start(newprocessInfo);
}
catch(Exception error)
{
throw error;
}
you cannot see any window but the cache and cookies will be deleted.
The above code will delete all the cookies and Temporary files but the code below can be used for deleting particular cookies. Here I have given about deleting only gmail cookies.
 
String[]gmailCookies=System.IO.Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.Cookies));
foreach (string currentFile in gmailCookies)
{
if (!(currentFile.EndsWith(“index.dat”)))
{
using (StreamReader streamreader = File.OpenText(currentFile))
{
string readContent = streamreader.ReadToEnd();
if (readContent.Contains(“google.com”) ||readContent.Contains(“google.co.in”))
{
streamreader.Dispose();
streamreader.Close();
System.IO.File.Delete(currentFile);
}
}
}
}

Thursday, October 13, 2011

Whats in store In the mobile app store

          The mobile phones we use daily have come a long way and has changed from just being used to make calls,it has become a super hero device.[probably why they are categorized as smart phones?].

People buying mobile phones are on the rise and app store support to the mobiles plays a major role in the sales of the mobile phones.Now i can get the question in your mind.Does my mobile have an app store?
Read the remaining of the document to get your queries cleared.
Lets come to the point.What are the major app stores available
The current major app stores present in the market are as follows:-

1. OVI Store.(Nokia)
2. Google Android Market.(Google).
3. Apple App Store. (Apple)
4. Samsung Apps Store.(Samsung)
5. BlackBerry App World. (Black berry)
6. Windows MarketPlace for Mobile.(Microsoft)
7. Palm App Catalog. (hp)
8. Play Now Arena. (Sony Ericsson)
9. Mobile Applications Store.(Dell).
10. LG Application Store.(LG).

Consider that the app store given here mainly deals with the major app store supported by the device manufacturers & mobile os and the third party independent apps store & operator provided
app store are not dealt with.(Probably they would be dealt with the part 2 series).

1. OVI Store. (Nokia) :-
 http://store.ovi.com/
  • Launch date:-May 26, 2009
  • Applications:- 83579 +apps
  • Current OS Version:- Symbian anna.
  • Whats hot:- OVI brand will discontinue and services are rebranded as Nokia brand.
2. Android App Market.(Google) :-
  • Launch date:-Oct 22, 2008
  • Applications:- 2,50,000 + apps officially
  • Current OS Version:-2.3 (Gingerbread) .3.2 (Honeycomb)
  • Whats hot:-Android Icecream Sandwich. the one mobile OS to run on both tablets as well as smartphones.
3. iPhone App Store. (Apple) :-
  • Launch date:-Jul 10, 2008
  • Applications:- 5,00,000+ apps officially
  • Current OS Version:-iOS 4.3
  • Whats hot:-The launch of os iOS 5.0 with 200+new features.
4. Samsung apps:(Samsung) :-
  • Launch date:-Sep 14, 2009
  • Applications:- 40,000 +apps.
  • No.of countries:-118.
  • Whats hot:-Samsung will start supporting content for HDTVs in the store.
5. Black berry App world. (RIM) :-
  • Launch date:-Apr 1, 2009
  • Applications:- 37,176 +apps.
  • Current OS Version:-7.0
  • Whats hot:-The release of blackberry app world 3.0 with improved UI,searching and payment options.
6. Windows marketPlace.(Micro soft):-
  • Launch date:-Oct 6, 2009
  • Applications:- 2,367 +apps.
  • Current OS Version:-7.5 (mango)
  • Whats hot:- features like multi tasking,hands free messaging and social networking have been integrated with the latest OS.
7. Palm app catalog. (hp):-
  • Launch date:-Jun 6, 2009
  • Applications:- 7,062 +apps.
  • Current OS Version:-Web OS 2.1.2 (Veer)
  • Whats hot:-HP announced plans for a version of webOS by the end of 2011 to run within the Microsoft Windows operating system.
8. play now. (sony ericsson):-
  • Launch date:-Aug 10, 2009  
  • Supported platforms:- java,symbian & window.
  • No of countries accessible:-35
  • Whats hot:-No registration,submission,yearly,service fee.
9. mobile applications store.(Dell):-
  • Launch date:-Aug 12, 2010
  • Supported platforms:- Android,blackberry,windows mobile,palm,symbian
  • No of apps present:-50,000 +apps
  • Whats hot:-The introduction of Gift certificates that can be used to gift apps to your loved ones.
10. LG Application Store. (LG):-
  • Launch date:-Jul 14, 2009.
  • Supported platforms:- Android.
  • No of apps present:-3000 +apps
  • Whats hot:-Use Points to download apps which you can earn by doing various things like logging in to the site, recommending the site to others and rating your downloads.a

The final verdict:-
So after reviewing all the apps store the hard question comes...which is the best.?
With 5 million + apps and more than 1 billion downloads and creating the revolution in the mobile industry by creating the first one stop solution for buying and selling apps,
The apple app store wins the mobile app store war hands down...
-Pranavanathan Ponnusamy

Tuesday, October 4, 2011

Crowdtesting


The latest buzz word in the Software Testing world is the ‘Crowdtesting’. The Crowd is an initiative by the software testing club. Here the people work as a group through online community forums. It is close interaction and better understanding of the software testing world that allow us to deliver testing related services with the help of community.

Crowdtesting depends on a crowd that is composed out of a large group of diverse people. This may be the most important part of crowd testing, to create crowd. A crowd should consist out of test experts, specialty testers, novice users and everybody else that want to test. A small group of 10 people with the same background gives crowdtesting no added value. But they should not only be of various test knowledge, but preferably also from different backgrounds and even different languages. The more different views there are on an application, the more different vies that can help get a better product

Reason for Crowdtesting
  • Reduce costs
  • Shorter time to market
  • Mutual concern in the crowd
  • More hands
  • Newly developed or updates of third party software
  • Testing and support for multiple platforms
  • Informal check of load and performance
  • Marketing of a new product
  • Find support for new product
  • Received feedback on usability

Applications
  • Lots of feedback
  • No sensitive data or functionality
  • Multi-platform software
  • Large end-to-end systems
  • Games
  • Beta software
  • Load & performance testing
  • Mobile software

Crowd testing will soon become synonyms with community testing. There will be tighter integration of “knowledgeable” users. Crowd testing integrated into overall testing strategy. Treat crowd testing as one of a basket of services used in combination with the optimal tool. Infrastructure and test type combinations as dictated by the overall test strategy. As organization and industry mature, crowd testing will gradually increases into the testing community.

Crowdtesting Web Portals:
 


-Balaji Sriramamoorthy