Friday, July 17, 2026

STeP-IN 2026: My Proposal for the Conference Theme

 

I submitted a theme proposal for the STeP-IN Summit 2026. Below is the theme I proposed, along with the abstract explaining why I believe it is the need of the hour.

To enable AI and Agents to truly help us across the SDLC, engineers and businesses must restructure and realign the way they work. This change is critical and necessary.

Simply introducing AI and Agents into an organization is not enough. Their adoption requires a cultural shift in the organization and a change in the way engineers work.

Unless this shift happens, AI and agents cannot effectively understand and respond to the context in which they are being used. This is what I am learning.

My theme proposal is not selected, but I congratulate the person whose proposal is chosen.

See you at STeP-IN 2026!


Theme

"Restructuring and Orchestrating Myself and Tests with AI and Agents"


Abstract

The AI solution and tooling is everywhere in the SDLC for an engineer and business.

How do the AI and Agents influence the below factors in my work and organization?         

  1. The confidence in release
  2. The confidence in code and tests generated and written with assistance
  3. The speed of release
  4. The cost of going wrong in production

For an engineer, using AI and Agents is about efficient productivity and personal upskilling.  For an engineering leader it is about the velocity and displacement in business.  The same AI and Agents but the two different expectations and interpretations!

To achieve, both the engineer and engineering leader have to restructure and orchestrate themselves individually and as a team with AI and Agentic solutions.  If not, above mentioned factors will get impacted and derail the delivery.

Anytime the answer to above said factors is not confident, then incorporation of AI and Agentic solutions in SDLC is not working.  Then, it is just bragging – do you know how our engineers spend the whole day using AI to code, test and ship?  That’s it.  It is not serving the business and engineer.

This is where, this theme is critical and a need – Restructuring and Orchestrating Myself and Tests with AI and Agents.

Most of us are using AI and Agents without asking,

  1. How it has impacted the releases cycle compared to last year?
  2. How confident and fast we are in coding and testing compared to last year?
  3. Has it cut down the time of testing and automation compared to last year?

If there is no confident answer, you know it – one has to restructure and orchestrate the self with AI.

How to do it?  The test engineers, SDETs & engineering leaders to share and talk on how they are doing it in their work and org.



Wednesday, July 15, 2026

My TribeQonf 2026 Experience: Key Takeaways from a Software Testing Conference


The conferences and meetups are like a reflection to me now.  It reflects a lot on personality, mindset and attitude of me and the people who came to it.  

If you sit back and take a breath in silence and then recall the whole happening, it shows you something about you, the people whom you met, whom you did not talk to yet observed, and the ones to whom you did not network at all.  Isn't it?  

And, if you recall the same three days later on reading the posts of people on social media, it gives a different dimension to one's recall and learning.

I could recall such pictures from TribeQonf 2026.  This was my first TribeQonf.  I thank Ashutosh Garg for giving me the space and opportunity to be part of this conference.

In this post, I will share, what was different to me and my takeaways from the talks.


My Preparation and Travel to TribeQonf 2026


As I got an invite, I thanked The Test Tribe for inviting me.  I looked at the venue, date and agenda.  I registered and confirmed I will be there for two days and on time.  I did not look at who are the speakers.  I wanted to go, greet, sit, listen, share, unlearn, learn, network, and collaborate with no biases.   I tried my best to be unbiased!

On 10th July, I started from my home at 6:15 am.  I was in the venue by 7:45 am.  I reported and collected my delegate tag.  I'm glad my colleague and peer Sandeep Garg helped me with registration.  I met and greeted Ashutosh Garg after a long time!

On 11th July, I was at the venue by 8:15 am.

I sat in the front row so that I can see any demo well and clear -- this is important to me!  

I made my points that I can visualize at that point in time.

Yeah! I had two or three glasses of tea in the tea break with biscuits -- this was my breakfast for the two days!

I reached my home around 9 pm well and safe.  As I reached my home, I prepared for the next day and what to look for.  Then I moved to other activities at the home.

I saw people travelling from different states other than Karnataka.  I met people from Keralam, Tamil Nadu, Andhra Pradesh, Telangana, Maharashtra, Gujarat, Bihar, Jharkhand, Rajasthan, Delhi, Haryana, West Bengal, Odisha, and Kashmir.

The Kashmir girls who had traveled to Bengaluru for this conference made me glad!  I spoke to them.

TribeQonf 2026 Audience Group Photo

TribeQonf 2026



Over 750+ people for a testing conference and travelling to be there is something that I wonder!  On the other hand, the people are paying from their pockets and the offices are paying to their test engineers to attend the test conference -- wow!

All that said, The Test Tribe as a community is growing.  This community did not go away after a a year or two.  I wish, it grows much stronger and fruitful to the Software Test Engineering and Engineering communities.



The Talks and My Takeaways


Surviving and Thriving in an AI-first Company

  • Speaker: Sandeep Garg
  • My Takeaways
    1. The point of S1 and S2 thinking in learning and using the AI aids to do my work.  Making this point conscious in me is important and critical.
    2. AI-first: How to survive and thrive?  It is a puzzle:
      • Motivation and Perspective
      • Thinking S1 and S2
      • Modeling Co-existence
      • Surviving
      • Thriving
He shared how he is doing it with the anatomy of a human brain and what to do with hemispheres of brain, Corpus Callosum, and Synaptic Plasticity.

In my thought, this S1 and S2 should give a direction to one on how to co-model in the learning and practice of any subject and also with the AI-first expectations and decisions.


From AI-Curious to AI-Native: Rewriting the SDLC

  • Speaker: Navin Nair
  • My Takeaways
    1. He shared his so far journey in his org with AI and the software services he offers as a business.
    2. Made a point by underlining it -- the services companies are the one who is under pressure with happenings in AI and from the clients demands.
    3. The 5 stages of AI maturing and most are stuck at 2.
      1. AI-Curious  -- A few staffs are quietly experimenting after office hours.
      2. AI-Experimenting -- Pilots done in bits and none knows; does not compound.
      3. AI-Augmented -- Every staff as AI in their work and it is standardized.
      4. AI-Embedded -- Into the pipeline, and it handles.
      5. AI-Native  -- Nobody has actually seen one.

