Archive for the ‘Software Testing’ Category

Ten Software Testing Myths …

I was reading Lidor Wyssocky’s blog and his post on 10 software development myths. I thought, let me re-do this list for software testing – replace words “development” by “testing” and other relevant words. Here is the list … Bingo … we, the software testers *nearly* share the list of myths (frustrations?) …

It is interesting to note that last 5 myths go unchanged … development and testing share the honor. I even doubt that Lidor might be a software tester or a developer having a strong tester like mind.

10. The tester’s task is easy: he should merely write and execute the test cases by translating requirements to test cases. Additionally log some bugs.

9. Every test case is documented. Otherwise, how on earth can we expect to do regression testing and in general repeat testing?

8. Test case Reviews are a one-time effort. All you have to do is take an artifact after it is completed, and verify that it is correct. Test case reviews, for example, should merely verify that *all* requirements are covered by test cases and EVERY REQUIREMENT is COVERED by AT LEAST ONE TEST CASE.

7. Software Testing should be like manufacturing. Each of us is a robot in an assembly line. Given a certain input, we should be able to come up automatically with the right output. Execute a set of test cases (should execute 100 test cases a day) and report pass/fail status.

6. Software Testing has nothing to do with creativity. Creativity – what? The only part which requires creativity is designing your assembly line of test case design. From that point on, everyone should just be obedient.

5. Creativity and discipline cannot live together. Creativity equals chaos. [This one remains unchanged from original list of software development myths]

4. The answer to every challenge we face in the software industry lies in defining a process. That process defines the assembly line without which we are doomed to work in a constant state of chaos. [BIG ONE …This one remains unchanged from original list of software development myths]

3. Processes have nothing to do with people. You are merely defining inputs and outputs for different parts of your machine.

2. If a process is not 100% repeatable, it is not a process. Letting people adapt the process and do “whatever they want” is just going back to chaos again.

1. Quality is all about serving the customer. Whatever the customer wants, he should get. Things that don’t concern your customer should not be of interest to you.

Like Lidor, can say “As I said, I guess we still have a long way to go…” ?

via Thinking Tester: Ten Software Testing Myths ….

Dear Programmer,

My job is to help you look good. My job is to support you as you create quality; to ease that burden instead of adding to it. In that spirit, I make the following commitments to you.

Sincerely,

Tester

1. I provide a service. You are an important client of that service. I am not satisfied unless you are satisfied.

2. I am not the gatekeeper of quality. I don’t “own” quality. Shipping a good product is a goal shared by all of us.

3. I will test your code as soon as I can after you deliver it to me. I know that you need my test results quickly (especially for fixes and new features).

4. I will strive to test in a way that allows you to be fully productive. I will not be a bottleneck.

5. I’ll make every reasonable effort to test, even if I have only partial information about the product.

6. I will learn the product quickly, and make use of that knowledge to test more cleverly.

7. I will test important things first, and try to find important problems. (I will also report things you might consider unimportant, just in case they turn out to be important after all, but I will spend less time on those.)

8. I will strive to test in the interests of everyone whose opinions matter, including you, so that you can make better decisions about the product.

9. I will write clear, concise, thoughtful, and respectful problem reports. (I may make suggestions about design, but I will never presume to be the designer.)

10. I will let you know how I’m testing, and invite your comments. And I will confer with you about little things you can do to make the product much easier to test.

11. I invite your special requests, such as if you need me to spot check something for you, help you document something, or run a special kind of test.

12. I will not carelessly waste your time. Or if I do, I will learn from that mistake.