Posts

Showing posts from 2011

IE shares falling down, Chrome is coming up !

Internet Explorer does less than 50 percent of world's web surfing, Chrome on the come-up -- Engadget: "Microsoft's finest still has a healthy 52.63 percent desktop market share, which gives it a sizable lead over the competition from Firefox (23 percent), Chrome (18 percent), and Safari (five percent)"


'via Blog this'

Learning from Twist Workshop Session

Conducting a workshop on Testing tool is not new for me. In past I have given the same for QTP and other tools in my previous organization. How was this different ? What’s new for me ? I noticed that these kind of sessions mostly revolves around tool. Those sessions were mostly like Feature drill down from Day-1 to last day nothing but just features. During my QTP days, I used to prepare a Power point presentation of features and snapshot of screen flows to illustrate it. What’s different in conducting Twist session. I actually thought of experimenting. I listed down all the critical features which I thought of discussing and then finalized on the application (which was Mingle , a Project Management Tool from ThoughtWorks Studios). I started session with a persona of a QA on a testing team of Mingle (AUT) who will be involved in writing test cases, testing Story acceptance criteria and finally automating it. So it was easy for me to map the requirements of a Tester with the features of…

QTP (Keyword Driven) Vs. Twist (Page object pattern)

Image
Previous two posts Web Application Testing (QTP Vs. Twist) and Test Creation (QTP Vs. Twist) talks more about the features in the tool and ease of use.  Following my two blog posts where I have compared QTP with Twist, this blog post is next  in the series which will talk about  Test framework and maintenance in both the tools.
When you launch QTP, you will notice that the Process Guidance pane shows you a path to achieve what QTP has popularized in the Testing community as “Keyword-Driven Testing”.



[Keyword Driven Testing is a technique that separates much of the programming work from the actual test steps so that the test steps can be developed earlier and can often be maintained with only minor updates, even when the application or testing needs change significantly]
-QTP Help File on “Keyword Driven Testing”
This technique relies on 3 pillars: Test Steps Keywords Object Repository So a tester generally writes Test steps using the keywords, tester with technical knowledge creates function …

Test Creation (QTP Vs. Twist)

Image
After downloading QTP (Version 11), I started using it to test my sample application which is a project management tool. I must say that the “Process Guidance” stuff is really good for first time users. It tells them how to create and organize your test in a step by step manner (One thing which is not present in Twist).
So I started with creating a lay out of the project by creating Actions which are logical name for Test scenarios like “Login”, “Create Project”, “Create Card” in QTP.
Left side of the below image shows how the test looks in QTP and right side shows how it looks in the tool I am using Twist.

So once the project lay out was created in QTP I started recording the test. This is how it looks in QTP. QTP shows me the recorded script and I can add comments to that script to tell the intention of recording. However Recorded Script doesn’t help anyone apart from me to understand what this test does.

Let’s go to the tool I am using Twist. Once the project lay out is created, I can…

Web application Testing (QTP Vs. Twist)

Image
I downloaded QTP (Trial Version 11) few days back and I thought of seeing what’s new in the tool.I have a Dell Machine with Windows 7 installed on it. Browsers installed on my machine are:
Firefox (Version 6.0.2) IE (Version 9.0.2) Chrome (Version 13.0.782.220) QTP allows me to setup the environment before recording test. So I can navigate to
Automation –> Record and Run Settings.  The pop below shows up. I can set the application URL there and when I pull the browser drop down, it just shows up Microsoft Internet Explorer.

Though I have Firefox, Chrome installed on my box, they do not shows up in the list. So when I opened the “HP QuickTest Professional Product Availability Matrix” pdf I was shocked to see the below matrix. Are you serious ?
If I am testing a web application I would want to test it on various browsers available at least Firefox (Version 4, 5, 6), Chrome (Version 12, 13) and IE 9 (on Windows 7).


I looked back at my tool which I am using right now (Twist) and I saw t…

