Thursday, 28 February 2019

Selenium - Automation in Testing - Learning

To enable fast CI/CD


Always have in mind that for any automation in testing deliverable, the deliverable should be usable at any point of time.  Our framework should be ready for repeatable testing.

Automate the below steps as much as for fast/repeatable usage to enable fast CI/CD


  • Test Environment Setup
  • Test Setup
  • Pre-test Prediction/readiness
  • Pre-test Inspection/assertion
  • Action
  • Post-test Inspection/readiness/assertion
  • Test Teardown
  • Test Environment Teardown

Selenium - Automation in Testing

Selenium

As per www.seleniumhq.org, 
Selenium automates browsers. That's it! What you do with that power is entirely up to you. Primarily, it is for automating web applications for testing purposes, but is certainly not limited to just that. Boring web-based administration tasks can (and should!) be automated as well.
Selenium has the support of some of the largest browser vendors who have taken (or are taking) steps to make Selenium a native part of their browser. It is also the core technology in countless other browser automation tools, APIs and frameworks.

How Selenium works?

To remember
  • Webdriver
  • Language bindings - Java, Python, C# etc.
  • API/SPI - Selenium Special program interface (DOM, Find Elements etc.)
  • Through JSON web driver communication happens(REST)  -  Get, Post

Hands on Selenium

For step by step details, refer this article from saucelabs

Suggested good practices for kick-starting the selenium scripting

  • Solve the maven dependency tree as the first stop with respect to testNG, Apache POI, extent reports, jcommander, maven-compiler-plugin, 
  • Test Framework inside ***src\main\java\***
  • Test Scripts inside ***src\test\java\***
  • Test Data etc. inside ***src\test\resources\***
  • Understand maven clean, install, test
  • be ready for an automated environment setup using AutoIT
  • Ensure browser drivers are in the right folder

Tuesday, 19 February 2019

Works well in my machine


Ministry of testing recently tweeted to "Write a sad test story in 3 words..."

One of the tweet was "Works for me" which a tester hears often when the defect is reproducible in the Developer's environment or Team Dev Environment.

To explore and improve the perspective on Product environment while testing, try the mnemonic

CIDTESTD (Kid Tested)
Project Environment Heuristics by James Bach
Customers, Information, Developer Relations, Team, Equipment & Tools, Schedule, Test Items, Deliverables

https://www.developsense.com/articles/2005-09-StayingOnTheCriticalPath.pdf

For Example -

I had recently installed Eclipse, when I started the software, Eclipse exited with code of 13 and found that the reason is because of different versions
  • OS (32 or 64 bit)
  • Java (32 or 64 bit)


It is better to understand the product environment matrix and plan for the test environment.



Monday, 18 February 2019

Learning Git


After I had completed the PGBABI in Great Lakes, i had practicing the ML concepts by redoing kaggle kernels on various areas (Regression techniques)



Many of the kaggle kernels are maintained over github and i was not able to comfortably use github due to lack of hands on knowledge, though i have used Rational ClearCase many years back.

When i joined the Open Machine Learning course @ https://mlcourse.ai/, i thought i should learn github as the assignments are maintained in github.



Just to give myself an easy headstart, i took up an udemy course Git by Example by Jose Salvatierra and then ran through some of the articles to reinforce my learning.

https://medium.com/@stiipe/git-commands-that-every-software-tester-should-know-59c74cfd736f

https://www.infoq.com/news/2017/07/github-testers

https://www.future-processing.pl/blog/testingcup/

https://www.atlassian.com/git/tutorials/setting-up-a-repository

http://rogerdudler.github.io/git-guide/

Recommend all testers to learn a version control system and maintain your personal portfolio projects under version control(local/remote)



Friday, 5 July 2013

Is this a defect?

Is this defect?  When i opened FB just now, i witnessed this behavior.

What can be a reason for this behavior?  Have to analyse !!

This is my Environment.
  • Web Browser - Chrome 27.0.1453.116
  • Operating System - Microsoft Windows Vista
  • Screen Resolution - 1280 x 800
  • Browser Size - 1280 x 642
  • Javascript - Enabled
  • Flash Version - 11.7.700
  • Colour Depth - 32 bit

Now, How to get the above details in an easy way.  Just open www.supportdetails.net in your browser.

Thursday, 4 July 2013

Exploratory Testing – Learner’s Series -1

What is Exploratory Testing??


It is Quick Loop of “What You Learn influences what you Test & What You Test feeds your Learning

Exploratory Testing can be done with detailed analysis which drives the testing in a structured way and in real time we learn about what we test.

Let’s take a problem/puzzle (Puzzle 1) to improve our Exploratory Testing skills.

