Sunday, April 29, 2012

Exploratory Testing


Exploratory Testing:

Explore the word itself indicate research, investigate the new thing which you don’t know .When exploring the new thing somehow you enhancing your knowledge and it is kind of the learning.

You can do exploring testing the way you want it is purely depend upon you; there is neither typical process nor any pattern.

Next question come that when we will do the exploratory testing? Exploratory testing done at any stage of testing .E.g.: reviewing the requirements, reviewing test cases.

When test case reviewing take place the testers gather together they give their own ideas,inputs,they share their knowledge so that means they exploring test case for the particular requirements.

Learning about new product new feature it is an exploratory activity when people learn(Explore) the new product they might be take the help of other people guidance, they might use present document or else self-directed.

When you are exploring you are investigating you are discovering.

Exploratory testing is how you are going to do, how you are going to learn new thing.



Thursday, April 26, 2012

Difference between Alpha Testing and Beta Testing


NO Alpha Testing Beta Testing
1 Alpha testing is a UAT testing done at Developers site Beta  testing is a UAT testing done at customer site
2 Developer available at that time Developer may not be available that time customer need to report the defect and Developer need to be fixed that defect
3 Alpha testing done in virtual enviornment Beta testing done in Real environment
4 Alpha testing is final testing before the software release to general public Beta testing or Beta version of software released to group of people ,general public to receive feedback from them

Wednesday, April 25, 2012

To do Negative Testing positively



Why we do the negative testing. Why it is important?

Negative testing is testing which attempts to shows that application or module does not do anything which is not supposed to do.

But how we can do the Negative testing.

See Negative testing is a core skill. It is powerful approach. It is very important how effectively you do negative testing

Many people have different meaning about negative testing Even they have their own views also.

But for me Negative Testing is more about :

To do thing which is not written in the requirement?

It is about imagination

Exploring the product

Find out the problem, Fault

Let say the requirement is: Password should take minimum 8 characters.

If I want to do negative test for that. Then I will check what will be happen if I enter 7 characters?

What will happen if I enter more than 8 characters?

What will happen if enter the only number or I enter only special character?

So this is like I am doing negative test for that requirement

Negative testing mean you are like investigating more about that requirement, you are doing what you are imaging and what you are exploring about the product.

The good tester is who can break the software who can explore the product, who can find the valuable and good bug.

So do Negative Testing in positive way

Sunday, April 22, 2012

Test Coverage


When we start testing there are so many question arises like
How much testing is enough?
When we will say the product is good to go?
How we can assure the quality of the product is good?
When we will have to stop testing?
Is the 100% test coverage is important?
Can we achieve 100% test coverage with in timeline?
When we will say testing is sufficient?
How do we measure the software testing completeness?
See in my point of view we can measure the quality by doing the requirement coverage, defect coverage, code coverage.
When we say requirement coverage that mean how many requirements are get validated? Can all requirements trace the respective test cases? Do all the test cases have passed? In vice versa trace the test cases to the specific requirement that requirement is need to be passed. In short software needs to be tested against the all requirements

In Defect Coverage in need to be known how many defect we found? How many defects has fixed?
Code coverage is all about evaluating the test cases against the actual code. We also do the code coverage by doing statement coverage, decision coverage,
  
 See basically when you execute the test case you are testing the component, feature and requirement too. One test case can cover zero or more component and zero or more requirements.  The term Test Case Coverage means to me a measure of how many of the product requirements are being tested by the defined test cases. It is the testers’ job to define their test cases based on the requirements and the goal should be 100% coverage or close to that.
 Test coverage Formula= (Total no of test case executed/ Total no of test case planned)*100
Test coverage ensure that testing is carried out effectively .

Thursday, April 19, 2012

ANT and Build.xml File for the Selenium Project

LinkShare Money Mania - Do Not Delete- Untitled 2
Ant Build for the Selenium Java Project:
It is open source tool.
Ant can be used to generate the html report and it is run in your same project it can be run it through cmd prompt.
How to make Build .xml file?
1. Right click on the project
2. Go to the new>>file gives the filename as build.xml
Here is my Project Setup for the Ant



Here is Build.xml file Code:

<project name="Selenium" default="usage" basedir=".">
    <property environment="env"/>

  
  <property name="ws.build" value="${basedir}"/>
  <property name="ws.jar" value="D:/Jar file of the selenium"/>
  <property name="test.dest" value="${ws.build}/Build"/>
  <property name="test.src" value="${ws.build}/src"/>
  <property name="test.report" value="D:/Report1"/>
    <path id="testcase.path">
<pathelement location="${test.dest}"/>
<fileset dir="${ws.jar}">
<include name="*.jar"/>
</fileset>
</path>
<path id="test.classpath">
<pathelement location="${ws.jar}"/>
</path>
   <target name="setClassPath" unless="test.classpath">
    <path id="classpath_jars">
    <fileset dir="${ws.jar}" includes="*.jar*"/>
    </path>
