1. Time
    1. Deadline
      1. for testing
      2. for iteration
      3. for release
      4. other important dates for the project
    2. We stopped maintaining the product
    3. Dates are known, consistent, write down in the test plan
  2. Budget
  3. All planned testing was completed
    1. All goals have been achieved
    2. The required level of test coverage is achieved
      1. For new functions
      2. For regress
  4. The main scenarios are stable
    1. All the critical test cases successfully passed
    2. All test cases successfully passed
    3. All interactions are taken into account
  5. Defects
    1. No defects with high priority and severity
      1. Fixed
      2. Retest
    2. Defects with low priority and severity
      1. Agreed with Team and Managers
        1. The final decisions are made and they are clears for all members
      2. Do not affect the basic user scenarios or their impact is minimall
    3. MTBF (Mean Time Between Failure) corresponds to the expected time
    4. Defect detection rate is lower than set value
    5. We can not to find defects more
  6. All risks are taken into account
  7. All needed information about testing is documented
  8. Use metrics
    1. For Test-Cases
      1. % of executed test case corresponds to the required
      2. % passed test-cases corresponds to the required
      3. % failed test-cases corresponds to the required
        1. Such test cases do not refer to the base scenarios
    2. Required level of test coverage is achieved
    3. For Defects
      1. The density / number of finding defects corresponds to the required
    4. For autotests
      1. All autotests passed successfully
      2. % passed autotests corresponds to the required
    5. For requirements
      1. All requirements have been testing
  9. Technical problem
    1. Problems with the servers, network, and other force majeure
    2. Product crash
      1. Too many critical and blocking defects
  10. Personal feelings
    1. What our intuition tells us
      1. Is there an inner sense of incompleteness?
      2. Are there any questions, uncertainties?
    2. I do not know what to do next
  11. External events
    1. The requirements have changed
    2. Testing was canceled by managers
    3. The release time was changed
    4. Functional became irrelevant
    5. Task priority was changed
  12. What we remember
    1. Testing Result
      1. Successful
      2. Unsuccessful
      3. Testing should be continued
    2. Never compromise on quality
    3. Impossibility of Complete Testing
      1. Principle: exhaustive testing is impossible
    4. The longer we test, the more defects we will find
    5. Any product contains an unlimited number of defects
    6. We can not be sure that the product does not contain defects
    7. All used metrics and its values, the models should be agreed with the Team and Managers
    8. Parkinson's law
      1. work expands so as to fill the time available for its completion
  13. Useful links
    1. Michael Bolton
      1. http://www.developsense.com/blog/2009/09/when-do-we-stop-test/
    2. The Art of Software Testing
      1. https://www.amazon.com/dp/0471043281/?tag=stackoverflow17-20
    3. Simon Knight
      1. https://blog.gurock.com/when-do-i-stop-testing/
    4. Yegor Bugayenko
      1. The Formula for Software Quality
        1. http://www.yegor256.com/2017/12/26/software-quality-formula.html
      2. Any Program Has an Unlimited Number of Bugs
        1. http://www.yegor256.com/2017/05/23/unlimited-number-of-bugs.html
    5. http://www.softwaretestinghelp.com Renuka K.
      1. http://www.softwaretestinghelp.com/when-to-stop-testing-exit-criteria-in-software-testing/