Sunday, June 26, 2022

Test automation - the herd mentality.

When I started my life in the Indian software industry it was a relatively less crowded, easy affair to be born as a QE. Although I was born as a C++\MFC developer, I could see that QE folks were relatively less as compared to devs. Some companies even did not believe that software testing was a separate desired skill in itself, but that is a different discussion topic.

However, as the industry grew so did the QE fraternity. And now we are in 2022 where software testers are abundant in number, may be the ratio of DEV:TEST is skewed. We keep on hitting the posts very often everywhere that manual testers are not recruited or desired as much as automation testers.

Software testing is not about pointing the mouse and clicking on the UI all day long and filing bugs like login name is exceeding 25 chars etc. It is much more than that. It’s about understating the business use cases and complying to them. It is closer to the end customer.

Identifying test scenarios from a well written product use case document is according to me the most under rated skill. And that is what defines a great QE from an ordinary point-click QE. I have an opinion that this skill needs to be sharpened as equally as devs or automation QEs would sharpen their programming skills. Reading between the lines is of importance here too.

Having started with C++, then moving to Perl, JAVA with a brief stint in Ruby and now Python I am comfortable making the statement that learning the language of your choice is very easy. What you need to learn is the design skills that make you choose subtle language / technology stack features the right way. On the same lines learning to test something is easy – but you need to quickly graduate to the level where developers would consult you before writing any new code / fixing any P0. And that is according to me the “enlightenment” for QEs. And that is exactly what is ignored not only by the QEs themselves but by the management also. Occasionally I have seen some great QE people go through git MRs for every bug they test and try identifying corner cases based on that but that is really rare. It is an exception. And to the other extreme I have seen companies preventing dev code git access to QEs ๐Ÿ˜Š too.

No one wants 100s of manual QEs on board but everyone wants to test their software for sure ๐Ÿ˜Š which is written by 100s of developers with varied cultural, technical and skill backgrounds converging in that product code.

Then why do we ignore manual testing?

Nowadays it has become a status symbol to say we release code to production every s, ms, ns, ps and so we have a cool set of 1bn tests which take few ms to run. So, we do not need a formal manual QE team. But is that the reality? Here is a set of questions every QE manager needs to ask himself or herself before firing the manual QEs and recruiting automation QEs ---

  • 1. How fit are your original manual tests which after product stabilized you have automated as a regression suite?
  • 2. How fit are your dev stories which expose to the QEs what is being implemented and in what business use case?
  • 3. How many times you have encouraged (or set examples to) your manual QE teams to gel with Product teams to establish an air tight process of compliance to business requirements?
  • 4. How many times you have empowered your team to say NO to a feature which is messed up instead of succumbing to sales pressure and releasing it half cooked?

I am not against recruiting automation QEs at all and even I am not against automation. But before developing that (n+1) th fancy automation framework we should be introspecting on some important points as well ---

  • 1. Do your automation engineers understand the product from functional as well as deployment perspective?