<pathconvert pathsep=":"
property="test.classpath"
refid="classpath_jars"/>
</target>
<target name="init" depends="setClassPath">
<tstamp>
<format property ="start.time" pattern="MM/dd/yyyy hh:mm:aa"/>
</tstamp>
<condition property ="ANT"
value="${env.ANT_HOME}/bin/ant.bat"
else="${env.ANT_HOME}/bin/ant">
<os family="windows" />
</condition>
<taskdef name="testng" classpath="${test.classpath}" classname="org.testng.TestNGAntTask" />
</target>

<target name="all">
</target>
  <target name="clean">
    <delete dir="${test.dest}"/>
    </target>

  <target name="compile" depends="init, clean">
<delete includeemptydirs="true" quiet="true">
<fileset dir="${test.dest}" includes="**/*"/>
</delete>
<echo message="making directory..."/>

    <mkdir dir="${test.dest}"/>
<echo message="classpath---------:${test.classpath}"/>
<echo message="compiling......."/>
<javac
debug="true"
destdir="${test.dest}"
srcdir="${test.src}"
target="1.7"
classpath="${test.classpath}"
>
</javac>
 </target>
<target name="build" depends="init">
</target>
<target name="usage">
<echo>
ant run exceute
</echo>
</target>
<path id="test.c">
<fileset dir="${ws.jar}" includes="*.jar"/>
</path>
  <target name="run" >
   <delete includeemptydirs="true" quiet="true">
   <fileset dir="${test.report}" includes="**/*"/>
   </delete>
   <java jar ="${ws.jar}" fork="true" spawn="true"/>
   <junit fork="yes" haltonfailure="no" printsummary="yes">
   <classpath refid="testcase.path" />
   <batchtest todir ="${test.report}" fork="true">
   <fileset dir="${test.dest}">
   <include name="sel.Testcases/FirstTest.class"/>
   <!-- <include name="Testcase/SecoandTest.class"/> 
   -->
   <!-- <include name="Testcase/ThirdTest.class"/>
   -->
   </fileset>
   </batchtest>
   <formatter type="xml"/>
      <classpath refid="testcase.path"/>
   </junit>
   <junitreport todir="${test.report}">
   <fileset dir="${test.report}">
   <include name="**.xml"/>
   </fileset>
   <report todir="${test.report}"/>
   </junitreport>
      </target>


</project>

Related Documents:
ANT Terminology
How to configure ANT in System?
How to make build.xml file?





Wednesday, April 18, 2012

Difference between Authentication & Authorization

Untitled 4
No Authentication Authorization
1
Authentication verify who you are?
Authorization verify what you are authorized to do ?
2 There are different way to authenticate the user like Password based Authenticate, Device based Authenticate, Biometric Authenticate Giving the group permission like normal user to super user on Unix system
3 Authentication establish the identity Authorization decide what privileges a given to person and program

Monday, April 16, 2012

Selenium Testcase with Junit4 and more about @Before and @After Annotation

LinkShare_468x60v1
Untitled 3
1.Create a Project in Eclipse
2.Create a Package under the project
3.Create the Junit Test case(Selecting Junit4)

Import the Selenium and JUnit. You can the use the following code:
import com.thoughtworks.selenium.*;
import org.junit.*;

We now need to start a browser. So declare Selenium variable outside of any method.
Create a new method that setUP() but before that use the @Before annotation. Before is used to execute set of precondition before executing the test. This Method start the browser.

Create a second method that is logoTest that is basically our Test case.

Create a third Method that is Teardown but before that use @After annotation This annotation execute after execution of every Test This method kill the browser when test will be finished.

import com.thoughtworks.selenium.*;
import org.junit.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class SampleTest {
Selenium selenium; //Creating the Selenium instance

@Before
public void setUP(){
selenium =new DefaultSelenium("localhost",4444,"*chrome","http://www.facebook.com");
selenium.start();
}

@Test
public void logoTest()throws Exception{
selenium.open("http://www.facebook.com");
verifyTrue(selenium.isElementPresent("//*[@id='blueBar']/div/div/a/img"));
}

@After
public void tearDown(){
selenium =new DefaultSelenium("localhost",4444,"*chrome","http://www.facebook.com");
selenium.start();
}

}

Sunday, April 15, 2012

Difference Between QC and QA


NO QC(Testing) QA
1 Detect the Problem in the work Product Ensure adherence to processes, standards ,plans
2 It's Product Oriented It's Project Oriented
3 Develop and run test ; and check the result are correct Guide and monitor the processes used, review the result
4 It is Detection It is Prevention
5 It is used to verify the Quality of the output It is process of managing the Quality

Wednesday, April 11, 2012

Difference between Selenium IDE, RC and Web Driver

Untitled 1 eSportsonline - Discount Team Gear for Every Sport + Free Shipping   
NO Selenium IDE Selenium RC WebDriver
1 Works only on Mozilla Firefox Works on all browsers. Works on latest versions of all browsers - Firefox, IE, Opera, Chrome
2 It is Record and run tool No Record and run No Record and run
3 No server required to start Server required to start No server required to start
4 Full xpaths have to be appended with 'xapth=\\' syntax Full xpaths have to be appended with 'xapth=\\' syntax No need to be append
5 Not at all object oriented Object oriented Object oriented
6 Core engine is JavaScript based Core engine is JavaScript based Interacts natively with browser application
7 It is GUI Plug-in  It is standalone java program which allow you to run Html test suite It is actual core API which has binding in a range of languages

