Home

Wednesday, June 20, 2018

Illuminating the Tester's Path: Lessons from 'Are Your Lights On?'

As a software tester, diving into the pages of "Are Your Lights On?" by Donald C. Gause and Gerald M. Weinberg was akin to embarking on a journey of enlightenment. This book, while not specifically about software testing, has profoundly reshaped my approach to problem-solving in the testing arena. Here, I share with you ten transformative lessons that have not only illuminated my path but could also brighten yours.



1. Starting with the 'What'

Before you leap into action, pause and ask yourself, "What exactly is the problem here?" This initial step of clearly defining the problem is often overlooked, yet it's the cornerstone of effective software testing. It's a reminder that understanding the problem is half the battle won.

2. Seeing Through the Stakeholder's Eyes

Every problem has an owner, and recognizing their perspective is crucial. This insight has taught me to prioritize and address issues more effectively, ensuring that my testing efforts align with the stakeholders' needs and concerns.

3. Unleashing Creativity in Problem-Solving

The book paints problem-solving as an art form, encouraging creative thinking. This perspective has inspired me to explore unconventional approaches in testing, leading to more innovative and effective solutions.

4. The Art of Asking Questions

Asking the right questions is a powerful tool in the tester's arsenal. This strategy has been invaluable in uncovering the root causes of bugs and issues, allowing for more targeted and efficient testing efforts.

5. Peeling Back the Layers

Solutions often masquerade as problems. I've learned to peel back the layers to identify the true issues at hand, sharpening my ability to discern and tackle the real challenges in software testing.

6. Reframing the Problem

The advice to restate the problem has opened up new avenues of thought for me. By reformulating the problem statement, I've discovered alternative approaches and solutions that were not immediately apparent.

7. Connecting the Dots

Understanding that problems can be interconnected has been a game-changer. This realization has helped me trace issues to their source more effectively, leading to more comprehensive testing strategies.

8. Weighing the Consequences

The book cautions that solving one problem may inadvertently create others. This lesson has made me more mindful of the potential impacts of fixes, ensuring that my solutions don't lead to further issues down the line.

9. Choosing Your Battles

Not all problems are worth solving, at least not immediately. This wisdom has helped me prioritize testing issues, focusing my efforts on those that have the most significant impact.

10. Finding Joy in the Journey

Lastly, the engaging tone of the book has reminded me to find joy in the problem-solving process. This mindset has transformed my role as a tester into a fulfilling pursuit, filled with curiosity and discovery.

In conclusion, "Are Your Lights On?" has been a beacon, guiding me through the complexities of software testing. The lessons I've gleaned from its pages have not only enhanced my problem-solving skills but also enriched my professional journey. Whether you're a seasoned tester or just starting out, I believe these insights can illuminate your path too, turning challenges into opportunities for growth and innovation.

Thursday, February 26, 2015

Class & Instances

In Object Oriented world a class is a blueprint for the objects we want to create in code.

For example, let's say we wanted to represent a car in code. We can define a car using a C# class through attributes and behaviors. Some of the different attributes that make a car unique are its model, make, and color. For the car's behaviors, something a car does is start, so we can define this behavior. 


Putting this into code, we would have a car class with string attributes called model, make and color. We can also refer to these attributes as fields. This class would also have methods called start and stop because a car starts and stops. This is a behavior we want to define for the car. 


Car Class

string model;

string make;

string color;

start();

stop();


From the class blueprint, we can create several different types of cars. For example, one car could be a BMW 3 Series and have blue color. Another car might be a Merc Benz Class C and have green color. The way we create these individual cars from our car class blueprint is with the constructor. 


Now, both of these cars have a make, model, and color defined by the class blueprint, but the values of these attributes are different, depending on the car. Each of these cars can also start and stop so they would be able to call the start and stop method. This makes the Blue BMW car and the Green Merc car instances of the car class. 


These cars were constructed from the car class using a constructor, making them instances of the car class. 

Saturday, January 17, 2015

Speak Your Users’ Minds

The user based testing always fascinates me as the product is analyzed from the perspective of living person rather than dead code or design. A user is one who uses the “Product” or “Services”, the one who makes a product HIT or FLOP.

In last few years, I have observed that businesses are seriously considering the products from user’s point of view. Did you also update the test cases for the last product you tested? Does your test plan include scenarios for user based testing? Do you think about “User Experience” while testing the product?

The User Experience Testing or UX Testing, as most of the time we call it, is conducted to find out how user feels after using the product. Does user feel great about the product and come back for it or was it last time s/he used this product? Here, the product is tested against the emotions of the user and that is what makes it most difficult kind of testing.

When I think of Happy User Experience, the first example which comes in my mind is of IPhone. There are multiple brands with hundreds of smart phones running on different platform but still a large chunk of young population want to buy IPhone; even after the higher cost. Good user experience guarantees the Quality and people are ready to pay higher if product makes them happy.

How do you feel about IRCTC website?

Are you eager to try alternative of IRCTC, if available? If answer is “Yes”, I guess I made my point.

There are five factors I realized during testing which directly affect the user experience.

 

Factors affecting the UserExperience

Contextual: The product should be in context with the user requirement. If not, forget user will ever use the application.

Desirable: The need is over once product is contextual. Give user what he was wishing in the product. Little more than what was needed.

Usable: The product should be easy to use. Don’t make user to go and check for the manuals.

Accessible: The product is accessible to all users – abled and disabled.

Trustable: The user should have trust on what product does and what it conveys. Branding plays an important role in building the trust. Remember ‘I’ of HICUPPSF by Michael Bolton.

Customer is the King and King has broad spectrum of options. Now, it’s just not eBay only, there are Flipkart, Amazon, Tesco, SnapDeal and 50 other online retail and market places. Everybody is selling the same product then how one can differentiate itself from the herd. This is high time to include the user based testing in your test plan. You want to guarantee success of your product – Speak your users’ minds. Remember, the $300 million button.