He said, his org is at stage 3 and I see that is sensible.


I Used To Know Who I Was Designing For

  • Speaker: Manthan Desai
  • My Takeaways
    1. This question he asked was enough to me for keeping my senses up and listening
      • Think of the last AI feature you tested.  Who were you testing it for?
        • A human? An Agent? Both?
        • Do you know?
    2. He made a point, for the first time, a tester understands the user better than the designer does.  
      • Who is this user?
      • The deliverable is no longer always a screen.
    3. The contract he defined for the Designer and Tester caught my ears sharply.
      • Design: I will tell you who we are designing for -- including the users I can't reach anymore
      • Tester: I will tell you when the user has changed -- including the ones you never designed for.

These two questions is pondering in me now when I'm back to desk
  1. How should I start looking at the user interactive design for the agents and models?  
  2. What is their design interface from where it is being invoked?

Data to Decisions: Semantic Intelligence for Autonomous Enterprises

  • Speaker: Dharani Karthikeyan
  • My Takeaways
    • I'm left with question on, how should I implement the Knowledge Graph and use a model around it to help my research works.

Return to quality: Radical & practical QA career transformation

  • Speaker: Sriram C S
  • My Takeaways
    1. He said, Career Growth = New Skills + New Experience + Business Impact
    2. Engineering by definition must make systems obsolete.
    3. Engineer to deprecate some aspect of your work.

I'm glad he mentioned the names of his colleagues and their work using AI.  The colleagues whom he mentioned are Tejas, Harikrishnan and Sweta.


Ideas to Impact: 23 Patents, Agent AI, and the Next Decade of Quality Engineering

  • Speaker: Mallika Fernandes
  • My Takeaways
    1. Talk to her and take her inputs when you want to patent your research works.
    2. She can give valuable insights from the experience of her approach to patent her 23 works.

The almost right machine: How to test, trust, and ship software built with AI

  • Speaker: Jaydeep Chakrabarty
  • My Takeaways
    1. If it looks correct, interrogate it.  To me this is one part of testing!
    2. Locally correct! Is it safe globally?
    3. When you review, interrogate and investigate the meaning.  This is one part in how I review!
    4. Is the system I'm testing able to understand the context, my input, my intent and what I expect?  This question makes more sense in all eras of the technology disruption.
    5. Correctness is not when the code ran!  Did the behavior stayed right in the actual conditions?   To me this is one part of testing!
    6. If the tests do not test the situation, the tests tested for syntax.  To me this is one part of testing!
    7. The constraints are promises which system should not break.  As a test engineer testing for security and performances, this sounds more logical to me.
    8. DONE is observed behavior under the actual conditions.

A practicing test engineer will relate to some of his points easily and acknowledge it.  I liked his one liners -- this is an easiest way to recall what did I hear.  I practice this in my talks.  I could recall these many points because of his one liners.


Beyond Assertions: A Strategic Framework for Testing AI Chatbots

  • Speaker: Chandrashekar Patil
  • My Takeaways
    1. I need to think and work on how to put my work in the shade of Evidence Engineering.
    2. I drew a overlapping mental model which compliments the telemetry - behavioral evidence and evidence engineering.
      • I will have to work on how to fine tune and scale this mental model.

He said to look beyond the assertions -- Pass or Fail.  I'm glad people of his roles are talking about it in the conferences.


Leading at Scale in the AI Era: Building High-Impact Global Engineering Organizations

  • Speaker: Monalisa Behera
  • My Takeaways
    1. AI transformation is not a technology shift.  It is a cultural shift.

I see, this is a strong point.  If most designated managers and leaders understand this, they can assist their people better.


Scaling Without Breaking: Rethinking Quality in AI-Driven Startups

  • Speaker: Priya Nupur
  • My Takeaways
    1. It was a reiteration to my learning -- I should be able to diagnose and understand when it is a scale problem and not a testing problem.

At one point in time, we engineers will hit this roof.  If I can know it quickly and communicate in time, it serves the team and business.


Ensuring Trustworthy AI: The New Mission of Quality Leaders

  • Speaker: Ramya R. Moorthy
  • My Takeaways
    1. The question to self when testing the AI system -- How to keep the traditional way of testing aside and think how to test this AI systems?
    2. People ask for metrics.  What metrics should I know and mutually agree upon with the stakeholders when testing the AI system?

She shared her learning journey of testing and evaluating the AI systems.


Test, then Trust Proportionately - Evaluating AI Systems from a Tester's Lens

  • Speaker: Rahul Verma
  • My Takeaways
    1. Let us focus on what should have been known and what is known.
    2. Blind repetition is not testing.
    3. Trust should never exceed evidence
    4. An AI product is mostly not AI
    5. AI did not change what test is. It just made it impossible to pretend.
I could recall his one liners easily.  This recall helps me to know the intent of his talk.



The best time to get out of testing is now, unless...

  • Speaker: Pradeep Soundararajan
  • My Takeaways
    • Look at the reality!
    • When you look at the reality and know the reality, why are you confused?
    • Know where you have to work and upskill so that you make sense and be contemporary in the consistent waves of the change.
This is one of a well reached talk of Pradeep that I have listened to.  His slides were amazing!  The slides spoke for itself, there was no need for him to speak and say what he wants to say.

He marketed!  Yes, he marketed the reality very well such that it reached the audience.  He is a skilled marketing businessmen.

However, I disagree on his opening points.  He says, one is just a doer if still working on 'How to test'.

Why I disagree?
  • To get to the state 'Why to test?' one should cross 'How to test?'
  • In fact, there is 'How to test' in the state 'Why to test'.
  • I know he did not literally say to skip 'how to test' and don't be a doer.  But, it sounded and can sound that way -- which can be misleading.  His intentions is not to mislead, I know that!
  • But, the way he communicated it, it can mislead the people who do not question and think what he is saying!
  • We have blind followers!  Note this, I too was a blind follower.  I don't want to be one now.

