There will always be a job for you , if,

Stop sweating over whether <insert latest tech trend> will take your job away, rather focus on getting better @ Learning new tools and practices with curiosity Putting Team outcomes before individual outcomes Sharing your knowledge Improving your facilitation skills Improving your public speaking Learning to build persuasive  business cases Writing code every day Volunteering in … Continue reading There will always be a job for you , if,

Failure is good, it is an actual option, take it

  Since childhood (or the time when we were all artists) , we have been programmed to perceive failure as a non-viable option. Something that needs to be avoided , dreaded and is socially unacceptable "If you fail at <x> exam, you will end up being a failure in life" , constraints like this are … Continue reading Failure is good, it is an actual option, take it

Testing != Automation

Automation is not the goal . The goal(s) is to - Make humans effective at the craft of discovering,communicating and advocating risks to user experience,commercial reputation and utility of what we ship. Keep feedback loops to humans as short as possible Provide information to humans that is reliable and consistent( to answer the question..."if we … Continue reading Testing != Automation

Performing sorting on sub strings in Python 3.x using “key” parameter

sorted() and list.sort() are very useful inbuilt Python functions . They get even more powerful with the "key" parameter The key parameter basically allows us to call either another function or some logic, the outcome of which forms the basis of our sorting. The return value of the key parameter will be used to decide … Continue reading Performing sorting on sub strings in Python 3.x using “key” parameter

The flexi-ways of asserting with Cypress.io

  One the many joys of working with Cypress is the variety of support for various assertion methodologies. What is even more powerful is that they can be chained at the end of core Cypress API commands like cy.get Here are coupe of examples that I put into practice recently. JQuery based https://gist.github.com/sunjeet-khokhar/7f4affc12bc984161e826dd1c02ee435 2. BDD … Continue reading The flexi-ways of asserting with Cypress.io

Basic refactoring to use PageObjects with Appium (using .NET)

What is PageObject model(POM) ? POM is a technique to hide some of the details of interacting with Web & Mobile elements, so that writing tests and reading code is easier. Here is a good starter resource for understanding POM for Appium - https://blog.testproject.io/2017/07/16/page-object-model/ POM in action -  I want to use this blog post to … Continue reading Basic refactoring to use PageObjects with Appium (using .NET)

Real device testing with TestObject,Appium and C#

TestObject , an offering by Sauce Labs provides cloud testing service with real devices. I recently did a POC with TestObject using C# . The tests were run using NUnit. Step 1:  Sign up Sign up for a free TestObject account  Step 2:  Upload app Upload the .apk/.ipa file for app under test . I … Continue reading Real device testing with TestObject,Appium and C#

Self assessment skills matrix for a Testing practice

During my stint as a Test Practice Lead last year, one of the key strategic initiative that I created and led was to assess and uplift skills and capability of the whole test practice. The process that I employed to deliver on that initiative was - Create a framework for Testers in the practice to … Continue reading Self assessment skills matrix for a Testing practice

Fiddling with Appium Desktop – initial learning and gotchas

What is Appium Desktop ? Launched about an year ago, Appium desktop is a desktop app that provides a GUI to run the Appium server and (much more importantly) offers a GUI capability to inspect apps under test (locally and remotely) Through this post I will share my experience with Appium desktop installation and launch … Continue reading Fiddling with Appium Desktop – initial learning and gotchas