Selenium interview questions

What is test automation?
Test automation is the process of making use of software like selenium to automate the execution of tests, perform outcome comparison with expected outcome.
What is test automation framework?
Test automation in simple words is the automation of testing processes. Automation framework is a system built with needed components to perform this process. When it comes to test automation it is a framework that determines, controls the automation of a specific product. Automation framework is a system built on set of rules targeted towards testing a specific product
What is the advantage of test automation framework?
Automation is coded. This code can be reused for automating many test cases
Little manual work is needed once testing is automated
Testing cost reduction
One time development of code and framework can be reused multiple times
What are the testing types supported by selenium?
Regression testing
Functional testing
smoke testing
sanity testing
When is xpath used with selenium webdriver?
For traversing and finding elements within a document xpath is used. Elements that can’t be found using locators like id, class, name etc in a webpage can be easily located using xpath which is a syntax used for addressing into a document
What are the types of xpath?
Xpath falls into one of the following categories:
Absolute xpath – xpath single forward slash is used to locate the document root as per xpath expression. It is a direct way to find an element in a webage. If a change is made in the lement path the xpath will fail
Relative xpath – This starts with double forward slashes. This is used to search for the element anywhere within the document. This is common xpath expression widely used
What can be tested using selesense commands?
Selesense commands are selenium commands used for web application testing. A tester can make use of the selesense commands to perform the following:
Check broken links
Check for existence of UI objects
Ajax functionality testing
Alert testing
list option testing
windows testing
What are all the types of selesense commands?
Commands give direction to selenium automation engine on what needs to be done. Selesense commands fall into one of the following categories:
Actions commands
Accessors commands
Assertions commands
What are the components of selenium toolsuite?
Selenium tool suite is composed of multiple software tools.Detailed information and description of each and every software in tool suite is as follows :
Selenium IDE :
Selenium IDE, Integrated Development Environment is used for building test scripts. It is well integrated with web browsers and is a prototype tool.
It is based on simple concept of record and play back.
It isnothing but a firefox plugin that is well integrated with web browser, has a handy user interface and used for developing automated tests.
Record and playbac is simple record of steps that a user performs. These actions are stored as reusable scripts. These scripts are portable across many different
What is pip?
To install packages related to python pip utility can be made use of
How do you install a package with pip in python environment?
pip install [packagename]
How do you install selenium web driver using pip?
pip the utility used to install packages in a python environment will help us install selenium webdriver using simple syntax
pip install selenium
What is a selenium locator?
A selenium locator is an address that identifies the web element uniquely in a webpage. There are many different locators in selenium as follows:
ID
Classname
Name
Tagname
LinkText
PartialLinkText
XPath – standard navigation tool for xml
CSS Selector – this can be tag and id, tag and class, tag and attribute, tag class and attribute, inner text
DOM – The document object model is standard for navigation through html element tree

Get QA Tutorials, Training For Free:

Delivered by FeedBurner

Testing Career After Career Break

Career break can happen in many different forms including change of location, change of role from development to testing to get rid of pressure, women quitting job owing to family reasons and aiming to take up job in IT after career break to name a few. As such many find testing as the easy and interesting way to enter into workforce after career break. Here are some tips they cna look for if aiming for new testing career:
Those who have knowledge & exp in testing field, kindly advice for the following:
1) Basic Training in software testing – Though software testing doesn’t cost much of your time basic to advanced training really helps. Particularly for women entering career workforce after career break it gives some basic refreshment on concepts including operaitng system basics, database basics, SQL concepts, types of software testing, latest software lifecycle emthodology like agile, business driven development to name a few. Testing takes two major forms – manual testing that involves understanding requirement documents, creating test cases, test plans, executing cases manually etc. Automation tesitng which is an advanced topic that involves utilization of tools like QTP or programming language liek selenium, watir etc. Look for trianing institutes, private tutors to start with. Some consulting firms offer this trianing for free. Check before making a decision
2) Certifications on testing – Though there are some certificaitons like ISTQB your success in finding a job depends much on technical acument as compared to testing ertificaitons unlike business anlysis, project management wherein PMP offers you bright edge over others
3) Firms may or maynot count on prior experience – This depends on firm. If you ahve development background and have got sufficient trianing in automation tesitng, your prior dev experience cna be factored upon. Again depends on firm to firm
4) Chances of remote option not much great with testing role – Unlike application testers are expected to work real close with dev, business stakeholders and hence remote option is a perk you can’t really count on most of the time
However, good news is that as compared to other roles you can enter workforce easily and quickly via testing route. Give this a shot today if you want to