I don't see wrong if a person is not fitting to the words Escape Velocity and turned to be a Survivor.  These two words are from his talks.  

Why should one be same as someone who is gaining the social media attention and the industry attention?

I share this as a corollary here to why I disagree,
If one has to be alike as the other person, then it is a retry mechanism.  Isn't it?
Is it right to retry a test that is showing a 'fail' tag?  If not, then why to be a Survivor with Escape Velocity to fit into someone else definition?  Isn't that a retry mechanism day on day on a person? 
Am I not contradicting here my testing thoughts by retrying myself to be someone else in the survivors list?

Today, I believe a meaningful life is simple. Stay healthy. Earn enough to support your family. Grow in the direction you choose. If you can do these, you are building momentum and moving forward with purpose.  The challenge is to keep this consistent.  

How do I make this happen for me?  I think on this line rather than gaining the Escape Velocity and Survivor tags.  

I focus on how to make enough money in the right way and a meaningful life while I continue to upskill by being a human and a skilled software test engineer.

That said, what Pradeep spoke is the reality apart from the points with which I could not convince myself for today!

Otherwise, an amazing slides and story telling from Pradeep.  He spoke the happenings with the tech and process, and, what we testers are going through. 

I admire how he markets his stories and ensures it reaches its targeted audience and segment.  

The other couple of talks had one liners in the slides.  Whereas, the whole presentation of Pradeep is one liner -- 'unless'.  He marketed it like a skilled marketing engineer and businessmen.  

I see, the audience can recall his talk summary easily and can tell him about it in the TribeQonf 2027.



QAVE - The Booth of Rebranding


I visited the booth of Qapitol.  I was fascinated by rebranding from 'testing' and 'QA' to the tech solution from an org.

This booth looked different to me.  I see, it takes courage to rebrand as this.  Yet, they do test is what I see with QAVE.  

I will congratulate them on this brave move.



The Summary


The buzz was all about the AI.  

When I started my career, the conferences was all about SaaS, PaaS.  Then, it was microservices, cloud, Agile, Big Data, Mobile, CI-CD, DevOps, and now AI.  In between, I see the Software Test Engineering trying to fit and scale in the ways which the business wants.

How should I scale, upskill, remain contemporary, share my learning, and earn enough money to take care of my family is also the puzzle I'm solving in parallel.

The 5 things I learned at TribeQonf 2026:
  1. AI is more of a cultural-shift for first to an organization and a practitioner.
  2. Know in which phase you are with AI, and start your practice to level up.
  3. The foundations of testing is critical and necessity to test the AI systems.
  4. Do you know the interface through which you interact to the AI systems?
  5. If you are an engineer what did you deprecate in your last work, and why?  Why deprecate at all?  What happens if it is not deprecated?

What is the next disruption?

I am happy meeting my peers and connecting to the people.  I listened to them.  

I will see you in the TribeQonf 2027 with a better version of me.

Ravisuriya at TribeQonf 2026

Ravisuriya at TribeQonf 2026






Tuesday, April 28, 2026

Social Impact Award: Thank You TM Square and SYNICT'26



Receiving the Social Impact Award from Neeraj Kumar Singh in SYNINCT'26


Recognizing the Recognition

I thank TM Square and SYNICT'26 team humbly with gratitude.  

TM Square and SYNINCT should be recognized first for breaking the biases and nominating me for this award.

The community and industry is biased.  I'm part of this.  When I say biased, it is biased with certain names for its visibility, crowd they pull in, for appearing in multiple events, and more.  Is this right or wrong?  Nothing is right or wrong here!  It works and benefits that way.  

SYNICT, you broke these biases and nominated me for the Social Impact Award.  Isn't that surprising!  Yes, it is.  At least to me. 

For the last 17 years, I am in consistent efforts to keep myself better, upskill, conscious, aware and informed to share with fellow test engineers and community.  This is the first recognition I have got in a conference from the community.

This recognition makes me much more responsible and accountable on how I should function with the community and what I should be doing for the community.  

Thank you team TM Square, SYNICT and the jury panel.


What Is Social Impact Award?

Here is what SYNICT says for Social Impact Award,

Celebrating someone who has made a strong impact through consistent content related to the QA industry on social media with maximum count.  Your posts continue to educate, engage, and connect the community.




Social Impact Award, SYNINCT'26



Social Impact Award Memento, SYNICT'26



My Experiences with SYNICT'26

 

This blog post shares my experience of the software testing conference SYNICT'26 held on 11th April 2026 in Bengaluru.

I got down at Silk Institute Metro Station and walked to the venue.  I reached the venue on time and met Neeraj Kumar Singh.  Later, I connected and spoke to other conference team members.  I met Soham and thanked him for creating me a window to attend this conference.

Entering the conference hall, I saw Santosh Tuppad.  We met in person after close to a decade.  I'm happy meeting him!  

I networked and introduced myself to others.  While I did this, my mentee Chidambara and his wife wa;led in to the conference hall -- both are SDETs.  To me, this is first -- seeing the husband and wife attending a software testing conference together.

I met Christy Henitha and a couple of people from RelQ attending this conference.  I'm glad to see people of RelQ -- the first software testing service company from India which is not operational today.

I took my seat and got ready to listen!

I see this conference is a well executed experiment from TM Square.  It happened in silence with no noise and buzz.  My experience is not all meetups and conferences can create the space as I saw here.  It is well hosted and concluded.  

Now, one of the next challenge to TM Square is -- How to have the same engagement between audience and speaker and the activities when more and more audience come in?

Read the below for details in brief.


SYNICT'26, Speakers and Audience

The conference organizer kept each talk interactive.  The audience could jump in and ask questions or share the insights.  The speaker added more details to it.  

The sessions remained interactive.  Such interactivity is not a common sight in the conferences, and the meetups as well.  To me this is the key highlight and experience of this conference.  I thank the conference organizers and speakers to keep it this way.

In the other way, the audience engaged speakers with their questions and by sharing the experiences.

