Deprecated: Function create_function() is deprecated in /home/qualit96/public_html/wp-content/plugins/revslider/includes/framework/functions-wordpress.class.php on line 258
Ali Khalid, Author at Quality Spectrum - Page 21 of 43

alikhalid

About Ali Khalid

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

Object life cycle – Waits

By |2018-10-16T19:51:51+05:00October 16th, 2018|daily post|

The object life cycle and waits

Firstly, here’s what I call the ‘object life cycle’:

In UI automation objects we use have a specific pattern that keeps repeating.

These steps are 1) Wait for object, 2) Find object, 3 Perform action on object – Repeat.

I call this the object life cycle, and it is the lifeline for a UI automation framework.

The first step wait is – Wait before ‘finding’ EVERY object.

Web communication is asynchronous, which means it all depends on the timings of user actions and responses,

That means, we can never be sure of timings for any interaction.

Therefore, according to Murphy’s law, ‘What can go wrong will go wrong’, prepare for the worst.

In our context, the object we want to work with will NOT be there, so be prepared for it.

BTW – Adding a 5 second delay (static delay) is BAD, because it’s always going to be less than needed or more than needed

Delays have to be dynamic (based on a condition), to wait for the precise time you want them to.

#QsDaily #automation #framework

What is your management style

By |2018-10-15T19:01:12+05:00October 15th, 2018|daily post|

I was asked a very interesting question today, ‘what is your management style?’

While I could go the leadership route, there is something else also equally valuable..

Each person is knowingly (or unknowingly) working towards some goal.

It’s like every object on earth is absorbing and exerting energy in some shape or form.

So when we say a team is not effective, it’s not the ‘absence’ of energy,

It’s more about energies being dispersed in different directions instead of one direction!

Just like the difference between an ‘unmagnetized’ object and a ‘magentized’ object (or a magnet)

When not magnetized, the atoms are not exerting force in the same direction giving a net effect of zero.

When the object is ‘magnetized’, as per ‘domain theory’ all atoms exert force in one specific direction, creating the desired net effect of pulling objects.

Bottom line, ‘align the energies’ of the team members to get the desired results.

The goals should be clear and they should have stake in achieving the goals.

I know it’s easier said than done, but IMHO ultimately will pay off many times more.

#QsDaily #leadership #teammanagement

Importance of encapsulation

By |2018-10-10T19:15:04+05:00October 10th, 2018|daily post|

The importance of encapsulation / wrapper layer

A question I asked the participants in last week’s training:

Usually encapsulation is understood as a way to hide the implementation details.

While that is true, there are a lot of other great benefits as well.

I learned of these working with Embedded systems and seeing ‘wrapper’ layers implemented.

Just like encapsulation, add your own ‘wrapper’ on top of the library(ies) you want to use.

In trainings and designing frameworks, one of the fundamentals I teach / use is to NEVER use ANY library directly

EVERYTHING used by the POM layer should come from the framework’s own helper library

Which in turn would call any external library / API you want to use.

This way if anything changes / needs to be changed in the way outside libraries are used, the change has to be done in only one method

Also adds portability to your framework, helps a long way in maintainability and scalability of the framework.

#QsDaily #automation #training

Selenium Locator tips

By |2018-10-10T19:14:12+05:00October 8th, 2018|daily post|

Discussed a lot of topics including ‘Advanced Selenium’ locators today

And here are a few tips I gave the class:

Tip 1:

– I always try to find a parent for the area of the page I want to use,
– Then within that area find the exact object I am looking for.
– The parent reduces a lot the possibility of capturing similar elements

Tip 2:

– Test your locators in chrome developer tools first before using them in your code
– Makes debugging a lot easier knowing you are using the right locators.

Image from the class today.

What Automation trainings miss?

By |2018-10-10T19:10:49+05:00October 5th, 2018|daily post|

What most automation trainings are missing?

Explaining the fundamentals, and that’s where I like to start..

Starting with installing the tool is not a great way

With automation the ‘why’ is far more important than the how

Automation done well is time intensive and requires by-in from many departments

Going in for the wrong reason is the main cause of failure

I’ll be talking about this concept a couple of times in different ways over the course of the training

(Image from the previous week sessions)

Spreading knowledge

By |2018-10-02T19:05:54+05:00October 2nd, 2018|daily post|

“The smallest good deed is better than the grandest intention.” John Burroughs

Don’t shy away from spreading knowledge (more in the video – Testing Heroes)

I know how hard it can be to create content in your spare time

After a 9 – 5, spending time creating content without expectation of return is not easy

But the return is always many times more

I felt this very deeply when doing the ‘yearly’ tour of independence hall (PA) last month.

So to those who have something to share, please step up, every good deed counts..

#QsDaily #testing #automation

Web automation training – Pseudo code

By |2018-10-02T19:09:06+05:00October 1st, 2018|daily post|

“Web automation training” and pseudo code – The missing piece of the puzzle

From an automation training session I was conducting last week..

In most automation trainings the course content starts directly from installing the software

While setting up selenium surely is a basic step, but a very important prior step is usually missing

I call this the algorithm design process, where the trainees learn about how to think about algorithms

The human mind works very differently than a machine,

A to-be programmer should train to think in terms of programming blocks

This is where pseudo code comes in.

Image below showing me discussing a game ‘help the robo’ to think in terms of logic building and writing pseudo code

Testing Heroes

By |2018-10-15T20:40:12+05:00September 30th, 2018|daily post, Uncategorized|

Drivers of the testing community ?

Are (IMHO) the testing heroes..

In my recent visit to Philadelphia I realized something new, importance of heroes

Every idea, change needs a change agent, a leader or group of leaders

Without those leaders the movement / change dies

Our testing community is no different, our thought leaders (heroes) have been one of the main cause of evolution in the field

Linked video in the comments has a few of my thoughts around why they are important..

Exploring TestProject

By |2018-10-02T19:11:02+05:00September 29th, 2018|daily post|

I recently explored TestProject

And here’s my experience:

Every tool focuses to solve certain problems in automation

While the scope can be wider, most tools have a specific few problems they are really focusing on

With TestProject, a platform for developing automation scripts, one problem is setup time

They have tried to make the setup for automation very easy and quick

While there are other features of the tool as well, this is one which might benefit the most for beginner users.

More in the article linked in comments.

Foundation of relationships

By |2018-10-02T19:12:36+05:00September 28th, 2018|daily post|

The foundation of relationships

Building trust..

In some industries measuring success is very easy

The ‘work done’ is quantifiable, which makes managing the job easier

In other cases, like the software industry, most of the work we (are supposed to) do is intellectual

Quantifying the ‘work done’ in such cases is quite bewildering and confusing

While the end success will be measured in dollars and cents, tying every activity to those sales is sometimes impossible

While as a community we are trying to find great measures to quantify ‘work done’, trust will remain the most valuable currency

By the way, these measures too eventually generate trust, which is what the economic system is built on

A brand can charge many times more for the same product just because of trust

And many of us would gladly pay the extra price

Learn how to build ‘genuine’ trust, this would ensure long lasting success

Go to Top