Puzzle

 Puzzle 1 - 

When i played around with the puzzle for the very first time, i could observe (I missed important points too)

Puzzle Elements
  • Yellow Button, 4 Blue Buttons, Vertical Transparent Button, Question mark & Drum at the Right Hand Side, 1 Red & Blue button in the Horizontal lines
  • Right click on the puzzle, we can understand that it is a Flash app
  • Zooming is possible, Quality can be modified (in Chrome), Result of Refresh

Initial Observation

  1. Yellow button just moves red button 1 step and brings back to original position,
  2. Red button jumps in equal steps in the horizontal meter irrespective of  vertical meter button position,
  3.  Red button by any way does not reach the end in its horizontal meter,
  4. Vertical meter's button position influences blue button's distance movement(at the top, makes jump twice than its previous step)  When in top blue button moves to end of its meter
  5. Blue vertical button pressing direction influences the blue horizontal button's movement, down to up or up to down


Analysis

When you are having a problem in your hand(while testing), we need to
  • Analyse the Default position
  • Identify the elements present in the problem
  • Observe, Analyze, Change One factor at a time(OFAT) on the problem
  • Observe, Analyze, Change Multi factor at a time(MFAT) on the problem
  • Check whether it is possible to get some Clues on the problem from different sources?
  • Check whether there is a Consistency in behavior?

You might need to take screenshots, Video, save logs, collect environment details etc for your bug advocacy.

Observations

When testing, we might need to

  • Take Screenshot of the problem(if possible & needed)
  • Observe the elements in your problem(this is the structure)
  • Press buttons one by one understand how they work(Take screen shots or Video)
  • Analyze whether different buttons have relationship between them or the order of button press influence the result.
  • Look for clues – Explore the Question mark  & read through, Clues are helpful in jump-starting our testing or improving our understanding
  • Check whether the operation is same across different browsers?
  • Disable Flash & check how the puzzle is displayed?  Are you observing Error Handling?? Refresh the page & what you observe?
  • Give a early heads-up to your stake holders to check whether you are going in the right direction
  • Check whether keeping idle of the operations influences or affects the puzzle results?
  • Check whether the puzzle can be influenced by Key board inputs?

Whether the points above changed your perception of taking your first step when given a problem?

Let’s Explore & Learn.

Happy Testing!!!!!!!!!!

Reference: -

Wednesday, 3 July 2013

Cross Browser Testing - Basics - Learner's Series - 5

Cross Browser Testing (Checking) Tools

Depending on the project context, you might want consider these tools for BCT.

·         BrowserShots
·         Adobe Browser lab
·         Browsera
·         Crossbrowsertesting
·         Spoon
·         Browerstack
·         Browsercam

Some of these tools check compatibility by taking & comparing screenshots of the web pages displayed across different browser/OS combinations.(Literally a Cross browser Testing as a Service)

For more details on, how the individual tools work, please refer their website or contact their customer support.

In some project environments, the stakeholders might not be interested in exposing their web pages to external services due to various business or environment factors. 

Just a few examples – Pros & cons of different tools can be analysed(in detail) based on your project context)

v  Home grown Automation Suite for BCT
Example –
Selenium Grid to drive different browser OS combinations in parallel
Automation Framework to run across different web pages based on scenarios and comparing the screenshots or working through the browser’s DOM regarding placements of different GUI elements and comparing their placements with other browsers.

·         Tricentis Tosca Cross Browser Testing (http://www.tricentis.com/en/tosca/x-browser)

Test build Scope

Depending on your Project context & Development model (waterfall, Agile), your Execution build scope can be planned.
Example: -
For your Execution Scope for BCT of your application your scope can be planned something like this,

Browser
Priority
Build 1++
Build 2
Build 3
IE 8
High
Functional (50% of Progression features )and the relevant user experience
Functional (Remaining 50% of Progression features )and the relevant user experience
Bug Testing
Firefox 11, 12
IE 9
Safari 5
Medium

High Risk End to End (E2E) Scenarios, Part of user documentation,  Data Management, Configuration, User Management, Testability  & Pages Covering different Page Templates

Bug Testing
Chrome 18
Firefox 3.x
Low
High Risk E2E Scenarios, Data Handling, User Management & Pages covering different Page Templates

Bug Testing
Chrome 12
Firefox 4.x
Low
E2E Scenarios & Pages covering different Page Templates

Bug Testing

++ - Depending on the Project context,  build scope might include Regression Test cases, lesser builds, more Sprints etc.

References

http://mattarcherblog.wordpress.com/2011/11/08/risk-based-cross-browser-testing-with-scrum/