Get QA Tutorials, Training For Free:

Delivered by FeedBurner

whitebox testing example

In many websites you might have read definition of whitebox testing.In this post I’ll be explaining the definition with a white box testing example.
Lets consider you have been interviewed for the position of quality assurance engineer in a software firm whose major business is a major website. They want you to explain white box testing. Here are simple strategies to make the interview more interesting and exciting. Make it more interactive with this scenario
1) Lets log onto www.yahoo.com
2) Lets have the test cases with us. Test case is an excel sheet with description called test steps that details on what needs to be done at the website level, positive scenario, negative scenario
3) Check the website against each and every test case. If the result is as expected, mark it as positive
4) If the result is not as expected mark it as negative
Say, we click on mail icon at the left side bar, it should take us to mail login page. If it happens mark it as positive, if not mark it as negative. This is a simple example of white box testing. A first simple step for anyone entering testing field will help you perform more advanced testing including blackbox testing, stress testing, regression testing and much more

Get QA Tutorials, Training For Free:

Delivered by FeedBurner

Write Test Behaviour Using Gherkin Language Introduction

We have seen details on Behaviour Driven Development aka BDD
So, how do we implement this? What tools do we have to implement BDD?
It is ultimate cool cucumber that makes it possible
What is cucumber?
1) Cucumber is a tool that supports behavior driven development(BDD)
2) It is written in ruby and often installed as a gem
3) Supports testing in many different languages including Python, Java, C#, Ruby
Now comes the question on gherkin language.What is a Gherkin Language?
1) It is the native language used to write tests that cucumber understands hence supports behavior driven development (BDD)
2) It is business readable domain specific language
3) It can be written by anyone who undersands domain – Note that if you know domain you can write scenarios using gherkin. If you are an expert it is an icing on the cake
4) Gherkin code comes as a part of cucumber codebase
Gherkin language is used to write behaviors in the following languages:
Cucumber (Ruby)
Lettuce (Python)
Spock (groovy)
Specflow (dotnet)
behat (php)

Get QA Tutorials, Training For Free:

Delivered by FeedBurner

Daily job duties of quality assurance engineer

Quality Assurance Engineer performs the critical task of checking the quality of the product as was said in the company handbook based on the quality assurance methodologies set forth by the company.
The following is the daily activity of a Quality Assurance Engineer:
1. QA Engineer looks at the issues that needs to be tested for the day.
2. He then checks the requirements document to make sure that there are requirements for the fix.
3. If the fix conforms to the requirements, check is made to make sure the test cases for testing the fix is in place, if not test cases are added/updated. If there are no requirements then the the fix is QA-Failed and it is assigned to the developer/business analyst for either updating the requirements for the fix and undoing the changes since there was no requirements for the fix.
4. Installation of the build is done and a quick smoke/sanity test is done to make sure that there is no problem with the build.
5. Testing is done for the fix. Also regression testing is done around the fix to make sure that the fix didn’t break any other functionality.
6. White box/Black box testing is done as appropriate based on the fix.
7. The test cases are updated with the result and QA notes/Query are added as a future reference.
8. The result are updated in the VI(Visual Incident) manager and the result communicated to the developer/project manager/QA manager.
9. Time is added to the timesheet for the work done for the correct billing to the client.
This is a brief description of the activity of a QA engineer. Note that the activity may change depending upon the fix and the situation.

Get QA Tutorials, Training For Free:

Delivered by FeedBurner

Advantage of learning DDMS xcode for tester profession

If you prefer to take up job as a quality assurance engineer (or) software tester as it is variously called learning xcode adds value to your profile
What is xcode?
Xcode is an IDE, Integrated Development Environment that consists of suite of tools developed by Apple for developing apps for OS X , iOS. As a tester it becomes mandate to test mobile applications and most of these apps are developed in android (or) iOS. For testing such applications knowledge (or) hands-on experience with debugging tools like xcode comes handy
How do I test android apps?
Debugging tool Dalvik Debug Monitor Server aka DDMS comes handy while testing android apps

Where do I find my next job if I know any of these debugging tools?

