Deprecated: Function create_function() is deprecated in /home/qualit96/public_html/wp-content/plugins/revslider/includes/framework/functions-wordpress.class.php on line 258
daily post Archives - Page 21 of 39 - Quality Spectrum

daily post

Strongly typed vs loosely types

By |2018-10-02T19:20:10+05:00September 23rd, 2018|daily post|

Strongly typed vs loosely typed languages

What is it and what’s the difference

Some programming languages have more checks at the compile time (while building the code), and have checks on method calling, data types, return types and so on

In short you cannot ‘loosely’ use variable types and change them on the go

Examples of such languages would be Java and C#, each variable must be declared with a specific datatype

The opposite off course is loosely typed, where there are no such checks on the compile time

A major reason for that is some languages don’t have to be ‘compiled’ to build code

Such an example would be JavaScript, these languages are called ‘interpreted’ languages

In JavaScript’s example, it’s code is mostly used in browsers, and that’s one of the reasons why some websites look different

They can ‘interpret’ the same JavaScript code differently.

So, mostly ‘compile time’ languages (e.g. Java, C#..) would be ‘Strongly typed’, and ‘interpreted’ languages (e.g. JavaScript) would be ‘loosely’ typed

Never give up

By |2018-10-02T19:21:03+05:00September 22nd, 2018|daily post|

Never give up

You are defeated only when you give up

I always give an example of a little kid and a wrestler

If the kid keeps coming back to fight, no matter what happens, or how long it takes, eventually he will win

Persistence and being tenacious are fine qualities

A quality of ‘Winners’

In the words of the Great Muhammad Ali:

“I don’t count my sit-ups; I only start counting when it starts hurting because they’re the only ones that count.”

As he said, ‘float like a butterfly and sting like a bee’

What is programming

By |2018-10-02T19:25:49+05:00September 21st, 2018|daily post|

While learning automation, I feel it’s important to learn:

What is programming?

While there are many metaphors people give, most cannot fit 100%

I am too confused (was confused) how to define programming

A LOT of people just run away from learning to code

One reason is, IMHO, we don’t necessarily teach it in the best way

And a good place to start it, what is programming?

The best answer I found is:

It’s like writing, you take an idea in your head and you write it down

Similarly, in programming you think of an algorithm and write it down

If we broaden this definition, I even call playing Real Time Strategy games ‘programming’

Sure, you’re not writing code, but you are thinking of an ‘algorithm’ to beat another person or ‘algorithm’ (Computer as a player)

A link to a GREAT video I watched on the subject (added in the links)

Automation batch issues

By |2018-10-02T19:27:40+05:00September 20th, 2018|daily post|

Automation batch issues

Passes individually but fails in the batch..

This would be an all too common for anyone who has worked in automation

While the reasons for this can be ‘infinite’, here are some common ones I’ve observed on top of my head:

– Dependent test data. When running individually no other script can change the data, in a batch run that is a possibility

– Tool / browser reset. If the previous script failed, the browser was still in error state and the next script starts executing, resulting in failure

– Delay. Browser response time can change when running in a batch, must have dynamic delays before interacting with EVERY object

– Application down. While this might seem a remote possibility, in some cases this does happen in very sbtle ways.

Any other ‘very common’ factor you have noticed?

Standardized platforms for evolution

By |2018-09-16T19:34:33+05:00September 16th, 2018|daily post|

A key ingredient in my observation for evolution in technology:

A standard platform, here’s why

When a new technology emerges, it takes more than a few people to evolve it

A very large group of people collectively working with it helps in pushing boundaries

Take the PC for example, having a standardized OS on PC (Windows) was one of the main causes that fueled advancement in software development

On the other and, embedded devices (IoT) has been out there around since the PC, but we are far behind there

Embedded platforms were very fragmented and challenging to develop, therefore layers of abstraction were not built there as rapidly

Only in recent years we have seen things like Raspberry pi and so on

The same would go for automation, having a standard platform and building layers of abstraction on top of it would make the difference

The same way standardized JavaScript execution on all browsers has fueled front end platforms like Angular, Sencha and so on.

 

Thoughts?

 

#QsDaily #platforms #automation

Community building

By |2018-09-16T13:59:46+05:00September 15th, 2018|daily post|

Community building, the reason why humanity survived

And a core factor in any idea’s success.

One person alone is weak and fragile compared to other species walking the earth

But one of the reason why we went from the bottom of the food chain to the top is community building

For any idea to gain success, there must be a community around it.

And make no mistake, there is an idea / story behind everything,

Every product, every service and every person is telling a story (weather they know it or not)

So, if you are building a product, build a ‘tribe’ around the idea your product serves

Or whatever you are willing to accomplish, the idea should be worthwhile for at least a few select people

Then build a tribe around it.

Reference “Tribe” by Seth Godin

#QsDaily #community #tribe

Define Leadership

By |2018-09-14T19:05:39+05:00September 14th, 2018|daily post|

My favorite interview question and answer:

Q: “How do you define leadership”? Ans:

“Leading by example”

This was asked to me when I was interviewing for my current role

I always felt a leader was the one who sacrificed his wishes and wants for his/her tribe

Probably why Simon Sinek’s book: “Leaders eat last” resonated with me so much

I was reminded of this answer yesterday when Tom Bilyeu asked LeVar Burton the same question,

His answer: the EXACT same words I gave my ‘to be’ manager 4 years ago ‘Leading by example’

And BTW, you don’t need to have a ‘lead’/’manager’ title to be a leader

‘Genuinely’ help solve people’s problems, the law of reciprocity will make you a leader

Most leaders in history were a ‘leader’ long before they ever got the ‘title’.

#QsDaily #leadership #interviews #LeadByExample #inspiration #hiring

 

LeVar Burton video:

 

Learning automation steps

By |2018-09-13T19:50:40+05:00September 13th, 2018|daily post|

Step 1: Install Selenium and implement POM? ABSOLUTELY NOT..

Step 1: Un-learn the crap which is holding you back

Step 2: Learn how software works

Step 3: Lean how to develop algorithms

Step 4: Understand what automation’s goal is and what to achieve from it

Step 5: Install the tool, libraries etc..

Step 6: Take algorithms from Pseudo code to actual running code

Step 7: Develop a simple and messy framework

Step 8: Learn programming best practices

Step 9: Revamp the framework and script a neat one

I know this might be longer and not as easy, but IMHO the right way to do it

I’d rather spend TWICE the time on WHY than on HOW

#QsDaily #automation #learning

Automation supporting different application versions

By |2018-09-13T19:36:42+05:00September 12th, 2018|daily post|

How to manage your code for different UI?

Our automation is reaching yet another level of complexity hence the question..

Elaborating the question:

If we have an application with different versions we support

And there are UI differences across versions (off course), which means different automation code needed,

How to structure your automation code base?

Now off course it would depend on the kind of changes we are seeing.

Here are a few strategies I’ve used / seen / read aboout:

1. Automation code residing alongside production code, in the same repo (@Angie Jones).
– Sounds awesome, never used it. But Angie says it works so I will surely take her word for it!

2. Separate code branches for different versions.
– E.g. for product version 1.0, 2.0 & 3.0, automation code base with a trunk and branches: 1.0, 2.0 and 3.0
– I’ve seen this for prod code, it can get messy, but works

3. Conditions / variables within same branch
– Have conditions within the framework, data selection and POM classes to run based on app version
– I don’t like this. should work in few cases. But things can get out of control fairly quickly and become WAY complex.

Any other ideas you might have?

#QsDaily #automation #branching

Adding test data choices and our journey

By |2018-09-13T19:41:09+05:00September 11th, 2018|daily post|

From add on the fly, to using random data to saving seed data in DB (Link to the story in first comment)

After using seed data which resides in a baseline DB and restoring it when needed,

Now we’ve moved on to the next problem:

How to add data to ‘Six’ baselines, that’s right, one test which has to run on 6 different environments needs the same seed data

We have been adding seed data manually, but for 6 it’s not going to be easy

Since it does not have to be created just 6 times, but every time before we create the seed data on baseline, we test it by creating on the ‘restoring’ DB,

So the number jumps to ’12’ times

The few options we talked about to help with this:
– Use UI scripts to create seed data (for data which is simple)
– Improve the API automation and use it to create seed data, just like UI above
– Finally (which I don’t want to do AT ALL), create data to the DB directly

The last option has many problems, schema across versions is not the same, data creation is not the same, existing data might not be exactly same either..

The brainstorming is going on, but an interesting challenge to have.

Thoughts?

#QsDaily #Automation #testdata

Go to Top