"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!!!