Showing posts with label Manual Testing. Show all posts
Showing posts with label Manual Testing. Show all posts

Monday, 16 February 2015

GUI Testing

GUI Testing : GUI testing is nothing but testing the application's user interface elements like textboxes,checkboxes etc to see whether they are working according to the requirements or not.the main intention behind this type of testing is to see how application responds to user input.

Below I'm listing down few User Interface Elements and you need to test cases for them and then test to see whether they are working as expected or not.

1) Checkboxes
2) Textboxes.
3) Buttons
4) Radio buttons
5) List Boxes.

What to Test with UI elements..? : Well below I'm listing down few conditions to be test for different UI elements.

* Checkboxes : check whether one checkbox is allowed to check or more than one checkbox allowed to check.
* Checkboxes : check the spelling of the title associated with the checkboxes.
* Checkboxes : check the font size of the title associated with the checkboxes.
* Checkboxes : if there are more than one checkbox then see whether checkboxes are of same size or not.
* Textboxes : check textboxes for various validations like whether they accept numbers,special characters,alphabets,more than 256 characters etc or not.
* Textboxes : check the spelling of the title associated with the textboxes.
* Textboxes : check the font size of the title associated with the textboxes .
* Textboxes : if there are more than one textbox then see whether textboxes are of same size or not.
* Buttons : check the response of application when buttons are clicked by user
* Radio Buttons : check the response of application when radio buttons are clicked by user.
* Radio Buttons : check if application is allowing to select more than one radio button at once or not.
* List Boxes : check if application is allowing user to select more than one value at once or not.
* List Boxes : check the spelling of all values in list boxes.
* List Boxes : check the font size of all values in list boxes.

I hope GUI testing is clearing now..:)


Regression Testing

Regression Testing : Regression testing is nothing but testing the existing software to make sure that software is working correctly if it has undergone some changes. Regression testing is required when

1) Code has undergone some changes.
2) New functionality has been added to the software.
3) Existing functionality has been modified to the software.

Goals of Regression Testing :

1) Whenever code has undergone some changes then developers give us build for testing then testers job is to check whether all the functionality is working fine and changing of code has not affected the functionality of the software.

2) Whenever new functionality has been added then testers need to test whether new added functionality is working according to the requirements, whether newly added functionality has affected other functionalities of the software, whether newly added functionality has given rise to new bugs and how the newly added functionality is affecting the performance of the software.

How to Perform Regression Testing..? :

Well this is totally depend on the organization you are working for but majority of the companies prefer using tools like Selenium,QTP to perform regression testing and even i prefer using tools like selenium because it is less time consuming than Manual Testing. if you are using tools like selenium then below I'm listing the steps you must follow in order to perform Regression testing.

1) Find out the areas which has undergone changes.
2) Select already existing test cases belong to that area and keep them separately for regression testing.
3) If any new functionality has been added then write test cases for that and keep them separately for regression testing.
4) Once you are done with prioritizing test cases then write selenium scripts based on test cases.
5) Execute selenium scripts and prepare the overall report and send to it concerned person.

It is not necessary to follow above mentioned steps to perform Regression testing and steps may differ from company to company.:)

Compatibility Testing

In this post I'm going to explain about compatibility testing

Compatibility Testing : it is a type of non functional testing where can we see how software works across various browsers,mobile devices,network,databases and operating systems.

Suppose you are testing a website then following factors need to be considered when doing compatibility testing.

* Browsers compatibility - Website has to work uniformly across many browsers like IE,Safari,Firefox,Chrome etc.

* Network - Website has to function correctly under various networks like Wifi,3G etc.

* Versions - Website has to run correctly under different browser version. eg: Website has to work correctly in Firefox 33 and Firefox 34.

Suppose you are testing Desktop application then following factors need to be considered when doing compatibility testing.

* Operating Systems : Desktop app has to work perfectly in different OS like Windows XP,Windows7,Mac,Linux etc.

* Hardware : Desktop app has to work in different machines like 32 bit, 64 bit etc based on requirements.

* Network : Desktop app has to work correctly under various networks like Wifi,3G etc

Suppose you are testing a Mobile App(Android) then following factors need to be considered when doing compatibility testing.

* Mobile Devices : App has to work perfectly for different android devices and for different Android Versions.

* Network : App has to work correctly under various networks like Wifi,3G,2G etc.

This is how compatibility testing works and above mentioned factors for various types may differ based on requirements but remember one thing the goal is to make sure that software works correctly across browsers,networks etc.:)

Smoke Testing and Sanity Testing

In this Post i'm going to explain what is Smoke Testing and Sanity Testing, well these two are very confusing hence need to understand properly.

Smoke Testing : * Smoke testing is a type of testing where we we actually test the most critical parts of the software before going for complete testing.

* Aim is to make sure critical parts work perfectly before doing full complete testing and we do this in order to save time.

* Smoke testing is scripted one means we write test cases and execute those test cases.

* Whenever testers get  build for testing then they do smoke testing before going for System or Functional Testing.

Sanity Testing : * Sanity testing is a type of testing where we test only those parts which has been changed or where bugs were there.

* Sanity testing is to check whether developer has applied some sanity while making changes and whether software works according to requirement or not.

* Sanity testing is unscripted one means we don't have to write test cases, we can directly start testing the software.

* Sanity testing is nothing but roughly testing the parts of the software and not thoroughly testing the parts of the software.

Sunday, 25 January 2015

Boundary Value Analysis and Equivalence Partitioning

Hi, This is my first post in Manual Testing and I'm gonna explain you how Boundary Value Analysis and Equivalence Partitioning work.

 Boundary Value Analysis: Basically BVA is a test case desgin technique and also blackbox technique used to test boundary values of the input data and using this technuique we can derive test cases for particluar input data.

example: Consider a textbox which accepts numbers 10-100 then using BVA technique we can take boundry values of data as follows.
 9,10,11,99,100,101 so we can write six test cases for that textbox.

Testcase1: Enter number '9' in the textbox.
Testcase2: Enter number '10' in the textbox.
Testcase3: Enter number '11' in the textbox.
Testcase4: Enter number '99' in the textbox.
Testcase5: Enter number '100' in the textbox.
Testcase6: Enter number '101' in the textbox.

Equivalence Partitioning: This is also test case design technique which divides inputs into different classes and takes one value from each class and basically this technique is used when we know the input range.

example: I'm taking same example of BVA here too, consider a textbox which accepts numbers 10-100 then using this technique we can divide the input as shown below.

                 less than 10   |   10 - 100  | more than 100
                     Class1             Class2            Class3

As you can see i have divided inputs in three different classes and I'm gonna take one value from each of these 3 classes so my test cases are as follows.

Testcase1: Enter any number less than 10.
Testcase2: Enter number between 10-100.
Testcase3:Enter any number more than 100.

So this is how BVA and EP work, i hope this post will clear your doubts about BVA and EP..:)