follow us:

Fundamentals of Testing

If debugging is the process of removing bugs, then programming must be the process of putting them in

What is Testing? 

The process used to assess the quality of computer software to provide stakeholders with information about the quality of the application, product or system, with respect to the context in which it is intended to operate.

Why is Testing Necessary?

  • Reduce the risk of problems occurring during operation (production)
  • To give confidence in the quality of software
  • Meet contractual or legal requirements
  • Provide stakeholders with information about the quality of the application, product or system, with respect to the context in which it is intended to operate

Principles of Testing

  • Principle 1 – Testing shows presence of defects

Testing can show that defects are present, but cannot prove that there are no defects. Testing reduces the probability of undiscovered defects remaining in the software but, even if no defects are found, it is not a proof of correctness.

  • Principle 2 – Exhaustive testing is impossible

Testing everything (all combinations of inputs and preconditions) is not feasible except for trivial cases. Instead of exhaustive testing, risk analysis and priorities should be used to focus testing efforts.

  • Principle 3 – Early testing

To find defects early, testing activities shall be started as early as possible in the software or system development life cycle, and shall be focused on defined objectives.

  • Principle 4 – Defect clustering

Testing effort shall be focused proportionally to the expected and later observed defect density of modules. A small number of modules usually contains most of the defects discovered during prerelease testing, or is responsible for most of the operational failures.

  • Principle 5 – Pesticide paradox

If the same tests are repeated over and over again, eventually the same set of test cases will no longer find any new defects. To overcome this ‘pesticide paradox’, test cases need to be regularly reviewed and revised, and new and different tests need to be written to exercise different parts of the software or system to find potentially more defects.

  • Principle 6 – Testing is context dependent

Testing is done differently in different contexts. For example, safety-critical software is tested differently from an e-commerce site.

  • Principle 7 – Absence-of-errors fallacy

Finding and fixing defects does not help if the system built is unusable and does not fulfill the users needs and expectations.

Test Process

The most evident part of testing is the test execution stage, however for testing to be effective and efficient, it is paramount that time is factored in for the entire test phase, including planning the tests, designing test cases, preparing for execution as well as evaluating results.

Here at TQA we adhere to the ISTQB fundamental test process, which consists of the following main activities:

  • Test planning and control
  • Test analysis and design
  • Test implementation and execution
  • Evaluating exit criteria and reporting
  • Test closure activities

Although logically sequential, the activities in the process may overlap or take place concurrently. Tailoring these main activities within the context of the system and the project is usually required.

The SDLC Test Process detailed within the sub menus is an overview only and is purely provided to give you a better understanding of the software test process. The full ISTQB accredited test process consists of many more test requirements, activities and tasks necessary to ensure a successful software development implementation.

TQA possesses the necessary testing capabilities to fulfil all software testing requirements throughout the SDLC. We have qualified (ISTQB trained) Test Managers and Test Analysts, all of whom have a proven track record in the field of software testing.

Whether you are looking for an independent software test team or a specific software test specialist to maximise the successful delivery of your organisations’ software development project, TQA can assist, contact us today.

Test Process Improvement

Testing is often considered as an expensive and uncontrollable process. Conceptions of Testing are that it takes too much time, costs a lot more than planned and offers insufficient insight into the quality of the test process. If this is reality, the quality of the information system and the risks for the business can be difficult to determine.

Many organisations recognise the need to improve the quality of their organisation’s overall testing effort and realise that improving the test process can solve these problems.

Whilst recognising the need to improve the test process is an achievement in itself, putting it into practice is another matter altogether! It can be very difficult to define what steps are required for improving and controlling the test process.

A Test Process Improvement assessment will achieve this and more…

The Test Process Improvement assessment is defined by the TPI Next model that was developed based on “real world” test process development projects, as well as practical knowledge and experiences of professional testers.

TPI Next model drives the test process evaluation by providing a “snapshot” of an organisation’s current testing capabilities, providing a viewpoint in the maturity of the test processes. It also identifies which test processes need improving as well as provide realistic timelines to achieving results by defining gradual and controllable test process improvement steps.

If you have recognised the need to improve the test process quality within your organization, TQA can provide an independent Test Process Improvement assessment of your company’s current test processes as well as provide recommendations for maturing your testing capabilities.

TQA consultants have conducted TPI assessments at many organisations with varying test process competencies, across a diverse range of company sectors.

TPI assessments are confidential and all evaluation findings are provided in a detailed report and presented to the Stakeholder who commissioned the TPI assessment.

If you require a quote for a TPI Assessment to be performed at your place of work or would like further information on the TPI Assessment process please contact us and we will respond your query.

Identify the problem

Problem solving is in our DNA. In every new problem, we see an opportunity to fix something.

This is the time for active listening. Different people have different views. We listen to all of them and strive to understand the new light each view sheds upon the problem.

Now comes brainstorming. There is room for creativity, to discuss, to debate, to prioritise and to get to the heart of things.

Something happens when things get written down. It crystalises matters, it focuses the mind and helps unravel details and implications.

Determine the approach

Experience matters. We share our knowledge, are disciplined and collaborative, mapping a path to success.

Applying the right methodology is important. It means we get focused on the right things, the right way. It gives us a shared language to discuss the problem, help mitigate risks and provides a foundation for building a strong solution.

Variety adds color in life. Team creativity and collaboration leads to real options that answer the problem.

Finding balance amongst many options is difficult. Collective experience supported by better understanding allows us to filter the scenarios and advise which one has the best chance of success.

Implement the solution

Think like a surgeon. If you are going to do it, do it right. Bring new thinking, new ways of working and ongoing improvement.

Sometimes its hard to get everyone to agree. Knowing how the solution will help each person smooths the path to agreement and provides support to get it through.

This is the time to roll up our sleeves and get it done. A finish line is set, the troops rallied, action takes place, and a new solution is implemented.

Milestones were met, problems fixed, costs were contained. The journey is reviewed and together we gain insight – what lessons were learned, what adjustments are required and have expectations been fulfilled?