You will not believe this right away.  But, let me tell.  The audience challenged the speakers in certain points.

Team SYNICT'26,

This format and space to have such healthy conversation between the audience and speakers is your success!  Not all meetups and conferences can do this.


SYNICT'26 Stage


Talks and My Take Back

The talk from Santosh Tuppad was highly interactive.  He presented, "The Human Firewall Security, AI & Our Shared Future".

  • Santosh started his talk to be interactive.
  • The audience jumped in by sharing their insights, experience and questions.
  • The talk extended beyond its timeline, but the engagement from audience to the speaker continued.
  • My understanding is, the talk aimed to say -- we human should be the first firewall to safeguard ourselves in the AI era and future.
    • It made sense to me
    • The awareness that we should be constructing consistently in this time and future with AI in place is critical
  • In all I understand, he said, keep the humanity in center and then use the technologies.


The talk from Ajay Balamurugadas was well strategized as a hook to both time keeper and the audience.  He presented, "Building Quality Together - How AI Connects Craft, Context, and Collaboration".

  • To get the better benefit from an AI Agent in place, it needs context.
  • The importance of context was explained and he illustrated it through PostQode.
    • Should I say this is a demo of PostQode?
      • Not in whole
      • But, he used PostQode to explain what can AI Agent can do as collaboration when connected to one's work with context.
To me the highlight of this talk is, the hook he created  -- to complete his talk in 19 minutes and use rest of his session time discuss.

You see the two above talks in two different styles yet remaining interactive.


The talk by Geosley had the examples of showing the ML algorithm to the solution implemented with Agentic AI for automation.  This helps one to map what is behind this automation using AI Agents.


The Fun and Activities

We audience were engaged with quiz after each session.  Arjun BM and Prathibha TN were running close to win it.  Arjun BM won it at the end.

There was a crossword and it was compelling to think.

We had got sketch pens, pencil and eraser.  But, why sketch pens and eraser?  Finally, we were asked to draw -- how do I want to see myself with testing.  Christy Henitha's sketch got the reward.

Here is what I drew and I gave it first.  I want to keep simple and be simple.  I want to see and work as in White Box notion wherever possible. So that the debugging is easy to make a fix on knowing the problem.



My Sketch at SYNICT'26 -- White Box and Me


Recognition and Awards

TM Square recognized the people from community.  This is needed for the community.  I thank wholeheartedly to TM Square and its people for doing this.

  • Community Champion Award -- Mukesh Otwani
  • Digital Humor Award -- Nishant Gohel
  • Social Impact Award -- Ravisuriya Eswara

Meeting and Catching Up

After a decade, we all three met and sat for a few minutes talking, ranting, laughing and smiling.  I enjoyed this moment filled with happiness, silence and peace.



From Left to Right -- Ajay, Ravi, and Santosh.  Photo Credit: Santosh



Soham, Neeraj, and Gandhali

My experience with Soham Majumder will go for a long time and I will cherish it.  He helped me to attend this conference.  Thank you, Soham.

My experience with Neeraj Kumar Singh is -- He is behind it!  I see, he stood and assisted his team wherever he had to.  I could see it as I entered the venue.  The first thing that sensed to me is -- he is approachable and trying to be aware of what's happening.

My experience as an audience with Gandhali Karmarkar is unique.  As a anchor she has got something magical in her voice.  She engaged the audience!


For SYNICT'27

I request one track of tech talks in Software Testing.  While the other track(s) can run in parallel on the other dimensions of the craft and practice.

Why I expect it from TM Square?  A conference run by community can do it.


What is TM Square?

Neeraj Kumar Singh and I discussed in the lunch break.

I was curious to know what is the meaning or abbreviation of TM Square.

He said, it is "The Metrics That Matter".



I'm looking forward to SYNICT'27.



Friday, April 24, 2026

The Grammar of Injection Attacks

 

I'm presenting a talk in Null OWASP Bengaluru Meetup on 25th April 2026.  It is a talk that focuses on foundation of injections in web applications.  I wish, I had a senior or mentor who would have walked through me this in the early days of my career.  However, Rahul Verma's workshop on web security helped me to build the perspectives -- I take this opportunity to thank and express my gratitude for him.


It's Just Data..., Until It Isn't: The Grammar of Injection Attacks

In modern web applications, user input is everywhere -- search boxes, login forms, URLs, and APIs.  Most of the time, it is treated as harmless data.  But what happens when the data is interpreted as code?

This talk introduces a fundamental yet often overlooked concept behind vulnerabilities like HTML injection, SQL injection and Cross-Site Scripting (XSS): grammar and context.

Instead of focusing on memorizing payloads, we will explore how browsers, databases, and interpreters parse input.  Later, we will learn how the attackers exploit these rules to break out of intended contexts.  Through simple, real-world examples, we will walk step-by-step through how an attacker reads the structure of a target, identifies injection points, and crafts payloads that turn data into execution.

By the end of this session, you will have a strong mental model to:

  • Understand where and why injection vulnerabilities occur
  • Analyze how input is interpreted across HTML, JavaScript, and SQL contexts
  • Think like an attacker and defend like an engineer.
This talk is designed for beginners in security, testing or development who want to build a solid foundation in web vulnerabilities without getting lost in complexity.

Prerequisite:  An open mind and do not keep the questions unasked and undiscussed.



null and OWASP Bengaluru Meetup - 25th April 2026





UPDATED on 26 April 2026



Photo Click Credit: Pawan Karthik, null Bengaluru





Friday, April 10, 2026

SYNICT'26: Software Testing Conference Happening With No Noise and Buzz

 

Tomorrow [11th Apr 2026], I'm attending a Software Testing conference in Bengaluru -- SYNICT'26.  

What compelled me to write this blog about this conference is, no buzz.  Yes, I do not see any buzz on social media or in the community from anyone about this conference.

I see the buzz and noise for the meetups that happen.  Yet, this conference is happening in silent.

The theme of the conference is, QA In the Era of AI.

