written 5.6 years ago by | • modified 5.6 years ago |
Mumbai University > Information Technology > Sem 8 > Software Testing and Quality Assurance
Marks: 5 Mar
Difficulty : Medium
written 5.6 years ago by | • modified 5.6 years ago |
Mumbai University > Information Technology > Sem 8 > Software Testing and Quality Assurance
Marks: 5 Mar
Difficulty : Medium
written 5.6 years ago by |
Testing is the process of executing a program with the intent of finding errors. Following are the testing principles which helps in producing quality software –
1. Early testing is the best policy : The testing process is not a phase after coding, it rather tarts as soon as requirement specifications are prepared. Moreover, the cost of bugs can be reduced tenfold, as bugs are harder to detect in later stages if they go undetected. Thus, the policy is testing is to start as early as possible.
2. Testing strategy should start at the smallest module level and expand towards the whole program : This principle supports the idea of incremental testing. Testing must begin at the unit or module level, gradually progressing towards integrated modules and finally the whole system. Testing cannot be performed directly on the whole system. It must start with individual modules and slowly integrate the modules and test then.
3. Testing should also be performed by an independent team : when programmers develop the software, they test it at their individual modules. However, these programmers are not good testers of their own software. They are basically constructors of the software, but testing needs a destructive approach. It is always recommended to have the software tested by an independent testing team. Tester associated with the same project can also help in this direction, but this is not effective. For effective testing, the software may also be sent outside the organization for testing.
4. Everything must be recorded in software testing : Testing is not an intuitive process, rather it is a planned process. It demands that every detail be recorded and documented. We must have the record of every test case run and the bug reported. Even the inputs provided during testing and corresponding outputs are to be recorded. Executing the test cases in a recorded and documented way can greatly help while observing the bugs.
5. Invalid inputs and unexpected behavior have a high probability of finding an error : whenever the software is tested, we test for the valid inputs and for the functionality that the software is supposed to do. However, thinking is a negative way, we must test the software with invalid inputs and the behavior, which is not expected in general.
6. Testers must participate in specification and design reviews : Testers role is not only to get the software and documentations and test them. If they are not participating in other reviews such as specification and design, it may be possible that either some specifications are not tested or some test cases are built for no specifications.