a. Are they willing to understand the product by first manually testing it?

  • 2. Are you sure you want to write 1bn selenium tests and then spend hours fixing locator and timing issues just to conclude that you have screwed on RoI front?
  • 3. What is it that you are investing resources into really ---- Developing the automation framework or ensuring quality of the product – under – test?
  • 4. Are your devs writing good unit tests and if yes can you not share the test automation burden with them by simply following the test pyramid.!?                                                               ( https://martinfowler.com/articles/practical-test-pyramid.html )

a. If not, can you not make them aware of the fact that “Quality begins at home”?

  • 5. Before starting to code repetitive manual tests as automation tests have you analyzed how many external interfaces those tests touches upon?

a. If your product talks to external systems frequently then your testing is only automated as much as is the level of end-to-end automation.

  • 6. Lastly, may be apart from the select MAANG and like companies it is important to research and find out how many of the software product companies really certify their production code only and only on the basis of automated tests?!

Not all software products need a new automation framework and not a single automation framework can test all software products. So that tradeoff of when to write a new framework and when to reuse an existing one is crucial!

On a different note – there are companies which do not have separate formal manual and automation QE teams but then those developers are committed and play the role of testers when in need and they code their own tests.

Friday, October 2, 2020

My experiences working in Indian IT for last 24 years.......

DISCLAIMERs - 

D1. Sarcasm fully intended where ever the reader detects it.

D2. Nothing personal (don't get offended) its just so cool to document my journey. 

D3. It's important to note that this post is necessarily in an Indian context. I haven't worked in any non Indian location so that is not in scope.

D4. Each of the underlined points below would emit a certain characteristic signal of its own so if you are in sync with what I mean you will pick it up and harmonise.

I stepped in the Indian IT bandwagon somewhere in August - September 1996. Exactly 2 years after a stint in manufacturing industry as a campus recruit. Back then those were the days of Charles Petzold, Windows, MFC, VS 1.5 etc etc. Times have certainly changed and so has the industry as a whole. But the label "Indian IT" remains the same. Here is a list of top 10 observations-myths-facts-experiences-oneliners... ๐Ÿ˜. They are numbered according to their Abuse-Index (which denotes how many times they were encountered by me). 1 is top most and so on.....

1. Innovation is only for folks at the receiving end ---- Over and over and over I have been hearing one statement each year in the appraisal meetings, You gotta innovate. WTH !!!. Is that so?. 

2. If you don't design an automation framework you don't grow --- ๐Ÿ˜…I had the opportunity to be a software developer only for first 6 years so my major remaining 18 years have been as a QE. And so you will be surprised I have designed 18 frameworks so far to impress my manager(s) each year ๐Ÿ˜. I bet I can give an inferiority complex to many seasoned QE's , devs also for that matter.

3. In a status meeting with the manager if you don't recall what you did last week then its a homicide --- Remember the famous Sully quote? - I've had 40 years in the air but in the end, I'm going to be judged by 208 seconds. So remember no matter what you have done in that week you will be judged in those 60mins meeting ๐Ÿ˜‰.

4.  In a stark contrast with #1 if you think differently in every situation you need a buy in from almost everyone in your hierarchy ---- So manager(s) are gods as you have guessed right. If you don't abide to their godliness you are outcast. If you believe in their godliness then the same you are *incast* ๐Ÿ˜›.

5. You are mature and influencing masses when you talk like a parrot whole day ---- I still don't understand how influencing others affects positively on product quality-my ultimate deliverable at the end of the day. It was however a different thing if I was a sales guy who needs to crack tough deals interacting.

6. Automation of a feature is more important than the feature itself ---- ๐Ÿ˜ฑThe feature is not live or in-dev as yet and instead of chasing the dev team your manager(s) chase you because you haven't automated it in the same sprint. 

7. In India (very specifically) you are a junior until you don't lead a team ---- Desi folks are trained like race horses - run, run faster, run fastest until your lungs can. Barely 4 years after a print("Hello World!") they become managers here. So at the age of 48 when I still am an individual contributor (thankfully) I am still junior, immature, cannot take my own technical decisions, need handholding and most importantly - don't deserve to be paid as much as an MS Excel / PPT trained boss. ๐Ÿ’”๐Ÿ˜† .

8. You join an engineering team - so you are expected to solve their issues which they know but they haven't solved it because they were waiting for you to solve it and make you a hero ---- Go and use Steve Jobs quote all over about hiring smart people. ๐Ÿ˜†

9. Desi's will invariably bully/reprimand/overpower only desis at the end ---- ๐Ÿ˜กBecause desi manager(s) do not have the technical guts/ability/capacity/passion to overpower the actual root cause defaulting non desi folks - given any situation.

10. You are un-ambitious, risk averse, passive if you are happy with whatever existing you have in life because in India every horse has to be a race horse ---- Nothing more to say on that. ๐ŸŽ

There could be many more but these were the ones most hitting me for last 24 years of my Indian IT career. I'd love to pen more experiences but in a different style than this. So stay tuned.....

Friday, March 2, 2012

เค•เคนी Goshti

เค•ाเคนी เค—ोเคท्เคŸी เค•เคงीเคš เคฌเคฆเคฒเคค เคจเคธเคคाเคค.....
เคค्เคฏा เค‰เคจ्เคนाเคณ्เคฏा เคธंเคง्เคฏाเค•ाเคณी เคคू เค˜ाเคคเคฒेเคฒा เคฎोเค—เคฐ्‍เคฏा เคšा เค—เคœเคฐा,
เคคो เค—ाเคฐ เค‰เคธเคšा เคฐเคธ,
เคคी เคฎเคจ्เคคเคฐเคฒेเคฒी เคธंเคง्เคฏाเค•ाเคณ เค†เคฃि เคคी เคฎเคจाเคคเคฒी เคนूเคฐเคนुเคฐ,
เคคुเคฒा เคฆिเคฒेเคฒा เคชเคนिเคฒा เค•เคŸाเค•्เคท,
เคคुเคฒा เคญेเคŸाเคฏเคฒा เคœाเคฃ्เคฏाเคธाเค ी เค•ाเคขเคฒेเคฒे เคฌเคธ เคšे เคคिเค•ीเคŸ,
เค…ंเค—เค ी เค˜ाเคฒเคคाเคจा เคฅเคฐเคฅเคฐเคฃाเคฐा เคคुเคा เคนाเคค,
เคจाเคต เค˜ेเคคाเคจा เค—ाเคฒाเคตเคฐ เค†เคฒेเคฒा เคฒाเคฒ เคฐंเค—,
เคคुเค्เคฏाเคธाเค ी เคจिเคตเคกเคฒेเคฒा เคคो เคฐाเคฃी เค•เคฒเคฐ เคšा เคถाเคฒू,
เคถ्เคฐेเคฏเคธ เคฎเคงเคฒे เคคे เคชเค•्เค•े เคชुเคฃेเคฐी เค•ेเคณ्เคตเคฃ,

Tuesday, March 8, 2011

เคขเค— เค†เคฒे เคคเคฐी เค‰เคฆाเคธ เคต्เคนाเคฏเคšे เค•ाเคฐเคฃ เคจเคธเคคे,
เคขเค— เคคเคฐ เคšंเคฆेเคฐी เคाเคฒเคฐ เคฆाเค–เคตเคค เค…เคธเคคे
เคคू เคธเคฎोเคฐ เคจเคธเคฒीเคธ เคคเคฐी เค•ाเคฏ เคाเคฒे,
เคคुเคे เคคे เคนाเคธเคฃे เคฎाเคค्เคฐ เคฎाเค्เคฏा เคฎเคจाเคค เค•ोเคฐเคฒेเคฒे เค…เคธเคคे।

เค•ोเคฃ เคฎ्เคนเคฃเคคो เคฎी เคชीเคค เคจाเคนी
เคฎी เคคเคฐ เคฐोเคœ เคชीเคค เค…เคธเคคो
เคคुเค्เคฏा เค—ाเคฒाเคตเคฐเคš्เคฏा เค–़เคณी เคธाเค ी เคคเคฐ เคฎी เคฆिเคตเคธ เคฐाเคค्เคฐ เคคเคกเฅžเคก्เคค เค…เคธเคคो

Saturday, June 27, 2009

Excellence Award




It feels very nice when you are rewarded. It certainly does.

Back when I was a student, I was rewarded many times, but ever since I have graduated in 1994, this is my first ever professional award, excluding any promotions at work. Recently I was awarded for scoring in top 3 percentile in assessment exams taken in my company. I was felicitated by a gold medal at the hands of our CEO. It was a huge achivement for me given the fact that I have never managed to obtain even a B band at work appraisals. (A and B bands are considered to be top performers in the company on a yearly basis).

This was also a nice experience to meet the CEO in such a close and informal way.

Monday, March 23, 2009

เค•ाเคนी เค—ोเคท्เคŸी....

เค•ाเคนी เค—ोเคท्เคŸी เค•เคงीเคš เคฌเคฆเคฒเคค เคจเคธเคคाเคค,
เคค्เคฏा เค‰เคจ्เคนाเคณ्เคฏा เคธंเคง्เคฏाเค•ाเคณी เคคू เค˜ाเคคเคฒेเคฒा เคคो เคฎोเค—्เคฐ्เคฏाเคšा เค—เคœเคฐा,
เค†เคฃि เคคो เค—ाเคฐ เค‰เคธाเคšा เคฐเคธ,
เคคे เคฎंเคคเคฐเคฒेเคฒे เคฆिเคตเคธ เค…เคจ เคคी เคฎเคจाเคคเคฒी เคนूเคฐเคนूเคฐ,
เคคुเคฒा เคญेเคŸाเคฏเคฒा เคœाเคฃ्เคฏाเคธाเค ी เค•ाเคขเคฒेเคฒे เคคे เคฌเคธเคšे เคคिเค•ीเคŸ,
เคคुเคฒा เคฆिเคฒेเคฒा เคชเคนिเคฒा เค•เคŸाเค•्เคท,

เค•เคตि : เค‡เคจ्เคŸเคฐเคจेเคŸ




Saturday, October 25, 2008

IL - Pallazzo - Panchgani

Out of family pressure, recently I had a chance to visit panchgani instead of standard mahabaleshwar trip which we do annually.
This time, we stayed at a hotel called IL - Pallazzo, the same place where a leading star had got married. Here is what I feel about the hotel:
Situated on about an acre of hilly plot, this hotel was a parsi residence, built in 1926. Now it is a hotel. The location is not very attractive. The only advantge being that it is about 5 mins from tableland and 2 mins from Panchgani central market. Other wise there is no breathtaking view or something like that. However the fun lies in its construction. It has a colonial feel. The rooms are large and double the standard height. They have all wooden furniture carefully maintained and decorated by polish, paint etc. There is a private dining for each room. The bathrooms are also large and have all modern fittings, a fusion with the colonial construction. The private dining is not actually a dining but a makeshift dining in the rooms verandah. But it does feel like a private dining. There is a large well maintained garden opposite the main wing of the hotel and a common dining area too. There is a swimming pool, skating area, badminton court, table tennis table, gym etc, but personally i feel it was a bit overkill on these facilities since in a 3 day visit no one is really going to use all of these facilities.
The food is not very good, though my family members liked it. It had a peculiar parsi taste, was different. As I said, I did not like it but my wife and kids did. The desserts were awesome though, especially the mava cake ( a cake stuffed with sweet fillings and topped with chocolate).
For 13980 INR for all 4 (2 adults and 2 kids) of us for 2 nights and 3 days, I think it was a ok deal, if not best.
I would recommend it to anyone who loves to stay in old houses and wants to just chillax in the pleasant climate.

Monday, July 14, 2008

Sunday, June 29, 2008

Mirror mirror on the wall.....

I want to modify the famous question "Mirror mirror on the wall, who is the fairest one of all?".
My version would say, "Mirror mirror on the wall, tell me the truth once and for all".

Am I really controlling my life? I don't really feel I am in control, though I am a spectator by choice for the game. Once, long time back as a player, I felt the same. Then who controls me? who decides I should be driving a Zen Estilo or a Honda City? Because When I buy a honda city I start getting a question, who decides whether I should drive a honda city or a Honda Accord, for that matter?
"Mirror mirror on the wall, tell me the truth once and for all", who is the master of all?

The Launch

I see everybody has been blogging for a while now, so I thought why should i remain aloof.