When AI has buzz all around why the organizers of this conference chose to execute and deliver it in silence?  I'm yet to know this!

I see the committed practitioners in the speaker list.

All said, you and I know, a conference cannot happen if the organizing team is silence.  I see the team of 10 members who are behind this.  Among them, I interacted with Soham Majumder.  He seemed to be approachable, listening, and coordinated very well.  This has given me a good impression about his other team members as well.

Well, I will not be silent in the conference.  I will be exploring, unlearning, learning, catching-up, networking and assist engineers where all I can.

I'm exited to experience my first conference for the year 2026. 

How this conference is being executed has made me curious about it!

Between, I asked Soham what do "SYNICT" mean.  He said, it is -- synergy and connect.

Note this please -- I'm not paid to write.  I will not do it as well.  Such happening should be documented so that the future will know about it to say a testing conference happened with no noise and buzz.  I'm glad, I documented it.



SYNICT'26 Web Page



Tuesday, March 31, 2026

Selenium, Playwright and XPath


I was asked this question.  
What are the types of XPath in Selenium?

I'm sure most would not be shocked by this question  Instead, take it as the right question from an interviewer.

As I heard this question, I asked myself.,
What are the types of XPath in Playwright?

Isn't that fair to ask so?


In simple, the Selenium and Playwright do not have their types of XPath.  In fact, the XPath has nothing to do with Selenium and Playwright.

The XPath was created by W3C before the Selenium came to the world.

The XPath is built by W3C and used by the browser to traverse a XML document.  

By the way, XPath means XML Path.  The XPath is an expression or query to locate the node or element or attribute or what is of interest in the XML document.

The creator of Selenium used the XPath to locate an web element on a web page which is a HTML document -- a XML.

The Playwright also does the same.  It uses the XPath to traverse and locate a web element on a web page.

However, XPath has two ways to traverse and locate a node in XML or a web element in HTML page.  That is,

  1. Absolute XPath
  2. Relative XPath
These are the two types offered by W3C to traverse a XML document using XPath.


LLM and Its Training for Software Test Engineering


The LLMs are trained by the data and information on internet.  When the internet is filled with such contents which are incorrect, noise, and misleading, the LLM offers the same.

In my opinion, that question asked about the types of XPath in Selenium and Playwright is technically incorrect.  Looks like the question is picked from the web or from a LLM's response.

The LLMs are useful when it is trained on the well reasoned information and data, and when it is questioned in the better ways.

The people are accepting whatever LLMs respond and advocating that is right!  Beware!

Let us give the better data to LLMs for its training.  This is very much needed to the Software Testing and Test Engineering related training.  




Question the LLMs in your prompts and conversation.  It can assist better.  You should know when to say no for what it is responding.  The XPath and its types are independent of any web automation libraries and tools.  The web automation libraries and tools make use of the XPath to traverse and locate a web element, a property or a attribute of an element in web page.

The latest XPath version available is 3.1.  It is said, the popular browsers which we use supports natively for XPath 1.0 alone.  That is, the popular browsers do not natively support the latest version of XPath.   The XPath 1.0 became a recommendation in 1999.


Tuesday, March 24, 2026

Tests for the CSS and JS Fixes on My Blog


I implemented the code block and line highlighting in my blog.  This blog post will serve as a litmus test for the CSS and JS that I have written for my blog.


Class TestingGarage {
	public static void Main (String args[]) {
		System.out.println("testing the css and js fixes");
	}
}

Class TestingGarage {
	public static void Main (String args[]) {
		System.out.println("testing the css fixes");
	}
}

original_string = "stressed"
reversed_string = ""
for char in original_string:
    reversed_string = char + reversed_string
print(reversed_string)
# output: desserts

SELECT MAX(Salary) AS HighestSalary FROM Employee;

pm.test("Check a value in an array", () => {
  const items = responseJson.data.items;
  // Check if 'productCode' "XYZ" exists in any item in the array
  const productExists = items.some(item => item.productCode === "XYZ");
  pm.expect(productExists).to.be.true;
});

  
    

/* Header
----------------------------------------------- */
.header-outer {
background: transparent none repeat-x scroll 0 -400px;
_background-image: none;
}
.Header h1 {
font: normal normal 40px Georgia, Utopia, 'Palatino Linotype', Palatino, serif;
color: #000000;
text-shadow: 0 0 0 rgba(0, 0, 0, .2);
}
.Header h1 a {
color: #000000;
}
.Header .description {
font-size: 14px;
color: #000000;
}
.header-inner .Header .titlewrapper {
padding: 22px 0;
}
.header-inner .Header .descriptionwrapper {
padding: 0 0;
}


.header-outer {
background: transparent none repeat-x scroll 0 -400px;
_background-image: none;
}
.Header h1 {
font: normal normal 40px Georgia, Utopia, 'Palatino Linotype', Palatino, serif;
color: #000000;
text-shadow: 0 0 0 rgba(0, 0, 0, .2);
}
.Header h1 a {
color: #000000;
}
.Header .description {
font-size: 14px;
color: #000000;
}
.header-inner .Header .titlewrapper {
padding: 22px 0;
}
.header-inner .Header .descriptionwrapper {
padding: 0 0;
}

function login(user) {
  if (!user) {
    throw new Error("User required");
  }
  return true;
}

// comment
console.log("Hello");

/*
console.log("Hello");
*/

function login(user) {
  if (!user) {
    throw new Error("User required");
  }
  return true;
}

adb logcat -v threadtime | grep -E "FATAL|Exception|Crash|ANR"

adb logcat --pid=$(adb shell pidof com.example.app) -v threadtime

function login(user) {
if (!user) {
throw new Error("User required");
}
 return true;
}

SELECT DISTINCT
    Salary
FROM 
    Employee
ORDER BY 
    Salary DESC
LIMIT 1 OFFSET (N - 1); -- Replace N with the desired rank (e.g. 2 for the second highest)