Testing Web Application on Android Emulator using Twist 2.3

Image
Twist 2.3 supports Selenium 2. So let’s take a sample mobile web application to Test.
Application under Test: Wikipedia MobileURL: http://mobile.wikipedia.org/Let’s say the basic test scenarios we want to automate is
Navigate to the URL Search for "Thoughtworks Studios" Open the link "Twist for Agile testing" Verify the link "ThoughtWorks"Let’s run through few steps which will enable us to do that.
Step 1: Create a new Twist project with Selenium 2.0 as underlying driver and Firefox as the browser and Click on Finish.

Step 2: On the New Scenario Page in Scenario Editor, create a new Business Workflow

Step 3: Start recording the steps. (This will help you record the test in Firefox.)
Step 4: Open the Project properties and Select the Twist Properties and click on the Selenium2 tab. Select Android Browser for the browser.

Step 5: Make sure the android emulator is running (Webdriver Installed) and pointing to the android server at “http://localhost:8080/wd/hub”. …

Twist 2.3 is out !

Image
ThoughtWorks Studios just released Twist 2.3. Read more about it here
Just a quick look into the new features and improvements.
Selenium2: Allows Recording & Playback of web application with Selenium2 (WebDriver). Web App testing on Mobile: Allows you to record your scenarios on Firefox and replay the same on Android & iOS (Physical Device and Emulator) New improved UI for Selective Propagation of Concepts, Project Configuration UI. You can download Twist 2.3 here
Watch out for post on how to test your web application on mobile devices.

Twist – Let’s you get started pretty quick !

Image
I joined a Product team who creates a Software product. I joined as second QA in the team. Product has seen quite a few releases and the team has built a Testing Suite which has over 600 test scenarios. These test scenarios run on 3 OS Windows, Linux, Mac.600 tests means a well and huge structure already built in and not much of effort from my end. Oh but I then start worrying about time taken to comprehend the structure and look around how classes are organized, how are we tagging the test scenarios, how can I find what all scenarios are automated. I used to think that automation tool sits in isolation. It’s needed when you want some test cases to automate. But we are using a tool which took away all my tension - Twist. So Twist allows me to write manual test case as well as automated ones at a single place and in a single suite. I don’t need 2 software; one to write manual tests and one to write automated tests. Well most of the testing projects have like this; write manual test ca…

Using Drag and Drop in Selenium / Webdriver

Image
Today I was trying out  to test the Drag and Drop feature provided in webdriver.  First I searched for a website which allows me to perform drag and drop operations and came across a website “http://jqueryui.com/demos/”. On the top left you will see 2 items “Draggable”  and “Droppable”.  Those are of interest to us as of now to test the Drag and Drop feature if Webdriver. Draggable: The draggable sections looks like this. So you have a web element which can be dragged around in the circle. API to be used for these kind of controls is org.openqa.selenium.interactions.Actions.dragAndDropBy(WebElementsource, intxOffset, intyOffset) Sample code to drag this element to an offset is WebElement draggable = browser.findElement(By.id("draggable"));
new Actions(browser).dragAndDropBy(draggable, 200, 10).build().perform();
Droppable: The Droppable sections looks like this. You have 2 elements i.e one draggable and the other one to drop into. API to be used for these kind of contro…

Google + (Send Feedback link) – Tester’s View

Image
First thing: what compelled me to write this was “Send Feedback” feature on Google +. I assume you would be knowing a little about Bug Logging/Tracking tool. I have used quite few too. Pretty much all of them seems to work in isolation. Isolation as in you have a application to test and you found a bug. So you launch the Bug logging application and do a bunch of things:
1. Write the best describing short and concise Title.
2. Write the Steps: (How to reproduce this? What was expected? What really happened?)
3. Take a relevant screenshot and highlight the problem in that (A Picture speaks thousand words !)
4. Set Feature, Priority, Risk etc.I felt I found a bug in Google + and I thought of sending it to them. I clicked on the “Send Feedback” link, so my whole page greys out and a small UI is popped up in right. By default “Highlight” is selected. So you just have to select a relevant portion of the UI where you think the Bug is and describe the issue in the textbox provided.




