Software testing levels Principles of testing QC-QA
Principles of testing
Unit (Component, Module) Testing: This is done primarily by developers to
make sure their code works fine and meets the specifications of users. They
check a piece of code (classes, functions, interfaces, procedures).
This test two or more components to test the interaction between
components, the interaction of different parts of the system.
System (or end- to- end) - it is the test of the entire system
from start to finish.
Acceptance testing is performed at end-users or customer to test the
Acceptance testing can be performed as part of the process between
any two phases of development.
Alpha testing, Beta testing
Alpha testing is done on the side of developers. This is done at the
end of the development process.
Beta testing, beta testing is carried out on the customer side. This is
done just before the launch of the product.
Principle 1. Testing shows presence of defects
Testing found that defects are present, but can not assure that there are no defects.
Testing reduces the number of probable unfound defects and if defects are found,
this does not guarantee their absence.
Principle 2. Exhaustive testing is impossible
Test total (all combinations introductions and preconditions) is not feasible
except for trivial cases. Instead efforts, test all available risk analysis and
priorities to help conduct targeted testing.
Principle 3. Early testing.
Testing begins as soon as possible and focuses on defining goals.
Principle 4. Defect clustering
Efforts testing focused proportionally to the expected and the resulting defect
density on the modules. Several modules usually contain most of the defects
found during doreliznoho testing-related or primarily with imperfections operating
Principle 5. Pesticide parade
If repeated tests, one set of test cases will not find new defects. Avoid
"pesticide paradox" can be regular checking, updating and posting new
Principle 6. Testing is context dependent
Testing different depending on the context of the product. For example,
critical software is tested differently than the protection of commercial site.
Principle 7. Absence - of - errors fallacy
Finding and fixing defects does not help if the system is useless and does
not meet the needs and expectations of the user.
What is it?
Quality assurance in the
Providing quality software
Improving the development
and testing processes
After phase encoding
implementation of process