Wednesday, June 18, 2025

Monetary Value Round Off -- A Legal and Business Problem

 

I read a blog post from Gaurav Khurana suggesting on round off of a number having decimals.  This is the post.  What made me curious is that number and what it meant.  It was a discount money having decimals.  Here, the number of decimals was not restricted to two.

Gaurav, said, it is a better experience if that discount amount is restricted to two decimals and rounded up.  Initially, I see, this is a fair expectation.

Here is the pic of a bill which Gaurav has shared.  I'm using it here on his permission.


I woke all of a sudden at 2:18 AM today, and I relooked into the post and that value whose decimal is not restricted.  I said myself there is something which cannot be rounded up or rounded down here and I could interpret it for a context.


Interpretation of the Value and its Meaning

  1. The "Bank Discount" showed the below amount
    • - 450.90999998999996
  2. The amount is in Indian Rupees
  3. This amount tells, it is the discount offered by the Bank on that transaction
  4. On round up, it will be,
    • - 450.91
  5. If I use the round up value, then the "Balance Paid" amount will be,
    • 4,058.18
  6. If I do not use the round up value, then the "Balance Paid" amount is still,
    • 4,058.18
  7. If I do not use the decimal values in "Bank Discount", then Balance Paid is,
    • 4,059.09
      • That is, I will have to pay 0.91 rupee (91 paisa) more.
    • In this case, someone is at loss.  Who?
      • Business?
      • Customer?
        • In the context of this bill, it is, customer who is paying.
        • Customer will pay 91 paisa, which is, almost one rupee more.
          • Now, imagine, the profit which business makes from all its customers for not having that decimal values in the amount!
        • Is this right?
The meaning and value of Balance Paid is not affected, in both cases, that is,
  • When I use Bank Discount value as is with decimals.
  • Or, When rounded up with two decimals.

My question is,
We should have check on decimals shown and used.  But, should we round up the number when it is of monetary significance and value?


Why I have this question?

  • Refer to the below examples.
    • 450.35
      • On round up, it will be 450.5
    • 450.55
      • On round up, it will be 451
If observed, on round up, the amount discounted is in excess by 0.15 rupee, that is, 15 paisa; and, in the case-2, it is in excess by 0.5 rupee, that is, 50 paisa.

If the bank loses these paisa for each transactions of same customer and other customers, won't the bank is shelling out the money?  Is this good?

Likewise, if I have to pay 0.15 paisa and 0.50 paisa, am I not paying more?  Then, imagine the big amount that business is making by rounding up a monetary number and making its customer pay in excess.


My Thoughts on Monetary Value Round Off

  1. The monetary value should not be rounded up or rounded down.  
    1. But, it can have a decimals and limited to two or to what business sees manageable.
      • As Gaurav said, decimal to two digits makes life easier for all is my understanding.
    2. The customer need to see this monetary value.
  2. The generated bill or transaction should have this detail.
  3. When making a payment, the billing system, can show a round off value.
    1. And, the business should decide upon, should the amount be round up or round down
May be to avoid such arguments and discussions in the billing counter, today, the bill amount will be a whole number and not a number with decimal.

Such round up instances can turn to a legal problems for the business.

I have noticed, the business offering round down on a monetary value, at times.  Also, I have noticed, certain consumer mobile apps showing rounded up number without breaking down the bill details.



Whatever, as a Test Engineer, I and you, have to create a report [ticket] for product's reference; keep the stakeholders informed of such behavior in the system by explaining the impact to business in monetary and legal aspects.





Monday, June 16, 2025

Solution Approach - How to Automate to Use the Magic Link for Login?

 

The question asked in The Test Chat community on 14th June 2025 22:42,

Hi All,
Has anyone implemented test automation for an application that uses a magic link for login?
If yes, could you please share the approach you followed?
Thanks in advance🙏🙏


My Analysis and Understanding

  1. The question asked is around automation.
  2. That is, how to automate to use the link (hypertext) generated for login.
  3. There are several ways to approach this, via
    1. GUI
    2. API
    3. Combination of GUI and API
  4. I prefer to use it in combination of GUI and API for first without using any email client services and app.
    • Why?
      • I want to keep it simple, quick and not to complicate the testing problems much more.


Solution and Approach

I see, it is not a complicated Test Engineering problem unless the project and floor do not support.


I understand, it is about using a link (hypertext) to login into a application via automation.

How do you get this hypertext?
  • It should be generated somewhere within the system's boundary.
  • Can you get that generated hypertext without using any mail client and its service points? How?
    • Do you have an endpoint that generates this hypertext?
    • If so, then this endpoint should also have some means to share the generated hypertext for login request?
    • Pick this generated hypertext via an API request in your automation.
  • This should work!  Unless the test goal in the automation is not to open some configured mail client and read the received mail.
    • But, how many times will you do this in automation, if the goal is to open configured mail client?
    • Is this a good use of automation?
If there is an endpoint to GET that generated hypertext (POST), it is a fair simple task.  

Say, there is no endpoint with GET request to give the generated hypertext. Then, look at the response payload of POST request that generates the login hypertext.   Consume this hypertext now and use it in GUI automation to login.  Say, there is no response payload in POST request.  Ask your team to build a GET request to consume internally and maintain it securely so that no external access is allowed.

Let us keep the testing problems simple!

 

Solution Approach - Blog Posts Series

 

I read questions and challenges shared in the Software Testing communities.  I try my best to assist in the ways I can.  

While I do this, I share the solutions and how to approach the solution.  

  • I see, this solution approach is good to be here as well.  
  • So that, it can serve as a reference to the readers who come to Testing Garage.
  • To make this happen, I will be sharing the blog posts with the question asked and possible solution to it, under the tag label "Solution and Approach".