W…

Impressive Google +

Image
I am not a big Facebook fan but used to spend quite some time on it by looking into some scraps, some videos, laughing on comments, liking some comments (remember the Like button).
Got the news of Google +. Requested few colleagues to invite me so that I can join the Google + league (which is not yet opened publicly).

Reaction in first few minutes: wow what a neat application. No UI frills as you can see below. Default landing is on Home page, next icon is for Photos (Photos from your circles),next is your Profile, and the last one is most talked about Circles. Clicking on Circle will show you People in your circle, People who’ve added you, People you can find and invite.

Circle is quite an innovation in Google +. Not everyone I have in my Facebook friend list are at same proximity. Some are college friends, some are colleagues, some are friend’s friend and many more like this. I feel Google +has understood it properly and they have created Circles as a solution. It helps you maintain y…

In a comfortable zone… sad but it’s reality of my life!

Every morning I get up, I generally prefer to pick up the news paper (Times of India) and want to read something good. Good about the country, good about what we as people are doing, good about what government is doing for the country, some good articles in the speaking tree section, some good international news and some good financial news. Ahhhh… this seems like as if I am into some dream land and very much optimistic about everything. Well I am a little optimistic, in fact a little more than all of us (I feel).
I open the news paper and I read “Life in Tihar: Tea with jail official, chatting with pals”, “CBI books babu for Rs. 400 cr. loss”, “HC stays tree cutting along Sankey Road”, “Maria Susairaj set to walk free”, “Stray canines maul baby to death in city”. Well these are headlines of a national daily newspaper. My first instant reaction: Bloody hell ! Why do people bend in front of politicians, why shouldn’t they be treated as other criminals are. Next reaction: CBI seems to be…

How to install Webdriver on Android Emulator on Windows

Image
Following my previous post, I needed to install Webdriver on Android Emulator.  I have Windows 7 installed and most of the instructions were for Linux, so I thought this might be helpful.

So even this is pretty straight forward. Let’s run through the steps I followed to install Webdriver:
Download “android-server-2.0.2rc3.apk ” from the following location http://code.google.com/p/selenium/downloads/list. Copy the above downloaded file into folder “C:\Program Files\Android\android-sdk\platform-tools” Run the “Command Prompt” as administrator. Execute “cd C:\Program Files\Android\android-sdk\platform-tools Execute the command “adb install  android-server-2.0.2rc3.apk” We also need to set up Port forwarding, run the command “adb forward tcp:8080 tcp:8080" Click on the WebDriver app on Emulator and this will make the android server available at “http://localhost:8080/wd/hub”. Opening this URL in Firefox will show up a blank page on success. Confirm the following settings on your emulator : S…

How to install Android Emulator on Windows

Image
As part of my testing work, I am currently working on using webdriver to test on Android. So I had to install Android Emulator on Windows 7. Below are the sequential steps and I hope it will ease some pain on getting Android emulator on your Windows 7 box.

Download the installer from http://developer.android.com/sdk/index.html
Install it to a location (like: C:\Program Files\Android) Launch “SDK Manager.exe” It will launch a “Android SDK and AVD Manager”. By default “Installed packages” will be highlighted. On the pop up “Choose Packages to Install”, there will be some packages selected already. Go ahead with the “Install”.
4.    Once it is done, select “Virtual Devices” to create one for you. Click on “New” and enter some name. Target as “Android 2.2 – API Level 8”. Select Size as “512” and “Built-in” to be “WVGA854” and click on “Create AVD”.

5. Once done select the Virtual device you created and click on Start. You can find the “Start” button on the right panel in the above shown image…

Technology Adoption Lifecycle

