Tuesday, April 27, 2010

Mozilla Addons helpful in testing of a Website/Client Server application

1. Firesizer 0.92
Provides a menu and status bar to resize the window dimensions to a specific size. This add-on is extremely useful if you want to test how your application will look in different size windows.

2. W3C Page Validator 3.0.0
This little add-on validates a page using the W3C Markup Validation Service. Depending on your context, if your organization is committed to create W3C compliant web applications, this might be very handy.

3. SQL Injection 1.2
This is an excellent tool to help developers in identifying SQL injection vulnerabilities. This add-on transform checkboxes, radio buttons and select elements to an input text box.

4.QuickRestart 1.1.5
If you need to restart firefox to test your cookies, sessions or because of any other reason, this little button in your toolbar will do it with a mouse click. This is a very simple utility, but can be extremely useful.

5. Firebug
If you are working in web application domain, I am sure you are already familiar with this add-on. Firebug, along with the development toolbar are absolute minimum your firefox should have if you are working in web application testing domain.

6. Regular Expression Tester
This small add-on allows you to test your regular expression. The tool includes options like case sensitive, global and multiline search, color highlighting of found expressions and of special characters, a replacement function incl. backreferences, auto-closing of brackets, testing while writing and saving and managing of expressions.

7. HttpFox
This add-on is an amazing tool if you want to dig deeper into http request / response and analyze all the traffic. Using this add-on, you can get information about request / response header, sent and received cookies, Querystring parameters, POST parameters and Response body.

8. HackBar 1.3.2
I haven't explored this myself, but from description it looks like it should be useful for SQL injections, XSS holes and site security.

9. Web Developer Toolbar
As mentioned earlier, this one along with the firebug are must have extensions if you are working in web application domain. These extensions are complete toolset and probably require separate articles to explain their capabilities.

10. Accessibar 0.7.8
Its an amazing add-on to test accessibility of any site. Using this add-on, you can change font size, line spacing, hide all the images / flash and so on. It also integrates text to speech reader and reads string on mouse hover / focus elements.

11. Add N Edit Cookies
There are very few applications which does not use cookies these days. This little add-on allows you to add / edit cookies and test how your application will respond to changes in the cookies setting.

12. LinkChecker 0.6.3
This is a very simple tool to check if there are any broken links on the web page. It highlights all the links in various colors to show if they are broken or not.

13. MeasureIt 0.3.8
If you have a design team which is very particular about the size of every element, than this little add-on can be used to test hight and width of all the elements. It draws a ruler around any element and shows hight / width of the element.

14. YSlow 2.0.0b3
YSlow analyzes web pages and gives you information on why they are slow based on the Yahoo's rule for high performance websites.

15. User Agent Switcher
If your application behaves differently based on the user agent or if it records this information than this add-on can be very handy. It simply switch the user agent of the browser. Please note, changing user agent will not make it render like IE.

16. FireShot 0.69
FireShot can be handy in situations where you want to take screen shot of your web application. It even allows you to write comments, highlight specific element of your application and so on.

17. URLParams 2.2.0
This little add-on make it convenient to analyze GET and POST parameters of the current website in the sidebar. You can ever change their values, add new parameters etc.

18. Tamper Data 10.1.0
Tamper Data allows you to view and modify HTTP/HTTPS headers and post parameters. You can use it to test security of your web applications by modifying POST data and analyzing how your application will respond to those changes.

19. View Dependencies 0.3.3.0
This is an extremely useful add-on if you want to figure out what are all the files / images etc. are getting downloaded for every page, how much time they are taking and many such details.

20. Flash Switcher 2.0.2
If you are involved in testing Flash Applications, than this little add-on is extremely useful to test your flash application on various versions of flash players.

Monday, March 29, 2010

Selenium RC installation with phpunit

1].Install the java on the system from following URL:
http://www.java.com/en/download/manual.jsp#win

2].Download the selenium RC zip file (selenium RC 1.0.3)

3].Extract this zip in C:/selenium/

4].Download WampServer2.0i and Run the setup

5].Now open the command prompt:
Run C:\wamp\bin\php\php5.3.0>go-pear.bat

This will give following error
phar "C:\wamp\bin\php\php5.3.0\PEAR\go-pear.phar" does not have a signaturePHP W
arning: require_once(phar://go-pear.phar/index.php): failed to open stream: pha
r error: invalid url or non-existent phar "phar://go-pear.phar/index.php" in C:\
wamp\bin\php\php5.3.0\PEAR\go-pear.phar on line 1236

Warning: require_once(phar://go-pear.phar/index.php): failed to open stream: pha
r error: invalid url or non-existent phar "phar://go-pear.phar/index.php" in C:\
wamp\bin\php\php5.3.0\PEAR\go-pear.phar on line 1236
Press any key to continue . . .


For this issue:

A) Locate the "php.ini" file in C:\wamp\bin\php\php5.3.0\php.ini
Open php.ini in notepad.

B) Find the following line, in bold:

; http://php.net/phar.require-hash;phar.require_hash = On
; http://php.net/phar.require-hash

;phar.require_hash = On

C) Uncomment the ";phar.require_hash = On" line by removing the semi-colon.

D) Change "On" to "Off".

; http://php.net/phar.require-hash

phar.require_hash = Off

E) Save the file.


6].Now run the go-pear.bat
It will ask
Are you installing a system-wide PEAR or a local copy?
(system|local) [system] :

Type local
Then it will say
Please confirm local copy by typing 'yes' : yes

Below is a suggested file layout for your new PEAR installation. To
change individual locations, type the number in front of the
directory. Type 'all' to change all of them or simply press Enter to
accept these locations.

1. Installation base ($prefix) : C:\wamp\bin\php\php5.3.0
2. Temporary directory for processing : C:\wamp\bin\php\php5.3.0\tmp
3. Temporary directory for downloads : C:\wamp\bin\php\php5.3.0\tmp
4. Binaries directory : C:\wamp\bin\php\php5.3.0
5. PHP code directory ($php_dir) : C:\wamp\bin\php\php5.3.0\pear
6. Documentation directory : C:\wamp\bin\php\php5.3.0\docs
7. Data directory : C:\wamp\bin\php\php5.3.0\data
8. User-modifiable configuration files directory: C:\wamp\bin\php\php5.3.0\cfg
9. Public Web Files directory : C:\wamp\bin\php\php5.3.0\www
10. Tests directory : C:\wamp\bin\php\php5.3.0\tests
11. Name of configuration file : C:\wamp\bin\php\php5.3.0\pear.ini
12. Path to CLI php.exe : .

1-12, 'all' or Enter to continue:
Just hit Enter

Then it will ask the follwoing question

Would you like to alter php.ini ? [Y/n] :
Type Y

7].After it
Run
pear channel-discover pear.phpunit.de
pear install phpunit/PHPUnit


It will show following errors
Unknown remote channel: pear.symfony-project.com
Did not download optional dependencies: pear/Image_GraphViz, pear/Log, channe
/pear.symfony-project.com/YAML, use --alldeps to download automatically
phpunit/PHPUnit requires PEAR Installer (version >= 1.8.1), installed version 1.8.0
phpunit/PHPUnit can optionally use package "pear/Image_GraphViz" (version >=.1)
phpunit/PHPUnit can optionally use package "pear/Log"
phpunit/PHPUnit can optionally use package "channel://pear.symfony-project.co
AML" (version >= 1.0.2)
phpunit/PHPUnit can optionally use PHP extension "soap"
phpunit/PHPUnit can optionally use PHP extension "xdebug" (version >= 2.0.5)
No valid packages found
install failed

For this issue
Run
pear channel-discover pear.symfony-project.com


8].Then run
pear install phpunit/PHPUnit
it will again give
Did not download optional dependencies: pear/Image_GraphViz, pear/Log, symfony/
AML, use --alldeps to download automatically
phpunit/PHPUnit requires PEAR Installer (version >= 1.8.1), installed version i1.8.0
phpunit/PHPUnit can optionally use package "pear/Image_GraphViz" (version >= 1..1)
phpunit/PHPUnit can optionally use package "pear/Log"
phpunit/PHPUnit can optionally use package "symfony/YAML" (version >= 1.0.2)
phpunit/PHPUnit can optionally use PHP extension "soap"
phpunit/PHPUnit can optionally use PHP extension "xdebug" (version >= 2.0.5)
No valid packages found
install failed

For this issue
Run
pear upgrade PEAR

9].Then run
pear install phpunit/PHPUnit

10].Then run
pear install Testing_Selenium-beta



11].To start the server in interactive mode
go to C:\selenium\selenium-remote-control-1.0.1\selenium-server-1.0.1 and type the following in the command prompt:

java -jar selenium-server.jar -interactive

12].Now put your php files converted from selenium IDE in C:\wamp\bin\php\php5.2.6

13].Now go to command prompt and go to path
C:\wamp\bin\php\php5.2.6
and run the command
phpunit filename.php

Tuesday, January 27, 2009

Database testing

Data base testing is also called as back end testing.
I conduct this testing based on data validation and data integrity.
Data validation means that whether front-end values are correctly getting stored into back tables or not.
Data integrity means that whether impact of front-end operations is working on back end tables or not,
Database testing basically done to test whether data from front end is properly getting inserted in the tables or not.Sometimes one action at front end , has impact on various tables in the database.Like if a user deletes his account from a website, its information saved in more than one tables(user_info,user_company,user_academic etc) gets deleted.
Other example is , if in a website, if u can use a functionality(inviting other users) limited times then every time u invite a user,an entry goes to Invite_info and also an entry in invite_quota table.

Although , i also can verify above mentioned functionalties through front end but sometimes it takes us to wrong results but checking results with database is more reliable.Also it saves more time than front end testing.

Also , in Database testing, we also verify whether data is getting saved with correct type and correct size.