"No one is harder on a talented person than the person themselves" - Linda Wilkinson ; "Trust your guts and don't follow the herd" ; "Validate direction not destination" ;

February 24, 2013

Selenium Builder - Magic Tool for Web Testing

Selenium Builder tool caught my attention from recent selenium post. Selenium IDE is available past few years. It is very useful, robust to get started. The challenging problem for me was fixing XPATH related issues prior to web driver implementation. Selenium Builder seems to remove some of those pain points. In a quick dry run I found below things impressive about Selenium builder.


1. Converting from Selenium 1 to 2
2. Alternatives Suggestions for actions is amazing

3. Run Locally or against Selenium Instance


Earlier we have seen BITE - Browser Integration Test Environment - File Bugs from Browser Level

We Can Simplifying Manual Web Test Process by using
  • Selenium Builder to Records your exploratory tests and replay it for every build
  • Any error encountered File Bugs using BITE
  • Filing bugs is simpler, lot of details attached with bugs filed using BITE and reduces bug logging time
Selenium IDE + Selenium Builder + BITE are powerful set tools for web testers and also right set of tools to get started with automation

Happy Re-Learning!!!

February 19, 2013

Web Test Automation Fundas - One Liners

Below notes are based on my personal learning's from project's I have worked on. This presentation from Bindu - Design Patterns in Automation Testing is the inspiration for this post.

Learning Tip #1 - Page Object - Create Class for Each Page in a website. Ex- HomePage, SearchPage Each Page will have a class on its own. These classes will have methods to simulate the functionality. All example posts on Developing Automation Framework in my blog is based on Page Object pattern

Learning Tip #2 - Factory Pattern - You will still have a single class for each page in your website. When you support multiple locales Factory Pattern is useful to simulate the method based on the locale specified in Test Run. Please refer this earlier post on Data Driven Testing and Design patterns. Example for Factory Pattern is provided in the example

Learning Tip #3 - Data Driven Testing - Running the same test for different Data Sets. Basically Automation Framework should be configurable to run against dynamic data sets (not limited to fixed data sets). Although this is a continuous challenge but this is achievable

Learning Tip #4 - Validation Procedures - Validating data need to be performed using independent Service Calls / DB Queries / Prepared Expected Results output. Use of XML to read configurable parameters, storing DB queries of different DB platforms (DB2, MSSQL, MYSQL..) would help to dynamically fetch queries based on the platform tests are executed


More Reads http://code.google.com/p/selenium/wiki/DesignPatterns
Page Object Pattern and how to use Selenium

Happy Re-Learning!!!

February 12, 2013

Database Internals [Good Reads]

Please download and read white paper 'OLTP Through the Looking Glass, and What We Found There'

The whitepaper provides more details on current architecture of OLTP RDBMS Systems. I can closely relate it with MSSQL Server. It covers the key architecture details. The Paper evaluates options by eliminating some of the features based on current hardware systems and demonstrates significant performance gains
 
At a beginner level some of architecture keywords / concepts good to learn are
  • WAL (Write Ahead Logging)
  • Log Manager
  • Buffer Manager
  • Two Phase Locking
  • Concurrency 
  • Eventual Consistency
  • Transaction Manager
I am posting some relavant simple explanations of the same based on MSDN documentation. WAL -
 
Write Ahead Logging (Source - Link)
 
 
Buffer Manager - Page is fetched to main memory through Buffer Manager (Source - Link)
  

Two Phase Locking - A detailed note of how transaction is executed from Brent Ozar Post
 
Concurrency Control - Governed by Isolation levels, Earlier discussed in same blog
 
Log Manager - Manages Logging, WAL
 
Eventual Consistency - Over a period of time the data will be consitent across different nodes (databases) distributed over network. Read More @ Consistency models in nonrelational dbs 
 
 
More Reads  
 
Happy Reading!!! 

January 26, 2013

Good Tech Talk - Making Better Software - QA & DEV

Today I checked this tech talk. This is very very good. **MUST VIEW** for passionate DEV / QA / IT Pro. Complete Tech Talk is inspiring, offers a lot of improvement ideas
 

Between 24:31 to 30:52 minutes

Very Good Joel talk on test skills, testing competency and also covers **Agile QA**
 
Summary of QA Talk
  • Benefits of Having QA in a Team
  • Benefits of Rapid Feedback between Dev & QA
  • Tools for testing + Functional testing both are critical
Between 32:34 to 34:37 minutes
  • How Writing code vs Developing a Great product differs?