Image
Though there are many things I wish I could write and share with you all (what I learn at IIM), but I found this really worth and couldn’t resist. I am thinking of sharing some learning with you all going forward.
Today I had a class on subject “Management of Tech Products” and Professor suggested a book “Crossing the Chasm” by Geoffrey A. Moore. Probably if you are associated with Product development and Management, this book would be a great source of knowledge and insight into product management. I would definitely recommend this!
As per the book mentioned above, there is something called “Technology Adoption Lifecycle“ model and it actually shows that a product marketer should focus one user group at a time. These are 5 different user segments who actually uses the product at different stages. Below attached is the picture of the same.

Leaving you with this so that you feel like knowing more about it ! (Food for thought)

Twist – First 3 minutes !

Image
Why first 3 minutes? Because I make my opinion in the first 3 minutes and one wrong direction will just spoil the whole show. So what all you need to know about Twist in first 3 minutes. This post is totally from a tester’s point of view and my personal opinion. So I will talk about features which as a Tester I would want to know in first 3 minutes of using Twist:
Creating My First Test ProjectLaunch Twist and then follow the navigation File –> New –> Twist Project. Enter some relevant project name, language is selected by default to “Java”. Click on “Advanced” and choose a driver. The moment you choose a driver (let’s assume I want to test a web application), you will be asked to choose a browser and provide a browser location.
Now once you are done with all these things, you are done with your Environment Set up and project formalities. What next?
Write your testBy default Twist gives you an empty scenario named as “NewScenario”. On top of the Scenario Editor you would see option…

Handling “Selenium (WebDriver) Exception: this.getWindow() is null”

I was trying to create a simple script to do few things :
Launch TwitterClick on “Sign in”Log in with username "testmail" and password "password"Relevant Webdriver script is:
public void launchTwitter() throws Exception {
        browser.get("http://www.twitter.com");
    }
public void clickOn(String string1) throws Exception {
        browser.findElements(By.className("promotional")).get(0).submit();
    }
    public void logInWithUsernameAndPassword(String string1, String string2)
    throws Exception {
        browser.findElement(By.id("username")).sendKeys(string1);
        browser.findElement(By.id("password")).sendKeys(string2);
        browser.findElements(By.className("submit")).get(1).submit();
    }
While trying to play it back on Firefox 4, script failed on below step
browser.findElement(By.id("username")).sendKeys(string1); and stack trac…

Playing Back a WebDriver script in Firefox 4 behaves weirdly

Well there are some issues with Firefox 4. So I had a script created to search some key words on Google.  I tried playing it back and I find it failing. Not so impressive !
So my script looked something like
public void someGoogleSearchFor(String searchKey) throws Exception {
        browser.get("http://www.google.com");
        browser.findElement(By.name("q")).sendKeys(searchKey);
        browser.findElement(By.name("btnG")).submit();
        browser.findElements(By.linkText(searchKey)).get(0).click();
    }
I played it back in Firefox 4 and to my surprise I found the script failing on the last line
browser.findElements(By.linkText(searchKey)).get(0).click(); So when I watched the script playing back again, I notice that instead of putting the search text in the “textbox”, it just appended the text in the URL and failed on the last line of the code where it has to click the search result which contains this text.
When I played i…

Automating tests in Twist