This is mobile era and virtually any business has a mobile app that can be downloaded in iPhone (or) Android phone. As such all these apps need testers who assure their quality. Some popular companies like facebook, zynga, yelp,zillow and many online websites do value this skill while hiring qa professional

Get QA Tutorials, Training For Free:

Delivered by FeedBurner

Test engineer should learn unix

Test Engineer working in financial firms and startups now-a-days most commonly work in LAMP (Linux,MySQL,Apache,PHP/Perl/Python) stack. This LAMP stack mandates them to work with UNIX/Linux commands on a day to day basis. Lets take a look at some common UNIX commands used by test engineers on a daily basis. This knowledge will help you face test Engineer position in financial firms (or) web startups

Does a software quality assurance engineer need Operating system knowledge? Though this doesnt fall under the forte of SQA, it is always advisable to have good grep on OS related concepts and commands so that QA engineer can easily identify the layer at which bug exists. The OS is the foundation upon which the entire application stack is supported. Hence bug analysis starts at the foundation
1) Which command is used to open a file/access a file?
cat filename – Open a file, access a file
2) I want to change to different directory from current directory.What should I do?
Use cd directory name – Change to the directoryname destination directory
3) How to move the directory from current location to new location?
mv directory new directory path – Move the directory from current location to new location. This will move all the aubdirectories with in the directory. This permanently relocates the directory
4) How to copy files to new location?
cp file newlocation – Copies files from existing location to new location. This is different than move as it creates only copy of files as opposed to move. This is the command based on which much complex hadoop commands like distcp have been created
5) We want to determine if a file exists in current path. How to do that?
find – Command to locate a file in a given path/current location
6) We ask you to execute a shell script provided by developer. How will you do that?
sh shellscript – This is simple command to execute a shell script
7) To list all the files in a given directory following commands can be used
ls -l
ls -ld
To locate a file without knowing directory location use
find ./ -filename
To get list of files based on a pattern say log files use
ls -l|grep *.log – As most of the log files have .log extension
What is difference between Linux and Oracle Solaris?
Both Linux and Oracle Solaris (formerly Sun Solaris) are flavours of UNIX. Solaris is the form of unix customized by Sun Microsystems. It is now acquired by Oracle Corporation. Linux is an open source. It is now being customized by many different companies like ORacle Corporation,Red Hat, SuSe, Debian etc. Some unix commands are common to both linux and solaris whereas some commands differ.
Linux is a freeware and some vendors like fedora core offer linux which can be downloaded and installed for free.Solaris is licenced version from sun microsystems (can be fixed or floating licence).Both are operating systems upon which all the applications run.
Sun has its own form of hardware called as sun servers which are used to host solaris.Check the documentation of the vendor before installing linux to confirm the compatability of linux in the particular hardware.There are many open source forms and groups that helps us information on linux.

Get QA Tutorials, Training For Free:

Delivered by FeedBurner

Behaviour Driven Development Quick Overview

Before we install the necessary tools to automate our tests (test cases), we will look into the concept of various pieces that make automation testing possible. The foundation upon which automation lies is the Behavior Driven development popularly called BDD
So, what is Behavior Driven Development?
BDD is an agile software development technique
It that follows an outside-in approach to software development
Involves multiple stakeholders (Project manager, Developers, Business Analyst, Quality Assurance and any other stakeholder deemed necessary) – Stakeholders is the same set of terminology we make use of in a project. IT involves all the parties involved and that are likely to be impacted by the project
Focus is to obtain well defined behavior through interactions with stakeholders before writing code – In most cases it is stakeholders who determine the exact need
Easy to write test cases in natural language
Strictly adheres to the concept of building software only for the purpose for which it was intended upon(every piece of code has some business value for which it was built) . Business users with domain knowledge determine the requirement
Requirement the bulls eye can be easily hit via BDD
So,how do I start with BDD?
Cool tools like cucumber make this a fantastic experience
We do have some cool BDD frameworks
1) PHPSpec – PHP applications are supported
2) PySpec – For Python Applications. One good example is google
3) Rspec – For ruby applications
4) JBehave – This supports Java applications
5) xSpec,XBehave – Supported with .NET applications

Get QA Tutorials, Training For Free:

Delivered by FeedBurner

selenium webdriver interview question preparation

Selenium Web Driver is the latest open source project from Selenium. The other open source projects that came out of Selenium are Selenium IDE, Selenium RC, Selenium Grid.

