About Ali Khalid

This author has not yet filled in any details.
So far Ali Khalid has created 181 blog entries.

The power of goal setting

By | July 21st, 2018|daily post|

The power of writing your goals

I don’t know why, but it certainly is more powerful than most think

I read the concept the first time from Brian Tracey’s book “The miracle of self-discipline”

According to him, goal setting is the best part of his trainings people come up to him and talk about how it transformed them

From my personal experience, writing goals daily has been a game changer for me too

It has helped me stay true to my purpose, meet with awesome people and open doors I never knew existed

So here’s my goal setting ritual:

1. Anything I want to implement in my life, or goals I want to achieve, I write an affirmation for them
2. That builds my latest list of affirmations
3. First thing in the morning, I write my affirmations

And that’s it!

Try it out and let me know!

For more reading, audio book link :

This will take time. So, “TRUST THE PROCESS”.


Programming for testers

By | July 20th, 2018|daily post|

For those starting from scratch, here are my two cents

Writing code is not that hard, but being good at it certainly is

IME, folks starting on the wrong foot struggle for a very long time

Having the aptitude of problem solving and thinking like a machine

Coupled with the right attitude towards the problem solving process makes all the difference

More on that here:

Automation logs.

By | July 19th, 2018|daily post|

Did I ever mention I’m allergic to messy code?

There’s something I hate even more, horrible automation logs

Often I’ve seen automation logs / results are so complex and very hard to navigate

The only thing you might learn is how many tests passed or failed and that’s about it

I design my logs to be like an airplane black box

If any of my scripts go down, I want ALL the information I need to figure out what happened

AND the log has to be perfectly readable by ANYONE in the team

BTW, that’s how the first F-16 was designed, they didn’t start with what they CAN build, rather what fighter pilot’s dream features were

To read more on how to build a great test log:
#QsDaily #automation #TestResults



How I built a test harness

By | July 18th, 2018|daily post|

How I decided to build a test harness:

Angular 4 + Spring Boots + SQL, (and oh my it is so much fun!)

It could have been done with using a front interface like Jenkins

The backend with some simple scripts in restAssured and plain Java, but would not have been scalable

Keeping good design practices of maintainability, scalability, reusability and robustness, we had to take the tougher route

When deciding on how to solve the problem, don’t look at the effort needed today, the solution should be scalable enough for years to come

I always quote to my team, don’t program thinking of today, rather a 3rd person reading it a year from now

#QsDaily #TestHarness

Deciding what to automate

By | July 17th, 2018|daily post|

Deciding what to automate – part 2

Once you what to test, find the subset of what to automate

Again everything you want to ‘test’ cannot be ‘checked’

It’s best to be smart about what should be automated

While the most common answer to this question is ‘automate what we can’

There’s a fundamental flaw in that, not necessarily all we CAN automate is WORTH automating

If a feature is hardly changed and used, automation efforts are best spent elsewhere

Conversely, if a certain feature is time consuming to test and has to be done every time, I’d rather automate that feature.

More factors IMHO to help deciding what to automate here:

Deciding what to test

By | July 16th, 2018|daily post|

Deciding what to automate – part 1

Find out what to test first..

Often the discussion about what to automate ends with ‘let’s automate everything’…

Around a year into it the team realizes we might never be able to automate everything

Plus the maintenance cost turns out to be much higher than expected

Eventually not seeing enough progress with automation

While this scenario is the result of multiple mistakes along the way,

The first IMHO is not taking the time to formulate a testing strategy first

We can NEVER test everything, let alone automate it

#QsDaily #Automation

Find out what to test first, more here:

Trust the process

By | July 15th, 2018|daily post|

For my tester friends out there struggling and not seeing results, be it learning automation, learning technology or whatever

“Trust the process” – @John Somnez

The results are not up to us. All we have to think about is the little decisions we make in our daily lives

Every person intends to do great things, but then why only a few make it?

The answer I like the most: “little decisions we make every day without even thinking that is a decision”

A lot of small sloppy decisions every day can take you far off course without us even realizing

So trust the process, have faith, in time it will pay off

Every overnight success has a decade long struggle behind it. Little decisions matter. Hang in there..



Parameterizing Jenkins jobs

By | July 12th, 2018|daily post|

Parameterizing Jenkins jobs

If you’re not doing it, or having problems with it read on.

Design every piece of code in or around your automation framework keeping maintainability, reusability, scalability and robustness in mind (Pillars of framework design)

In that spirit your Jenkins job should be parameterized

This will allow you to select different AUT versions, browsers, tests to run from Jenkins itself

Even if you don’t need it right now, you SHOULD in the future

In case your automation tool is having problems reading parameters from Jenkins

You can export them into different file formats (JSON, XML etc.) and read those settings on project initialization of the automation tool

Easier said than done, but with patience and trial and error, you’ll get there

#QsDaily #Jenkins

Checking DB connection

By | July 9th, 2018|daily post|

Problem checking connection to your Database?

I recently learned this trick using Universal Data Link files

There are many methods out there, sometimes could be confusing

For windows users I stumbled upon this neat trick:

– Create a new file with the extension “*.UDL”
– Open the file and enter data:

1. Enter the server IP (Sometimes machine names create problems)
2. Add database username and password
3. Select DB name from the list (should show all the DBs hosted on the machine with IP from step 1)
4. Press Test Connection

and Wala.. you can get your answer

Your Spring Boots app might not be connecting to your DB because of using the machine name instead of the IP as well..

For more details:

#QsDaily #database

Learning Automation

By | July 8th, 2018|daily post|

How to learn automation?

The biggest problem with this question is, it’s not the right question to ask!

We perceive a tester’s career progresses by starting with ‘manual testing’ to ‘automation’ to ‘management’

I don’t think that’s an accurate picture

Mostly we start of in testing as ‘Non-Technical’ (unfortunately)

We deliver greater value once we become ‘Technical’ and learn how the technology stack works

And then when leadership skills are acquired, that gives another boost to our impact, hence a higher pay

It’s not about just automation, it’s about having the capability to create a greater impact on the business’s bottom line

#QsDaily #TestersGoingTechnical #TestAutomation