Image
In past I have done quite some automation using C#, QTP and Loadrunner (yes using Loadrunner for functional test automation). From past 1 month I have started using Twist extensively. And it’s just an amazing experience !
I remember the readability of tests were limited only to me and the person I was working along with (when I was working on QTP or C# or LR). Though we use to give underlying methods a fancy name to convey the purpose of test but it must be a painful experience for a third person to extend and maintain it. And moreover business user wouldn’t make any sense out of it except the count of tests which has passed or failed.
Why I am talking about all this is because I was actually automating a test in Twist around the “Inline Concept” feature. So here in Twist team, we use Twist to test Twist. Quite a twisted statement. :)
Twist allows you to write tests in DSL (Domain Specific Language). So the advantage is my tests are more readable and functionally meaningful (in domain te…

Twist provides Intelligent Recording

Image
Continuing from my previous post…
Twist allows you to write manual tests and then automate it. It allows one to create Hybrid, Automated as well as Manual test suite. So let’s take a situation where the application under test (AUT) is Flipkart mobile site (http://www.flipkart.com/m).
If you notice the site carefully, you will find that when you
Search for “Alchemist”, category shown is “Books” Search for “Inspiron” category shown is “Computers” Search for “Elvis Presley” category shown is “Music” Below is a small video demonstrating the same. Please watch it in HD version.
So as a tester on the project I would write my tests in way shown below:
Search for "Elvis Presley" and verify category is "Music"Search for "Alchemist" and verify category is "Books"Search for "Andaz apna apna" and verify category is "Movies"Search for "Formula1" and verify category is "Games"Search for "HTC" and verify catego…

Automation crucial for Agile’s success !

Image
Agile is incrementally building the whole project with smaller delivery cycles. I have written about that in few of my blogs http://www.nishantverma.com/2010/04/scrum-methodology.html . Automation in fact a good automation forms the core of agile project delivery.
I as a QA might not feel the need of automation much in earlier phase of project. But as we progress further, QA would start putting in estimate for “Regression Testing”. I remember my previous project where the regression phase used to take around 1-2 weeks depending on the features planned in the release or impact of refactoring. Trust me it’s very painful when you are following agile methodology and you don’t have automation in place. It’s a costly mistake. People at top thinks we are implementing agile and at the execution level people are little confused about that. :)
So in a typical agile methodology project, you need automation side by side your manual testing. You might struggle initially with the pace of QA sign-…

Testing a Testing Tool “Twist”

Image
It’s been quite some time since I posted anything.  I have been rolled off from my previous project and on-board to altogether a different stuff. I am testing a “Testing Tool” called Twist.You can find more about it from the hyperlink.
It’s a new experience for me. I have never before tested any Testing Tool, though I have done some tool evaluation in past. But trust me testing a testing tool is a mind blowing experience.

In past, I have used functional testing tools like QTP (8.0, 9.0, 9.2,9.5), Watin etc. But it’s a amazing tool. Twist allows you to play around with drivers like Sahi (for Web apps), Selenium 2.0 (for Web apps), Frankenstein(for Swing apps), SWTBot (for SWT/Eclipse apps).Recording facility is way superior than QTP (based on my experience). Will soon do some posts on the features of Twist tool very soon, let me get a hang of it.
Don’t get bugged by reading those posts, instead download and enjoy. You are most welcome to give/mail me your comments and feedbacks on the…

Learnings from 15 months…

Image
Project:re-writing a legacy application; and building Outlook Add-in and web application (in Silverlight). Completed 15 months in a project and today rolling off for another new beginning in a different project.  I was involved in  close to 50 stories as a QA owner and have written over  more than 100 test cases and logged over more than  350 defects.

I joined in a 7 member QA team and day –1 was like sitting in a room “Nalanda” and doing regression while going through the test scenarios. There were quite some number of test scenarios at that time itself and the application was buggy. Initially I thought I will start reading the narratives to get a hold of the application. But ask me it’s tough in a project which is older than 6 months. You can’t do it and you will have to find a better way.
So what next, I started doing Exploratory testing and that increased my confidence. While you get to know the feature implemented and how actually system is behaving rather than how it should beha…

High Definition Bug !

Image
I was on my way to Koramangala via Inner Ring road when I saw a big hoarding about the Bausch & Lomb HD lens.  My first reaction: What the hell ? The HD bug came here also (that too in lens) ? What all we will see with HD ? We already have products like HD Television, HD TV Channel, HD DVD , HD Camera and now HD lens.  Damn is there anything which is left ? I guess after few days we will see HD Sunglasses and many more. But I am not sure how they are going to sell the HD sunglasses.But HD hasn’t changed anything, I think? I used to see Cricket matches; Before (on TV) and Now (on Sony Bravia). In a cricket match, I can’t notice where the ball has hit on the pad unless I see the replay. Then what the f**k with HD ! Also I am not the one who gives decision. I just have to live with the decision like the other viewers who just watches it in a normal TV. :) High Definition is just a bug which makes you spend more without giving any satisfaction.

