ISTQB

Foundation level syllabus 

Fundamentals of testing
software systems
  1. software systems are an main part of life. most people had an experience with the software systems.
  2. software does not work correctly it can lead to many problems like loss of money, death, injury etc....
Causes of software defects.
  1. A developer can make an error mistakes in the program , which produces a defect
  2. Defected code is executed, system produces failure results.
  3. Defects can be occur because of time pressure, complex code, complexity of infrastructure, technologies etc.
  4. Failure can be caused by environmental conditions
Role of testing in software development, maintenance, operation
  1. Rigorous testing of software system can helps us to reduce the problem , if the defects are foun are corrected before the system is released.
Testing and quality
  1. In functional and non functional requirements , it is possible to measure the quality of software in terms of defects
  2. (i.e ) reliability, usability, efficiency, maintainability and portability )
  3. A properly designed tests that passes reduces the overall level of risk in the systems. when testing finds defects, the quality of software system increases. when those defects are fixed.
  4. lessons should be learned from previous projects and understanding the root causes of the defects found in other projects. processes can be improved.
  5. Should prevent the defects from reoccurring and improve the quality of future systems. This is knows as quality assurance.
  6. Testing should be integrated as one of the quality assurance activities
How much testing is enough
  1. How much testing is enough, this decision should take account of the level of risk, technical safety, business risks, time and budget, 
What is Testing

  1. A common definition of testing is that consists of running the tests. executing the software is not at all testing. It contains many features before and after executions.
  2. Testing activities include planning controls, test conditions, designing and executing the test cases.checking the results, reporting the test process and finalizing and completing the closure activities.
  3. Both dynamic and static testing can be used for achieving the similar objectives and provide information that can be used to both testing activities, documents and development process.
Testing have the following objectives.
  1. Finding defects
  2. Gaining confidence about the level of quality
  3. Providing information for the decision making
  4. Preventing defects

Steps to prevent defects in the early stage
  1. The process involved in designing tests in the early life cycle that can help to prevent people from defects introducing into code.
  2. Review of documents and the identification of requirements also help to prevent defects appearing in the code.
  3.  Different view points in testing takes different objectives. Main objective of development testing may cause as failures, so that defects in the software are identified and its fixed.
  4. For acceptance testing, the main objective is to confirm that the system works as expected to met his requirements.
  5. In some cases, the main objective of testing , may be to assess the quality of software to give the information to the stake holders of the risk or releasing the system at a given time.
  6. Main objective of maintenance team, no new defects have been introduced during the development of changes.
  7. Main objective of operational testing, assess system characteristics such as reliability or availability.
  8. Debugging and testing are different . dynamic testing can chow failures caused by defects.
  9. Debugging is the development activity that finds and analyze and removes the causes of failure.
  10. Subsequent retesting by a tester ensures that the fix does not indeed resolves the failure.
  11. The responsibility for these activities is testers do test process and developers do debug process.

Seven testing principles

Testing shows presence of defects
  1. Testing can shows that defects are present, but cannot prove that there are no defects in the software.
  2. Testing can reduces the probability of undiscovered defects remaining in the software , even if no defects are found , it is not a proof of correctness.
Exhaustive testing is impossible
  1. Testing everything is not possible except for trival cases.
  2. Instead of exhaustive testing, risk analysis and priorities should be used to focus testing efforts.
Early testing
  1. To find defects in the early stages, testing activities shall be treated as early as possible in the software or system development life cycle and should be focused on defined objectives.
Defect clustering
  1. Testing efforts shall be focused proportionally to the expected and later observed defect density of modules. 
  2. A small number of modules usually contains most of the defects discovered during the prerelease testing  or responsible for the most of the operational failures.
Pesticide Paradox
  1. If the same tests are repeated over and over, the same set of test cases will move to the new defects.
  2. To overcome this, we need to be regularly and revised the documents.
  3. new and different tests need to be written to excercise different parts of the software or systems to find  more defects.
Testing is context dependent
  1. Testing is done differently in different context.
  2. Gaming site is tested differently from e-commerce site.
Absence of errors fallacy
  1. Finding and fixing the defects does not help , if the systems built is unusable and does not fulfill  the users needs and expectations.











No comments:

Post a Comment