Between 44:18 to 48:54
  • Intrinsic and Extrinsic motivation
  • Intrinsic Motivation matters!!
 
Hope you enjoyed the tech talk. Happy Listening!!!

January 06, 2013

Good GTAC Testing Talks


GTAC 2011: The Latest in Google Test Tools

Tools covered in the session are BITE and Quality Bots

BITE - Browser Integrated Test Environment
  • Record Browser Actions, File Bugs Automatically without switching from your browser, Replay Recorded Actions
  • BITE is available as a Chrome Extension 
  • Records User Actions @ Browser Level
  • Track Actions while finding UI bugs during Exploratory Testing  
  • Bug Filing from Browser itself
  • Include Screenshots, Repro Steps while filing bug
Quality Bots - Automated Layout Issues Detection in Chrome browsers

With the Tools Implemented QA Cycle works as below
  • Run Quality bots to detect layout issues
  • Allow exploratory testing for Manual testers and capture test steps, screen shots, related data using BITE chrome extensions for bugs identified
  • Automated Bug Filing using BITE from browser itself
Tools + Exploratory Testing with test steps captured makes it easier to reproduce bugs

More Interesting Reads

Happy Learning!!!
  

December 29, 2012

2012 Big Data Interesting Milestones

2012 was a fantastic year in terms of Big Data and Cloud Adoption. Massive Big Data focus and Products focussed on Big Data Analytics. Fortunately the world did not end as per Mayan Prediction.
 
How Traditional Players catch up in Big Data Space
  • Traditional RDBMS Vendors MSSQL, ORACLE offering their own NOSQL Solutions, Hadoop Connectors to leverage the power of Hadoop and enhance their BI offerings
  • IBM BigInsights Hadoop based Analytics Platform, Informatica and Microstrategy enhanced their Big Data Capabilities this year by providing integration with Hadoop Ecosystem
  • Acquire Hadoop based Startups to catch up with Big Analytics
Real Time Analytics Trend in 2012 
  • Cloudera launched Impala platform to provide Real Time Analytics
  • Real Time Analytics based on Twitter Storm
Big Data Fifth Elephant Conference provided good insight on Big Data Use Cases and Adoption rates

Big Data Products
Indian Startups Working on Big Data / Leveraging Hadoop Ecosystem for Analytics
  • Inmobi
  • Qubole
  • Flipkart
2013 Focus 
Interesting Big Data Reads

Inspiring Tweet to end the post



Happy Learning!!!

  

December 09, 2012

Python Basics

Two Coursera classes (An Introduction to Interactive Programming in Python, Learn to Program: The Fundamentals) provide very good python beginner learning materials. Python is a Interpreted Language

Quick Summary and Python Notes
Basic Examples and beginner notes posted based on course notes. All Code can be tried in CodeSkulptor.  There are a few syntax differences but this is similar to C programming language.

Example1 - Arithmetic Expressions
  • Basic Arithmetic Expressions
  • Variables, Assignments, Sample Exercise in link
All Scripts can be run in FireFox / Chrome in CodeSkulptor (Not in IE)



Example 2 - Working with Functions
Built In functions - max, abs
Example 3 - Custom Functions
  • Example function to sum up two numbers
Example 4 - If Statement - Conditons , Else If and Else Operator
Example 5 - For Loop - Iteration
Example 6 - While Loop iteration
Happy Learning!!!

December 01, 2012

Tool Developer Notes


Tip #1 - Sending Email on Error using Log4NET

Tip#2 - Append XML Node in C#

Before Code Execution


Post Code Execution



using System;
using System.Globalization;
using System.Data;
using System.IO;
using System.Xml;
namespace ExampleCode
{
    public class ExampleCode
    {
        static void Main()
        {

            //Open XML
            XmlDocument xmlPreCountFileData = new XmlDocument();
            xmlPreCountFileData.Load("E:\\abc.xml");
            XmlElement elmXML = xmlPreCountFileData.CreateElement("Node");

            //Append Node
            //Append Existing XML Node
            string xmlDataElement = @"<A>40</A>";

            elmXML.InnerXml = xmlDataElement;
            xmlPreCountFileData.DocumentElement.AppendChild(elmXML);
            xmlPreCountFileData.Save("E:\\abc.xml");
            Console.ReadLine();
        }
    }
}



Tip #3 - Thread Enhancements in .NET 4.0

Threading made easy in .NET 4.0
C# Mulththreading Improvements in .NET 4.0
.NET 4.0 and System.Threading.Tasks


Happy Learning!!!