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)