curl -X PUT \
  https://restful-booker.herokuapp.com/booking/1 \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Cookie: token=abc123' \
  -d '{
    "firstname" : "James",
    "lastname" : "Brown",
    "totalprice" : 111,
    "depositpaid" : true,
    "bookingdates" : {
        "checkin" : "2018-01-01",
        "checkout" : "2019-01-01"
    },
    "additionalneeds" : "Breakfast"
}'

curl -X PUT \
  https://restful-booker.herokuapp.com/booking/1 \
  -H 'Content-Type: text/xml' \
  -H 'Accept: application/xml' \
  -H 'Authorization: Basic YWRtaW46cGFzc3dvcmQxMjM=' \
  -d ' 
  


Blockquote test
# This is a test for the blockquote!


Monday, March 23, 2026

In Software Engineering The Numbers Do Not Mean Direction With Clarity

 

I came across a post where a person from community said, he is making 40 PRs a day.  Further, he said, the long standing architects there could not keep up with that pace.  It sounds impressive to one listening it.

Wait!  This put me into a thought.

I'm writing 100+ test cases and executing the 100+ test cases reading line by line.  How should I consider and interpret this?  How do my reporting manager look at this and interpret my contribution and value add?  Do I get the big hike and promotion in each cycle?


Why I say this?

  • Making 40 PRs in a day is as good as writing 100+ test cases and executing it -- when the number is expected and rated.

In a day, what can one push in 40 PRs?  Is this in a same repository or to the different projects repositories?  I have no idea.  But, as a engineer, I have a concern when I see that number -- 40 PRs or 100+ test cases by a person.  What are the review guidelines?  Who is reviewing it?  What is evaluated in the review before the merge is approved?


Engineering Manager, Numbers And Direction With Clarity


While one is on a intended direction with clarity the numbers make a better story.  If not, can it still make a story what is expected?

As an engineer, I see the numbers in everything and whatever I do.  The numbers help to represent, describe and communicate.

When the focus is on the numbers, it does not mean one is having the clarity.  

For example, I'm executing 50 test cases and 100+ in an automation run.  Does the organization, business and my peer programmers get anything from this number?  Will it be counted in as my value addition and contribution?

If we engineers are evaluated on numbers, I have seen the engineers running with the spreadsheet, number of PRs, test cases, product stories, the tickets marked as 'done', instances created and orchestrated.  Isn't it?  Do you see this at your work?

Engineering and Numbers

I learn, when we engineer a solution the goal is to have the clarity on what we are going to do, why and how.

Having the clarity means removing the ambiguities and being aware of it.  This is a major part of the solving in an engineering.

When the clarity is established with no confusions it sets a direction.  This direction is important with a clarity; it tells where we are heading, why and how.

Implementation is one part of the big engineering.

Do numbers remove the direction and clarity?  If one is obsessed with numbers and biased to it, it can derail the efforts.

When we are biased and acknowledge one's voice and thought in an engineering, we are not solving.  We are setting an example of Factory Pattern which the software engineering is not all about.

Engineering Manager, Numbers, Clarity and Direction

I as an Engineering Manager, my primary goal will be to set the direction to team with clarity.  If I do no set a direction and why we want to accomplish it, the team and delivery will be in chaos.

If anyone in my team is behind the numbers for showing PRs, test cases and stories, I will assist them to build the clarity and see it.

I will help them in knowing what the management sees and how to show one's delivery as an impact in conversion and numbers.  

Why this impact conversion matter -- I will talk about it and help to visualize it.  I did not get this from my engineering managers.  It has costed me and the team though delivery went on time sprint on sprint and KPIs looked as set and expected.

A person making 40 PRs and 100+ test cases in a day, is a smoke which indicates something is not right!



To end here, here is the sum up
  • The number of PRs in a day and test cases written and executed by a person looks impressive, but it is not a impact and conversion.
  • Remove the ambiguities, establish the clarity, set the direction and evaluate it consistently.
  • Software Engineering is not all about the numbers, PRs, stories, tests, instances, pipelines and orchestration.
  • Engineering Manager is critical role in the Software Engineering -- this is a role which sets the direction to the development teams with clarity by resolving the ambiguities to deliver with the velocity.
  • The management wanting the numbers and asking for it can mislead the effective and skilled Engineering Manager.
  • This two not the same -- 'the numbers' and 'the conversion and impact'; these two are numbers with different stories.
  • 40 PRs and 100+ tests by a person in a day does not mean she or he has clarity and direction.

In today's timeline of AI and LLM, it is the number of tokens.  Someone saying I used less number of token is a value add?

Then, what is clarity with direction in the Software Engineering?  What it is to your reporting manager?  What it is to the business and management who decides on your employment, hike, promotion, benefits and growth?

Ask your Engineering Manager.  It is not too late.




Tuesday, March 17, 2026

45 Seconds of Confusion: When a Familiar GUI Fails the Human Eye

 

In meetings, we often hear the same line, 

"That's not a bug.  Report it as an enhancement."

Sometimes the observed behavior never even makes it to the enhancement list.  

But, what happens when the problem is not about functionality, but about how the users experience the GUI and its usability?

My peer Dhanasekar Subramaniam (DS) recently published a blog about a UI design that delayed him using the app. This made me curious.  How could a UI that an engineering team acknowledged and used slow down a user?

I decided to test investigate the design.  On testing and analyzing the UI behavior and usability, I discovered something interesting -- the GUI looks as in code, but behaved differently to the human eye.  

I went through the usability and experience problem, but I was conscious about this behavior so I could identify it in quick time.

If you are a SDET or Test Engineer, this blog will help you develop new perspectives while analyzing GUI problems.  If you are a manager or decision-maker, it highlights why seemingly small GUI problems should not be ignored.



When a Simple Task Creates Anxiety

Late at night 11 PM, the user opened the cab booking app Rapido, just as they had done many times before.  The goal was simple -- book a cab and reach the bus stop.

But something unexpected happened.

This time, the users could not figure out how to book the cab.

Seconds started passing.  The GUI looked familiar, yet the action to book the ride was not obvious.  Nearly 45+ seconds went by, trying to understand what to do next.

The situation made it worse.

