About Ali Khalid

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

Develop your API Contracts

By | January 22nd, 2020|daily post|

I know implementing the automation pyramid is hard,

And to a large extend, is not a problem with just testing practices either..

I’ve seen teams where products don’t have contracts written up properly (API contracts / JSON schemas)

Back end services are not designed for anyone other than the developer to consume..

Such places do make it hard to implement the pyramid, i.e. 70 – 80% tests at the back end,

The solution: The whole team work on developing those contracts, and then write tests for those contracts..

Easier said than done, but until you don’t have that, testing isn’t going anywhere.

#QsDaily #Automation #Testing #ApiAutomation #AutomationPyramid

Change is the only constant

By | January 21st, 2020|Uncategorized|

The only constant is change, especially in tech, regardless what role you play.

Similarly, dear testers, we need to change and adapt.

Change is uncomfortable and scary at best, but not a good enough reason not to change.

There is no choice but to work on ourselves “throughout our lives”! Doesn’t matter what occupation you are in.

The next time you are exposed to a new technology, language, testing technique, lean ways of working, don’t hold back.

Pushing yourself never comes naturally to ANYONE

I still ‘train’ my mind to push through my fears. And when I stop training it, I start to give into fear.

To train your mind and subconscious, one ritual can be to listen to motivational content, these days it’s Les Brown for me (linking sample video below).

#QsDaily #TechnologicalExcellence #Motivation #TestersGoingTechnical

Do NOT Automate regression 100%

By | January 20th, 2020|daily post|

Automation regression percentage – The metric I hate the most..

Many times the only use of this metric is to provide false assurance that we are efficient in testing.

And the ultimate goal soon becomes to automate regression 100%, which is a bad idea,

And automating just UI tests makes it even worse.

More on why not to use it and what should be done in the linked video

#RedefiningSoftwareQuality #Automation #RegressionTesting #KPIs

Data quality quick list

By | January 19th, 2020|daily post|

Data quality is one of the biggest problems with data science projects,

I’ll be talking about these at the #AutomationGuild, here’s a quick list:

– Accuracy. Is the data accurate in the context to be used

– Validity. Is the data fresh enough, still valid?

– Consistency. Data from different sources / time frames matches

– Completeness. No parts of data are truncated / missing

– Uniqueness. Enough data to uniquely identify records

– Timeliness. Data being collected at the right time & processed in a timely fashion (efficient enough)

More on the conference here:

#QsDaily #BigData #DataScience #Testing

Test data and masking

By | January 18th, 2020|daily post|

For large enterprises with many interconnected applications, generating test data can be a challenge.

Even more so for big data projects, which is where masking comes in..

Take a copy of production DB from different products around the same timeline and mask the data for GDPR compliance.

Surely easier said than done, but can be very effective.

IMHO three main requirements to build this:

1. A quick guideline to identify what data will be classified as ‘sensitive’ and ensure it’s GDPR compliant.

2. A masking platform which masks value the same way across, helping with consistent data

3. Creation and usage of test environments is efficient and fit for purpose

#RedefiningSoftwareQuality #TestData #Automation

Using mocks

By | January 16th, 2020|daily post|

One of the main reasons for flakiness in automation is test data.

Therefore use mocks to run scripts executing in the CI pipeline.

For most folks, automation scripts are executed only in nightly runs with data created on the fly.

And unfortunately these tests are mostly UI tests, another blunder.

I gave a talk yesterday in which I said – 50% of your automation scripts should run in the CI pipeline triggered on each pull request.

And all these tests should use mocks instead of real data from downstream systems / components.

(I hope it’s needless these tests are on the services / API layer..)

So don’t forget your mocks when automating.

#RedefiningSoftwareQuality #QualityTransformation #Automation

Knowing isn’t enough to get paid well

By | January 13th, 2020|Uncategorized|

“If I know my stuff, my employer will pay me well” that’s a lie we’re taught from childhood.

And here’s my take on this:

The industry is not there to fulfill your needs, it’s there to protect the entity’s interests.

If you want to get paid, knowing your stuff is a given,

Then there’s a heck lot more to do before you get paid well.

As engineers mostly we’re oblivious of social skills, and that’s the next big piece.

Learning how to deliver value and sell it appropriately

A few people I follow who have great content around this:

Seth Godin

Grant Cardone


Thank you Umair Sheikh for inspiring this post.

How to become a well paid tester?

By | January 12th, 2020|daily post|

How to become a ‘well paid’ tester?

I call it “The next generation” tester and here are the main skills…

Quality Engineering
– Agile practices and DevOps culture
– Ability to match testing goals with product’s goals
– Figuring out KPIs / OKRs which help ‘deliver value’
– Enterprise & Vendor management

– Risk based testing
– Defining a practical, efficient and effective test strategy
– BDD practices
– Context driven testing

Automation in test
– Algorithm design aptitude and programming proficiency
– Automation framework design
– API / UI / Mobile Automation
– OAT (Performance and security basics)

Continuous Integration
– Branching & merging
– CI tools (Jenkins / M. Azure)
– Provisioning environments Containers / VM / Cloud)

Technical Leadership- Technical acumen
– Team leadership
– Collaborating with architects- Thought leadership

Details of each in the linked article

#RedefiningSoftwareQuality #NextGenerationTester #TestersGoingTechnical


The Next Generation Tester Skill Set



DevOps isn’t just sexy

By | January 11th, 2020|daily post|

DevOps sounds sexy, but it’s not a piece of cake.

And certainly is not just about Jenkins..

It’s foremost a mind set to deliver at speed and ONLY WHAT’S VALUABLE.

This prioritization of what’s valuable is so under-rated, and one of the biggest cause of failure.

Working on anything that’s not priority is ‘waste’, and waste is what kills it all.

I talk about this briefly in the linked article

Picture – Slide from @Jez Humble workshop showing the ‘cost of delay’ of different features in a specific case study.  (It’s it ridiculous how much we would waste trying to implement all features there!)

#RedefiningSoftwareQuality #EliminateWaste #DevOps #Lean

My key learnings in 2019

Building Psychological Safety

By | January 9th, 2020|daily post|

I’ve been reading about psychological safety for while, particularly, how you implement it in a team.

Imagine my luck, had the opportunity to ask that question from @Jez Humber in a workshop..

What I understood mainly was: The leader’s behavior builds or destroys it.

If the leader punishes people for failing or calling out what they feel is wrong, then no matter what, the culture goes down the drain

As an example, he talked about Etsy where a person on the team broke production deployment while following the process, the person was given an ‘award’ for highlighting the problem instead of being penalized.

Link to post here:

If you want your team to perform, build psychological safety.

To build that, the leaders must be seen as supportive to failures, whistleblowers, people who highlight problems instead of shooting the messenger.

#RSQ #PsychologicalSafety #leadership #HighPerformingTeams