Testers – what value add we provide?

As a tester what value add we provide? To answer this we need to answer few questions like
What is a business value of testing?
What is cost of quality?

Running tests by itself has no value add. Testing has value when it connects with some other goals or objective of the organization.
Some of the goals are listed below:

  1. Finding must-fix defects before release. This will reduce long term defect related cost.
  2. Finding less critical defects which have workaround. These workaround can be documented and reduce tech support and helpdesk cost.
  3. Reduce risk by running tests and giving confidence to delivery manager in releasing it to customer. This will give an assurance that the software will also pass the test on customer environments and probability of failure is less.

To measure the quantitative value add and efficiency of testing we need to look into Cost of Quality.

Cost of quality can be understood as cost of poor quality. Cost of quality shows that cost of poor quality is more and that good quality saves money. Cost of quality can be classified as

  1. Cost of prevention – Cost incurred to prevent bugs from happening. Example: training to development team.
  2. Cost of detection – Expense incurred in finding bugs and would include even if we do not find bugs. Examples: Test planning, design and execution etc.
  3. Cost of internal defects/failures – Expense incurred in re-work / bug fixing and expense of re-testing.
  4. Cost of external failures – Expenses we incurred because we did not found and removed all defects before release and there are defect leakages.

Spending effort on external failures are less if we spend more effort in defect prevention, detection and internal failures. It increases confidence that probability of external failures is less.

So it’s very clear that cost of quality is high if there is no internal testing. To phrase it correctly, no proper internal testing as you may argue that developers do testing. By Proper I mean complete end to end testing and not just unit level testing.

We clearly see that there is a need of testers and some value that testers can provide.
Also as a testers we should move out of our comfort zone and think ourselves as an independent advisor to customer and provide trusted advice to customer in terms of quality and quality improvement process.
Feel free to provide your thoughts on this.

 

Test Estimation – misconceptions

What is test estimation?

Test estimation is a prediction based on probabilistic assignment and is a continuous process, which should be followed and used throughout the project life-cycle.

Wiki definition of Estimate: Estimation is the process of finding an estimate, or approximation, which is a value that is usable for some purpose even if input data may be incomplete, uncertain, or unstable. Continue reading “Test Estimation – misconceptions”

Test strategy

What is it?
What does it look like?

As per James Bach “How we plan to cover the product so as to develop an adequate assessment of quality.”
A good test strategy is:

  • Specific
  • Practical
  • Justified

Wikipedia defination “A test strategy is an outline that describes the testing approach of the software development cycle.”

The purpose of a test strategy is to clarify the major tasks and challenges of the test project. Test strategy is sometime also refered as Test Approach and Test Architecture.

Example of a poorly stated (and probably poorly conceived) test strategy:

“We will use black box testing, cause-effect graphing, boundary testing, and white box testing to test this product against its specification.”

Whether you are professional tester or not everyone does some sort of testing. You test before you buy a shirt, a cell phone or a pair of shoes. In each of the 3 cases you approach for testing will change. You may argue that you are testing as an enduser but still you are testing.
Similarly, in software you approach should and will change for different types of application/product. Approach for testing a standalone windows application will be different from a web application or a mobile application.
Test Technique

“A way of creating or executing tests.” and is much more general than a test strategy.

Test Cases/Procedures

Test cases and procedures should manifest the test strategy and if your strategy is to “execute the test suite I got from Rajiv”, how does that answer the prime strategic questions:

How will you cover the product and assess quality?
How is that practical and justified with respect to the specifics of this project and product?

If you don’t know, then your real strategy is that you’re trusting things to work out.

More on how to define and identify your test strategy will be covered in a separate post.