It was 11 PM, the bus departure time was getting closer, and the user was unaware how to proceed because of the app's GUI.

That moment -- when the user knows the app, knows the task, yet cannot complete it, creates anxiety.

So the question is,

Why did two tech-savvy users, using an iPhone and familiar with the app, spend more than 45 seconds trying to figure out how to book a cab?


45 seconds for a task that usually takes less than 5 makes the problem feel bigger instantly.



Understanding the Cause of Anxiety


Here is how I started to learn and understand,
  1. I installed the Rapido on the Android phone.
  2. I have no ride history with Rapido.
  3. I signed in for the first time.
  4. I see the Ride screen.
    • I see the three addresses given which I had not chosen. I could save these as favorite; I did not.
On the Ride screen, I do not see where to enter or select the pick up location and destination.  


TL;DR -- In quick and short here is what caused the confusion which led to anxiety.
  1. The text in the search text field.
  2. The color contrast of search text field.
  3. The color contrast of view showing the three addresses.
  4. The color contrast in between the 2 and 3.
  5. User not able to identify that is a search text field which is tappable.

What to fix?

  1. To rephrase the search text.
    • "Enter pickup location" works as charm; refer Pic-4 in this blog post.
  2. To have better color contrasting for the three GUI elements.
    • The GUI color and contrast to have ΔE ≥ 3  -- good and preferred
  3. To highlight a search text field so that I will be prompted to tap and enter or select the pick-up and drop location.
  4. When experimenting with AB Test configs, the GUI design to follow the suggested GUI Design & Color Engineering practices.
In usability and user experience what is not noticed is as good as not present.

Continue to read the below sections for the detailed information on usability and user experience problems.  

If you want to quickly know the technical analysis alone then move to sub-section -- Why It Fails - Mathematical Analysis and Human Brain. This tells why the present Rapido app's GUI Design and colors confuses a human brain and eye.  

No wonder, why the users got into anxiety when booking the cab at 11 PM!




The First Usability Pitfall in the GUI


Now continue to read with much attention.
  1. I looked at the top of the screen.  I see text -- "Where are you going?".
  2. Below the text, I see the three locations listed which I had not chosen or entered or of my current interest.
Ah! that confused me.  Why?

I closely looked my mobile screen, that is Ride screen.


Pic-1:  The confusing text and three locations displayed
  1. I see a search text field.
  2. I see a search icon next to the text field.
  3. The search text field has a text -- "Where are you going?"

This is the first usability pitfall in the confusing GUI.

Why am I asked where am I going and listing the three locations that I did not enter or choose?





The Second Usability Pitfall in the GUI


In the below image Pic-2, I see,
  1. There is no prominent visual difference in the layouts of
    • Search text field
      • Color hex code #FFF8FAFC
    • The three location displayed
      • Color hex code #FFF6FAFF
  2. Yes my brain could not perceive the differences right away between these two layouts.



Pic-2: The color contrast of the GUI elements.


The color contrast of these two layouts are almost same.
  • This added for the confusion.
  • My brain was perplexed in knowing what's happening here.
  • I'm wasting time here to learn how to book a cab.
    • Is this what a Rapido need as a business?
    • Or, does it need a user to book a cab right away on opening the app?
    • Won't this experience drive away the user to the competitors app -- Ola, Uber, Namma Yatri.
If my brain cannot perceive the differences and is processing to understand what's happening here, is that a good user experience?

Forget about the user experience.  Is that a serving UI Design and Engineering?  I will leave this to your thoughts.

Further, the space in between these two layouts is with color contrast of #FFFFFFFF.  This makes the confusion much stronger.  Why?  
  • All these three GUI components are on one main view
  • To the human eye and brain, the color contrast of these three GUI components blend as one rather three distinct GUI elements.

This is the second usability pitfall in the confusing GUI.
Not being able to distinguish between these three GUI elements in a quick time is a problem.  Why the app has confusing color engineering for these three GUI components?  Why the GUI design did not highlight that search text field as tappable?  Why the search text is confusing when combined with the GUI color?

If the GUI components had distinguishing contrast colors.




Rapido's Competitor GUI and Usability


The competitor of Rapido has similar GUI, but it is more intuitive with the search text and color contrast of GUI components.  Refer the below pic.

In the Ola and Uber apps,
  • The search text is straight and easy to understand.
  • The readability of search text is close to the context of using the app.
  • Importantly, the search text field is easily distinguishable easily.
The search text and distinguished search text field makes me understand I should tap on it and enter the pick up and destination location.



Pic-3: The search text field and GUI in Ola, Uber and Rapido apps.




The Two GUIs of Ride Screen


When test investigating, I experienced the two GUIs of Ride screen.  

The other GUI looks better in terms of usability and prompted me to tap on the search text field.  But my question is when do I get this screen?

Could be a AB test parameter coming in to the app shows the different Ride screen.  I did not pick this for debugging as it looked better.

In the below picture, screen 2 shows a better search text.  Also, it does not have those three locations that I see in screen 1.



Pic-4: The two different Ride screens of Rapido.



Test Investigation & Analysis - Why My Brain & Eyes Took 45+ Seconds?

This section has details of my debugging, test investigation and analysis.  I have put my eyes, brain, smart phone, reasoning and the Rapido app to evaluation.

If you are a Test Engineer or SDET in a role, this should be super helpful when you are testing for GUI.  Do not skip it!


Human Eyes and Cones for Blue Shades


I learn, the human eyes have three cone types L, M and S; below are it sensitivity.
  • L-cones is for Long-wavelength cones; it is sensitive to red-ish light.
  • M-cones is for Medium-wavelength cones; it is sensitive to Green-ish light.
  • S-cones is for Short-wavelength cones; it is to Blue-ish light.

You remember, I shared the hexa color code for the two GUI components, that is
  • #FFF8FAFC
  • #FFF6FAFF



Pic-5:  #FFF8FAFC color

Pic-6:  #FFF6FAFF color