Selenium Web Driver has the following features:

  • Simple API to automate web applications
  • Supports dynamic web pages
  • Uses browser built in support to do automation and does not needs javascript functions to drive the application (done by Selenium RC)

 

List of Drivers Selenium Web Driver Supports

  • Html Unit
  • Firefox
  • Internet Explorer
  • Chrome
  • Opera
  • iPhone

Android
What is selenium webdriver?
Selenium webdriver is a collection of language specific bindings. The language could be PHP,C#,Ruby on rails, java to name a few. These bindings help to drive a browser. This could be as simple as opening a webpage to automating the testing of a web page element
Is selenium web driver a new concept in selenium web testing?
No. Selenium Remote control popularly called selenium RC is the predecessor of selenium web driver
How to add selenium web driver to ruby environment?
This simple command will help in selenium web driver development in ruby environment
gem install selenium-webdriver
Which company makes use of python?
Google the worlds best search engine makes use of python framework. It is to be notes that selenium automation framework is brainchild of google employee
How to uninstall selenium package using pip?
pip eases the package uninstall process
pip uninstall selenium
How do I confirm if selenium is installed successfully in a pyhton environment?
pip utility from pyhtin has the capability to show list of libraries properly installed
pip freeze > out.txt — will output details of libraries installes to out.txt. Search for selenium in this library list and confirm
How do you make use of selenium web driver in perl and php environments?
Bindings are available from third party providers to make use of selenium in perl and php environments
What is web driver available for only windows OS?
Internet explorer driver controlled by simple .dll is windows OS specific web driver
What IE versions are supported with selenium web driver?
Internet explorer 6,7,8,9 are the supported versions. IE 8 is supported oon top of XP and IE9 is supported on top of windows 7
Will internet explorer driver work on linux?
Nope. IE driver will only work on windows
How do you access a simple webpage using selenium webdriver?
Here is how we access a simple web page in many different programming environments
Java environment
driver.get(“http://learnersreference.com”);
In case of c# try the following command
driver.Url=”http://learnersreference.com”;
In case of Ruby use
driver.get”http://learnersreference.com”;
In a python environment use
driver.get(“http://learnersreference.com”);
Say something on Selenium Implicit Waits Using implicit_wait function:-
Selenium web driver has implicit wait functionality that can be easily implemented using implicit_wait() function.Syntax is language specific and it is important to import Webdriver in first place.
Platform Supported By Selenium Web Driver/Selenium 2.0 :-
Here is a post that gives full details on platforms supported by selenium web driver

Browser

Version Supported

Firefox

10x, 9x, 8x, 7x, 6x, 5x, 4x, 3.6, 3

Internet Explorer

9x, 8x, 7x

Safari

3x, 2x

Opera

9x, 8x

Chrome

See the following link for chrome support https://code.google.com/p/selenium/wiki/ChromeDriver

Operating Systems: Windows, OS X, Linux, Solaris, Others
Programming Languages: C#, Java,Python, Ruby

List of Web Driver’s Drivers:
1. HtmlUnitDriver
2. Firefox Driver
3. Internet Explorer Driver
4. Chrome Driver (http:https://code.google.com/p/selenium/wiki/ChromeDriver )
5. Opera Driver ( http://code.google.com/p/selenium/wiki/OperaDriver)
It is interesting to note that selenium supports the hot and latest smart phone applications. Here are the driver details related to popular smart phones in the industry
6. iPhone Driver (http://code.google.com/p/selenium/wiki/IPhoneDriver)
7. Android Driver (http://code.google.com/p/selenium/wiki/AndroidDriver)
What is the reason behind java not recognised as internal or external command during Java Software Installation?
Whenever we want to use an automation tool like selenium the first step is to install software like java,PHP,ROR (Ruby on rails),.NET Framework (Visual studio), Python etc depending on application to be tested

In this example we start with installing java and check if the installation is complete and successful. although the validation is possible using web browser it is possible to get details from command line using simple command

java -version

The above command might return an error that says java not recognised as internal or external command. This can be fixed simply

Set the environment variables JAVA_HOME, PATH

In a windows environment JAVA_HOME=value, PATH=%PATH%;%JAVA_HOME% – Right click my computer->Advanced

In case of UNIX set JAVA_HOME

Get QA Tutorials, Training For Free:

Delivered by FeedBurner