Why SMS is limited to 160 characters?

Image
Why 160 why not more? Have we ever asked ourselves why SMS length is fixed to 160 characters only? SMS is the oldest application to be used in GSM phones. Currently it has more than 3 billion active users. It’s an age old application but we are hardly seeing any modification/up gradation with the advent of new technology. Yes we did see the upcoming of MMS but SMS remained the same.

Ever wondered why 160 characters? One day while going through some bookmarks in Delicious, I found an article on the same. I found it irresistible to share and go this way…
Alone in a room in his home in Bonn, Germany, Friedhelm Hillebrand sat at his typewriter, tapping out random sentences and questions on a sheet of paper.
As he went along, Hillebrand counted the number of letters, numbers, punctuation marks and spaces on the page. Each blurb ran on for a line or two and nearly always clocked in fewer than 160 characters.
That became Hillebrand's magic number -- and set the standard for one of today…

Google +1

Image
It’s pretty easy to enable +1 Button. Open a browser and sign into your Google account. Then search for Google Experimental or just type in the following URL http://www.google.com/experimental/. You will see “+1 button”. Click 'Join this experiment'. Now navigate to http://www.google.com and search for any item. You should be seeing a +1 button next to the search result.  This button will not be enabled for http://www.google.co.in. Initially I thought it’s Google version of Facebook “Like” button.  But after trying it out I felt it sucks! Big Time! I search for some stuff and get the Google results page. How could I rate the result with my “+1” without actually going through it? Also the preview of the search result (another feature which Google introduced recently) doesn’t empower me to do so. So if I am actually interested in marking a result “+1” then I have to open one of the result, read it and then religiously go back to the Search Result page and Click “+1”. Probably…

Don’t get settled !

“What happen when we move in a new situation” or for the sake of simplicity of understanding let’s say what you feel when you join a new team. You as an “individual” bring in your learning, your individuality to the whole team. You get acquainted with the processes prevailing in the team. Some of these processes you would have experienced before, some you would have never heard of. Things which are new are tough to digest and practice. We react to it: we start questioning, we feel little uncomfortable towards the new things. We start influencing the process by “trying to modify” the existing process. That is the “individuality” you bring on to the team, which should be highly respected. Some of these processes are good, efficient, valuable etc. Some has room for modification, replacement. During the initial phase of settling down we feel strongly about these processes. Given a chance we would want to change it or replace it. This feeling of bringing change lasts from starting few da…

Team Dynamics

Image
Individuals with their own individuality, style and uniqueness forms a Team. A Team is defined not by the uniqueness of the individual but by the coherent vision and capability they share. It’s a group of focussed people who lead to the success of any project rather than a bunch of highly talented individuals who just wants to get driven by themselves. Team is very similar to a chariot shown below. If all the four horses starts to run in their own direction then the person riding this horse will never reach his/her destination. The goal of a team should be to achieve higher level of cohesion, trust among peers and increased focus on delivery. It should be performance oriented. The biggest advantage of team is learning from peers. One should be open to learn. I may be good at certain thing but there is always a room for improvement in each of us. Also it’s the onus on each one of us to shape the behaviour of team. There are people who make you feel positive and spread positives vibes …

Why Business Analyst should test the application regularly??

In my previous post “Bridging the gap-the ‘Analyst’ way” I have briefly discussed the role of Business Analyst. One important role in addition to that is “testing” the system frequently.  I strongly believe that BA should test the system frequently. They should verify the acceptance criteria of the story and augment the QA testing. This is especially important when we have more than one BA on the team. One should continuously be in touch of the system by testing it. Also this will inculcate the feature ownership, which sometimes get lost in day to day rush.