In between the above two hexa color code images, we have white (#FFFFFFFF) background as in the Rapido app.

These two hexa color codes explain my observation.
  • I struggled to distinguish the subtle color difference, especially in certain ranges.
  • So the two users who were booking the cab at 11 PM.  Why?  
    • We humans have a fewer S-cones and it is less sensitive.  Hence, the small changes in blue/cyan hues are hard to see.

But, the small changes in red/green are easier to detect.  

Have you seen sky in the night when an aero plane is flying.  

You see the red-light of an airplane though the distance between sea level and the air plane is around 10 to 13 KM.  

Why do the plane use red-light and not blue or any shades of blue?  Hope this should trigger your eyes and mind now.  

With this simple daily life example shared, tell me about the two blue shades discussed here with minimal difference and next to each other as GUI components in an mobile application?  

To add more to the complexities, the hardware and display capabilities of smart phone models from the same OEM varies.  You see, how critical is the UI Engineering now in software design!


Display Behavior of Smart Phones


Even before your and my eyes see the color, the smart phone's display (hardware + software) processes it.

That is, the smart phones,

  • Quantize colors (round up values)
  • Use OLED sub-pixels
  • Apply gamma corrections

This leads the rgb(246, 250, 252) and (248, 250, 252) to be same emitted light.  Why?  The display hardware will round or merge the small difference.  An another reason why on the Android device that I used and on an iPhone the other two users could not differentiate between the two GUI elements of Rapido app.


Viewing Angle Makes It Even Worse


I was holding my smart phone at 180 degree to the ground -- that is device at an angle to view. 


Pic-7:  Holding the smart phone to view at an 180 degree to the ground.

At an angle,
  • The contrast reduces
  • The colors shift
  • The subpixels blur

So even a small difference that might exist becomes visually flattened.  Small hue differences are flattened by the panel optics.  This effect is common in cyan/blue hues.

Further our human visual system averages nearby pixels.  The two adjacent colors like #FFF8FAFC and #FFF6FAFC are interpreted by the brain as a single averaged blue.



Why It Fails - Mathematical Analysis and Human Brain


In color science, the term "Empfindung" is used when talking about the experience of a color.  It is a German word meaning sensation or perceived differences.

In the UI and Design Engineering it is used as ΔE.  Where Δ (delta) means change or difference, and E is Empfindung -- perceptual sensation.

The professional UI Engineering rule enforces the minimum color difference of 3 to 5 RGB units.  Or the perceptual metrics as ΔE > 3 to ensure UI elements remain distinguishable

For these two colors #FFF8FAFC and #FFF6FAFC in discussion here, the calculation using CIEDE2000 color difference formula results in ΔE = 2.0 to 2.3.
  • This range falls into interpretation as slightly noticeable -- borderline perception.

But, both colors in discussion here are with very high lightness (almost white) and low chroma (very low saturation) -- this is critical. 
  • For such colors the human sensitivity to differences drops significantly 
  • Despite the ΔE ≈ 2, in reality the users will not notice the differences, especially on the mobile phones.

The smart phone display may map the two colors discussed here to the same or near-identical output.  Why?
  • Display Quantization
    • The values of R and B are near maximum in the above said color
      • The maximum color value is 255.
      • In our case the RGB of the two are rgb(246, 250, 252) and (248, 250, 252).
    • Rounding and Gamma correction will compress the differences from the hardware and software of a mobile device.
  • OLED Screen
    • The smart phones having OLED screens, with high brightness levels,
      • The subpixel differences become less distinguishable
        • +3 in blue channel may not produce a visible shift
        • -2 in red may be completely lost
  • Viewing Conditions
    • On smart phones, the brightness varies, ambient light interferes and viewing angle shifts color.
    • As a Result, ΔE ≈ 2 is often perceived as identical by human brain.
      • That is, the human brain cannot differentiate between the colors

Using these two colors #FFF8FAFC and #FFF6FAFC for buttons, states and backgrounds is risky and leads to users unable to distinguish them reliably.

For those with accessibility concerns and conditions, ΔE ≈ 2 is effectively invisible.  It fails practical usability and experience expectations.


The final outcome from the test investigation and debugging is,
  1. These two colors used is not helpful and unreliable.
  2. Not suitable for distinguishing the GUI elements.
  3. Needs stronger contrast for interactive GUI design.
  4. If the ΔE ≈ 2.0 to 2.3, it is borderline and unreliable.
    • The range 2.0 to 2.3 may be ok only for subtle background variations.
    • In this case it failed; we all three users had difficulty and trouble to understand the GUI.
  5. Use the colors and contrasts with ΔE ≥ 3.

Use the below as a reference (heuristic) for standard perception thresholds.
  • ΔE is < 1,
    • the interpretation is not visible.
  • ΔE is 1 to 2, 
    • the interpretation is barely noticeable.
  • ΔE is 2 to 3, 
    • the interpretation is slightly noticeable
    • But it does not serve on mobile app engineering.
  • ΔE > 3, 
    • clearly visible

On the lighter fun side refer to the below pic.  Let me know what is the Empfindung of your eyes for the discussed two colors together with the white background.


Pic-8:  The screenshot of this blog post on my mobile screen.



The three colors FFFFFFFF, FFF8FAFC and FFF8FAFC appear to merge and look as one color.  Doesn't it?  

You can  try an experiment with the above pic.  Look at this pic, by increasing and decreasing the brightness and contrast of the screen (smart phone or monitor) by being in the lighted and dark.  What's your experience?

Hope this should be a sufficient data to understand the seriousness of the problem discussed in this post.




What's the Fix?

  1. For mobile app engineering, the recommendation for GUI color and contrast is
    • ΔE ≥ 3  -- good and preferred
    • ΔE ≥ 5  -- safe
  2. Use the better text in the search text field
    • This looks better and prompts to tap on it -- "Enter pickup location"
  3. Distinguish and highlight the search text field GUI component prominently
  4. When experimenting with AB Test configs, the GUI design to follow the suggested GUI Design & Color Engineering practices.
These fixes also benefit the users with accessibility concerns and conditions.  



Any questions or information needed on this please do connect with me.  I'm just one ping away!