Looking for Trouble (מחפש צרות)

Testing World is a Hebrew magazine for software testers (http://www.testingworld.co.il).

“Looking for Trouble” is my column in the magazine. In the column I write on a variety of subjects related to software testing.

The column is of course in Hebrew, but I translated many of the pieces; some were then published on stickyminds.com and a copy is available here.

 

Pick up a Book!

Download Article ( Hebrew)

Learn a bit about me, how I got to work in SW testing and why I think reading books about the profession – not just blogs and website articles, is important for your career. The article includes a link to recommended reading list.

back to top

 

Less is More
Picking Your Test Automation Language

Download Article (English Hebrew)

It’s a classic dispute: Two test automation engineers can’t agree on which programming language to use. In some contexts, the strong points of a certain language definitively make it the right choice, but what do you do when either language could work well for a project? That’s when it becomes a managerial decision.

back to top

 

Tradition

Download Article (English Hebrew)

When we try to implement new processes, there is often resistance from the team. People get so used to their typical habits that it doesn’t occur to them that there could be a better way to do things. To get buy-in from everyone, you need to understand the current traditions, then think about how you can set an example to start making the processes a new tradition

back to top

 

Overcome Your Hatred of Test Documentation

 

Download Article (English / Hebrew)

Writing test documents is a good practice to have: It enforces an orderly thought process, explains what you’re planning, and improves the test strategy. But knowing it’s useful doesn’t make it any more fun. This article suggests five tips to help make the idea of test documentation a little easier—or at least a little more difficult to hate.

back to top

 

Exit Criteria, Software Quality, and Gut Feelings

Download Article ( English Hebrew)

Bug counts and trends don’t cover all the quality aspects of a product. A good exit criteria list provides an orderly list of attributes that research and experience showed to have impact on product quality, so you can monitor the product quality at any given time and forecast the expected status at release. That’s how you improve your product.

back to top

 

Who is to Blame?
Why does SW Testing has low prestige?

Download Article (Hebrew)

Software testing does not enjoy the high prestige that software development enjoys. In fact, it is seen as a second-level job in the development hierarchy. Why is this so? Is this a lost case or can we do something to change this stigma?

back to top

 

Tools Rules

Download Article (English Hebrew)

When we speak about Test Automation, our first association is of a major integrated system: An execution controller, scripts, monitors, logs, reports, a user-interface and a database that supports the whole thing. Something big and complex.

But if we use James Bach’s definition for test automation (“any use of tools to aid testing”), we quickly realize that we write many of such tools every year. As tool writing is a major part of our daily work, it makes sense to think about the correct management of this activity.

back to top

 

Consistency
The hidden requirement

Download Article (English / Hebrew)

It’s easy to see that style consistency is important when discussing the user interface. But there are other areas where being consistent is just as important, even though they are not as visible. Consistency is one of the quality attributes of a product—any product—even if it is not stated clearly in the requirements documents, and testers have a responsibility to check for it.

back to top

 

Same Old Story
Developing and using bug taxonomy 

Download Article (English / Hebrew)

In software testing, bug taxonomy involves defining feature categories and collecting lists of possible bugs in each category. These lists can be used to give inexperienced testers some starting points, to help experienced testers brainstorm new ideas, and to evaluate the completeness of a test case. Using an existing bug taxonomy can be useful, but creating your own is even better.

back to top

 

Double or two?
When is a bug a Duplicate?

Download Article (English / Hebrew)

When can a bug report be considered redundant because it is already reported in the bug management system? If you ask the developers, if two bugs are caused by the same mistake in the code, it’s enough to report one of them. But from a tester’s perspective it’s better to err on the side of over-reporting bugs.

back to top

 

Ethics

Download Article (English / Hebrew)

When we speak of “test ethics,” the given examples usually are trivial dilemmas. Do we avoid reporting a bug? Do we report that testing is progressing as planned, even though it’s definitely late? These questions are kids’ stuff: easy because the situation is so black-and-white. But life will present you with complicated cases where the answer is not that obvious.

back to top

 

Opportunity Cost
How Much of Debugging Software Is a Tester’s Responsibility?

Download Article (English / Hebrew)

Everyone knows a tester’s job is to help improve the quality of the software under test. But it gets a little murky when you try to define the boundary between testing and debugging. There’s no clear delineation: Some testers would state how to reproduce the bug, write the report, and hand it off, while others learn the code, find the root cause, and even create builds to fix the bugs. How much is useful, and how much is too much?

back to top

 

Reporting Performance Test Results

Download Article (English: Part 1 ;  Part 2 / Hebrew)

Reporting the results of functional tests is relatively simple because these tests have a clear pass or fail outcome. Reporting the results of performance testing is much more nuanced, and there are many ways of displaying these values—but Michael Stahl felt none of these ways was particularly effective. He proposes a reporting method that makes performance test results easy to read at a glance.

back to top

 

To Boot or Not to Boot?

Download Article (English / Hebrew)

Continuous operation tests find important bugs, partly as a result of their long operation and partly by increasing the probability of finding statistical bugs. However, CO tests have their own downsides. Mandating a periodic reset or reboot can work around these issues, as well as save time and cost for testing, reproduction, debugging, and fix verification.

back to top

 

A License to Err

Download Article (English / Hebrew)

There are many metrics to measure the effectiveness of a testing team. One is the rejected defect ratio (RDR), or the number of rejected bug reports divided by the total submitted bug reports. You may think you want zero rejected bugs, but there are several reasons that’s not the case. Let’s look at types of rejected bugs, see how they contribute to the rejected defect ratio, and explore the right ratio for your team.

back to top

 

Test Automation Bottlenecks

Download Article (English / Hebrew)

The test team uses the test automation system to execute thousands of test cases because … why not? The tests are running automatically, for free, so there is no incentive to improve test efficiency. Just run them all! But eventually, as more and more tests are added, the system becomes overloaded. Test runs are delayed and you get a bottleneck. Don’t throw more money—or new systems—at the problem; do this instead.

back to top

 

 

Cats and Dogs

Download Article (English / Hebrew)

Testers and developers often have a strained relationship. Each side has a certain level of expectations as to what the other side should know and do, while there is little understanding of the constraints, conditions, and requirements that the other team has to work within. But it does not have to be this way. A little effort in giving more specific and helpful feedback can go a long way toward improving attitudes.

back to top

 

 

Test Data Collection and Management

Download Article (English / Hebrew)

There is much published about the data we generate to assess product quality. There is less discussion about the data testers generate for our own use that can help us improve our work—and even less is said about recommended practices for data collection. Test data collection, management, and use all call for upfront planning and ongoing maintenance. Here’s how testers can improve these practices.

back to top

 

 

Spontaneous Fix

Download Article (English / Hebrew)

After finding and reporting a bug, a tester may get this response from a developer: “Please rerun the test on the latest version of the code and check if the bug still reproduces.” This seems like a rational request; just as a change can cause a bug to appear, it can also fix a bug. But is following up the responsibility of the tester or the developer? And if the bug is no longer there, how do you classify and close it?

back to top

 

 

Research Ideas

Download Article (English / Hebrew)

There are many established ideas for ways to test software, but the industry is changing every day, and there’s plenty of room for growth of new ideas—or challenges to traditional ones. Here are three ideas for “wish-list” research to conduct in order to shake up some of the conventional notions you may have about software testing techniques.

back to top

 

 

Metamorphic Tests

Download Article (English / Hebrew)

Metamorphic test technique was first suggested more than 20 years ago, yet it is pretty much unknown and unused.  With the increasing ubiquity of AI-based applications, this technique, which solves some of the inherent problems in testing AI, will probably gain more popularity.

back to top

 

 

Metaphors and Allegories

Download Article ( Hebrew)

The right metaphor or allegory can convey a concept in an effective way. Popcorn, screws-tightening, round matzos and safety belts are testing-relevant metaphors.

back to top

 

 

Security Testing

Download Article ( Hebrew)

Security testing is seen by many as the domain of white-hat hackers and experts in penetration testing. In reality, security testing is, to a large degree, a broadening of the scope of functional tests. It is not a completely new domain and often it’s just a matter of paying more attention to the way the program behaves while running tests that functional testers would anyway execute.

back to top

 

 

The Iceberg Principle

Download Article ( Hebrew)

Large parts of any non-trivial system are not clearly visible or apparent to the user. These parts, while hidden, play a very significant role in the workings of the system and without understanding “what’s below the waterline” one does not have a complete understanding of the system. Testers should pay attention to these parts, which tend, because of being hidden, to be under-tested.

back to top

 

 

A Deeper look at Equivalence Partitioning

Download Article ( Hebrew)

When taught at courses or in textbooks, the equivalent partitioning test technique looks trivial and straight forward. But when we try to implement it on a real product, we often find that life is not as simple as the textbook examples. A deeper look at the technique teaches us about its pitfalls and how to use it when partitioning is not trivial.

back to top

 

 

A Deeper look at Boundary Values

Download Article ( Hebrew)

When discussing the boundary values test technique, it is common to talk about two-point and three-point boundary values. What do three values add to the two values? Or maybe we need (spoiler alert!) four values? Other topics covered are the use of boundary values for testing multiple parameters and how to cope with cases where the boundaries are not well defined.

back to top

 

The One Line Challenge

Download Article (Hebrew)
 
Writing the title of a bug or a test case is not as simple as you may think. In one concise sentence, you need to convey a large amount of information (what happened; how severe is it; when does it happen)  to a diverse audience (development and validation engineers; program managers). This article proposes a simple template that helps achieve this goal. 

 

back to top

 

Install Testing

Download Article (Hebrew)
 
Installation testing sounds like something almost trivial. All it takes is to double-click the installer… Also, it’s a feature that will used by most users only once – so how much effort is it worth investing in testing it?
The reality is much more complicated. The following installation horror story serves to drive the message home: install testing is not trivial and calls for much more testing than you’d initially think. 
A bonus is the list of more than 100 items that need to be considered for testing, when assigned to test the installer. 

 

back to top