2008-12-30

Testing Phases / Parts What are their meanings

First let me start of by saying the QA is a very methodical occupation, there is a time for every little step, with that being said we can now discuss the different stages in the version testing cycles:

Functionality - this phase involves checking the a new added functionality has indeed been added for starters and further more we would test and make sure that it is functioning as expected according to system requirements.

Regression - in this phase the tester will continue on to test that old / previous system capabilities have not been affected by the change code done for the new features.

Bug Fixes - this phase is not part of every version cycle tests since it depends whether any bugs were fixed, basically QA is expected to go over the version Release Notes and verify that all the bugs marked by the programmer as fixed in this version have indeed been fixed. e.g. QA will have to simulate the conditions which brought on the defeact in the privious version and very that the defect does not occur in the new version.

Performance - every product has certain dimensioning requirements, regarding the amount of input it can handle, in this phase the QA will verify that the system can indeed handle the high marker for system input as specified in the System requirements by the product manager.

Stability
- in the same manner where a certain maximum input load is defined for a specific system then a certain steady state should also be decided upon between product manager and system engineer.
according to this steady state stability tests are run checking system functionality over an extended period of time to see no system error occurs during the said time, stability tests can run from hours to days or weeks

Attacks - in different SUT's (Systems Under Test) this test phase may be called in different names, in general this test phase will include abnormal use of the system to check for ability to receive abuse by hostile/ untrained operator.

Sanity - this phase is one of the critical phases. basically it is a collection of several test cases from all of the above phases (almost) which is meant to give a quick picture of system state after receiving a bug fix /patch.
Again this will not test the entire system but rather a brief run through the system in order to reflect system state to relevant parties

Cyclic Testing vs. Itertive Testing

Iterative testing -

Simply means testing that is repeated, or iterated, multiple times. Iterative usability testing matters because the ultimate goal of all usability work is to improve usability.

Iterative testing is usually helpful in early development steps and can be considered as part of the integration process.

Cyclic Tests -

This is the type of testing we usually associate with classical testing in Cyclic testing the work is more methodical.

The content of a released version is usually divided into several parts.

We would usually try to test new version features in the earlier cycles later moving on to regression.

We should incorporate bug fixes cycles during this cycles provided we receive bug fixes during the test phases.

We will discuss the different parts in more details in future blogs.