Search PPTs

Friday, July 26, 2013

2.The code works according to the functional requirements. The code has been written in accordance with the design developed earlier in the project life cycle. The code for any functionality has been missed out.The code handles errors properly.

3.In dynamic testing, we test a running program. So, now binaries and executables are desired. We try to test the internal logic of the program now. It entails running the actual product against some pre designed test cases to exercise as much of the code as possible.

4.At the initial stages, the developer or tester can perform certain tests based on the input variables and the corresponding expected output variables. This can be a quick test. If we repeat these tests for multiple values of input variables also then the confidence level of the developer to go to the next level increases. For complex modules, the tester can insert some print statements in between to check whether the program control passes through all statements and loops. It is important remove the intermediate print statements after the defects are fixed. Another method is to run the product under a debugger or an integrated development environment (IDE). These tools involve single stepping of instructions, setting break points at any function or instruction.

5.Code coverage testing involves designing and executing test cases and finding out the percentage of code that is covered by testing. The percentage of code covered by a test is found by adopting a technique called as the instrumentation of code. These tools rebuild the code, do product linking with a set of libraries provided by the tool, monitor the portions of code covered, reporting on the portions of the code that are covered frequently, so that the critical or most often portions of code can be identified.

6.Statement coverage refers to writing test cases that execute each of the program statements. We assume that “more the code covered, the better is the testing of the functionality”If there are asynchronous exceptions in the code, like divide by zero, then even if we start a test case at the beginning of a section, the test case may not cover all the statements in that section. Thus, even in case of sequential statements, coverage for all statements may not be achieved. A section of code may be entered from multiple points.

7.In path coverage technique, we split a program in to a number of distinct paths. A program or a part of a program can start from the beginning and take nay of the paths to its completion. The path coverage of a program may be calculated based on the following formula:-

8.Functions (like functions in C) are easier to identify in a program and hence it is easier to write test cases to provide function coverage. Since functions are at higher level of abstraction than code, it is easier to achieve 100% function coverage. It is easier to prioritize the functions for testing. Function coverage provides a way of testing traceability, that is tracing requirements through design, coding and testing phases. Function coverage provides a natural transition to black box testing.

9.Which of the paths are independent? If two paths are not independent, then we may be able to minimize the number of tests. Is there any limit on the number of tests that must be run to ensure that all the statements have been executed at least once?

10.McCabe’s cyclomatic metric, V(G) of a graph G with n vertices and e edges is given by the formula : V(G) = e-n+2