If there is any follow-up discussion by the community and the person who asked the question, I will share those detail in the comment section of the same post.

It will be a simple and quick read blog posts for you, most times.

Have a good time reading, analyzing, debugging and challenging the solution and approaches I share.



Tuesday, June 10, 2025

In Memory of Sridhar Venkannachar -- My Engineering Manager

In this post, I want to tell you about Sridhar Venkannachar.  When I started my career, he was my Engineering Manager.

Today, we see more Engineering Manager roles on the floor.  But then in the 2000s, it was the role one got on delivering the staff and principal architect roles.

I see, the managers and lead engineers do not get appreciated by their teams and business units in open and public.  Or, it is not a everyday experience is what I learn.  To all this, Sridhar is an exception.  

It has been 19 years to this date, since I knew him.  I have never heard anyone speaking something lousy or not the good about him.

He passed away on 09th June 2025 around 10 PM IST.  He was driving back from an engagement ceremony along with his wife.  He experienced the sudden chest pain and tried to stop the car by slowing it down.  He could not stop; but, he slowed down by hitting it to the median (divider) in the road, so that, others on the road do not get hurt.  No one is injured on the road and neither his wife.  The passers on the road tried to help and revive him, but, by then he had collapsed to a massive heart attack.  Last month he had his complete health check and the reports said all good.  He had no blood pressure, diabetes and any other medical conditions.  This massive heart attack came all of sudden to him.  


What Makes Him Distinct and "Our Engineering Manager"?

  1. He has the smile no matter what the situation is on the floor.
  2. He is healthy, fit, and agile with a dynamic personality.
  3. His calmness irrespective of the problems being solved.
  4. He makes sure his team and people do not go through needless stress and anxiety.
  5. He embraces uncertainty and he is beside the team and people in getting the certainty of the context.
  6. He solves the problems and helped to solve the problems.
  7. He asked the status as, "Did you get a chance to have a look at it?"
  8. He asked, "How can I help you?"
  9. He never stepped up saying I will solve and do everything.
    • Instead, he gave the engineers an opportunity to pick new challenges and responsibilities.
    • He mentored them to deliver the solutions to the challenges.
  10. He came to my cabin, and asked, "Do you have any questions? Let me know! I'm waiting for them.".
  11. He is a people manager.
    • People approached him though he was a technical and engineering person.
  12. I knocked his door whenever I had a technical doubts and questions in the tech stack and projects.
  13. He said, "I'm waiting for what you will be reporting. Take your time.  I'm curious to know what you bring now!"
  14. He consistently strengthened the engineering practice and culture on the floor.
  15. He listened and gave importance to the discussions, unit testing, testing and opinions of the programmers and testers.
  16. When I ran automation overnight in the lab, he came to lab and sat beside me to know how the automation run is able to identifying the performance glitches.
    • He wanted to know and paired along with me to investigate and debug the Out Of Memory incidents and growing heaps.
  17.  I never felt he is superior. 
    • Instead, I felt, I can always go to him or he will come to me when he see, I need him.  The same was the experience to any others and for the seniors in the org.
  18. His people skills and tech skills are of high standards that has set me an example and one of the benchmarks.
  19. He invited the testing team for the project, tech and release discussions and he expected that we were part of it.  He looked in deep attention and keen for our inputs and thoughts.
  20. I never knew about Agile in 2008.  It was the starting days of Agile Methodologies and practice.
    1. He use to talk, read, explore and implemented its practice.  I asked him, what it is.  He explained it in gist.
  21. I felt, the team can play and have fun with laughter and smile.
    • He did that and said the team to have fun and be cheerful.
    • He made sure, he said what is expected and how we have to work along to deliver it.
  22. I did not see a day where he was shouting or yelling or blaming.
    • Instead, he listened, spoke with calmness and smile, and helped the engineers to solve the problem.
    • He never showed unhealthy emotions, expressions and language despite being in that role.
  23. Till a few months back, he gave a call and asked,
    • How will you test and automate by giving an alternate example of a problem?
    • How you test architect to solve this problem?
    • How will you test this engineering work with these tech stacks?
    • How will you go layers down into these hardware, OS, network and what will you learn to test here?
  24. While he himself being an amazing software engineer and skilled architect, he asked and listened to a Test Engineer.  He made notes of the discussion.
  25. He remained as a student till this day.
I can keep listing about him.  It does not end!  But, I pause here, for now.

Those discussions about CORBA and Messaging, and, the hardware interfaces keeps buzzing in my ear to this day.

He came to my cabin and looked at the poster "Testing Garage" below my name.  And, he further looked into my planners and read them.  He always said, I read your debugging and bug reports.  He never missed to respond for the overnight automation run reports, where I marked, the vitalities showing variations.  Such encouragement and support from him made me to practice software testing with enthusiasm. 

He never spoke ill or low about the Testing or Testers or any others.  As a result, my starting days of testing got its nourishment and support I needed to build the skills.

His legacy will live on!  

I heard the same today from the entire Datacard Software India people, irrespective of their roles.  Today, none of us work in the same org, yet, everyone shared about their relationship with him and how beautiful it is!  Note that, all spoke more about the beautiful relationship.

We both worked on the memory, heap size and objects for months.  Today, I write a "in the memory ..." blog post for him.

I wish, we all find and work at least with one such manager in our career span.  He or she will let us know and learn how to treat one with dignity, respects and values for first along with professionalism.

Today, I was able to glimpse him for one last time.  I thank the universe for this.



Dear Sir,

You will be in my memories and work.  

I know how heavy it is to your family, when we can see it, in us.

Your footmarks will be there for all time in my testing, engineering deliveries and professionalism.  A few live on no matter how long or short their time is.

 

Miss you! Gratitude and Respects!