Tuesday, April 10, 2012

Scenario Testing

Untitled 1
What is Scenario mean?
Scenario is hypothesized situation , scene . It is description of person’s interaction with the system.
It is tasks which describe you what you have to do to complete it ,but not how to do it.


Scenarios can be related with use cases which describe interaction at technical level.
The Scenario test has five characteristic:
• It is story that is
• Motivating
• Credible
• Complex
• Easy to evaluate

Scenario covers a numbers of steps. It is used for the developing the Testcase
Scenario should be realistic.
Scenario testing is greatest use developing an understanding the situation.

Test Scenario cover a particular functional area,Business process,use cases etc.
Test Scenario is group of Test Scripts or Test Procedures or Test Cases.
We write the Test Scenario by starting with  Scenario name,Scenario Description,Test Script,Test Requirements/Components. Each Test Scripts should have Script name,Script Description,Script Setup,  Scripts Expected and Actual Result. and last Test execution.

Monday, April 9, 2012

Quality Factor Of Web Application

Untitled 2




Reliability:
Reliability is that which we relied upon, which has confidence, which should be trustworthy. This thing important because web application is trusted by user who uses the e-commerce site, banking application to complete all their transaction. In Reliability we ensure that all information to be sent actually received by the destination ,it ensure that all duplicate information can be detected and filtered out .Most important Consistency .Take the simple example of the shopping site if the site is unavailable to their user whether due to excessive traffic, or some hardware/software problem after giving so many attempt if user failed to connect then it is really bad for that site in that case user might be loose interest for that site. So Reliability is important quality factor.

Usability:
Usability is an approach to make web sites easy to use for an end user. The Application should be easy to operate, it should be understandable, and it should be attractive.

Security:
It is most critical factor for the web application. In that need to regulate access to information, to verify user identities, and to encrypt the confidential information. Because the credit card information, financial information, medical information, corporate information must all be protected from the person ranging from the casual visitor to determined cracker.

Maintainability:
Maintainability is which focus on application upgrade and stability .Increasing the number of user as needed, upgrading the features as users needed, adding the new feature in the application as needed, then for that application need to be maintainable


Thursday, April 5, 2012

Browser Compatibility Testing




I guess you all know what is browser ?---In simple word it is software application where we can retrieve, read, display the data on the World Wide Web. In Client/Server Model the browser works as Client which is run on the computer.
There are different browsers in the market like IE, Chrome, Opera, FF, and Apple Safari.
Every browser has their own different verison, Font type, Font size, Screen Size, different plugin.

What is Browser compatibility?
Browser compatibility means how the web pages look in different browser in different version

The Browser Compatibility Testing checklist:

  1. CSS validation
  2.  HTML or XHTML validation
  3.  Check image display correctly 
  4.  Verify the fonts are usable in different browsers
  5.  Test if any animated GUI
  6.  Check the Video setting Like (Screen resolution –Text, alignment, font etc.)
  7.  Page validations with and without JavaScript enabled
  8.  Ajax and JQeury functionality
  9.  Check Font size validation
  10.  Check Page layout in different resolutions
  11.  Check Header and footer sections
  12.  Check Page content alignment to centre, LHS or RHS
  13.  Special characters with HTML character encoding 

Why need to do Browser Compatibility Testing ?

Now days Web site do critical part in internet then that web site can be a shopping site or it can be a company site.It is the mirror image for the company and it is mirror image for the shopping portal.If the site has browser display problem ,issue then end user,customer will not visit the site and they might be loose interest of your site.So for that there should not be any browser related issue because visitor can be use any browser  and version of the browser which he/she would like to be use; so for that browser compatibility testing is very important.

Related  Document:
Cross Browser Testing Tool

Cross Browser Testing Tools

There are different browser Testing tool availble in the market some of the free tool and some of the paid tool.
There are some following Tool:

1.Browserling:

It is fully interactive session. Nothing to be installed ,Just copy and paste the URL which want to be test
Free session:5 min
Unlimited seesion: need to be paid


2.Browsershots:

Browsershots makes screenshots of your web design in different browsers. It is a free open-source online service created by Johann C. Rocholl. When you submit your web address, it will be added to the job queue. A number of distributed computers will open your website in their browser. Then they will make screenshots and upload them to the central server here.


Browser Sandbox:
It's run your application different browser from the web with no installation.

4.Multiple IE:
It is allow you to run multiple version of IE on the same machine.

















Wednesday, April 4, 2012

Development Life Cycle of Web Application

Web Application Architecture


The Client end of system represented by a browser , which connect to Web site server by internet ,Center  relational database stores dynamic contents , fulfillment may includes interfacing financial ,warehouse system etc.Administrator handles data updates etc.


Related Document:
Development Life Cycle of Web Application