Sie sind auf Seite 1von 7

ASSIGNMENT-5

Cse-314
SUBMITTED TOHARjinder KAUR SUBMITTED BYsurendra MCA 2nd sem d-3804B51 Regd.no.10806601

1. Myers [MYE79] uses the following program as a self-assessment for your ability to specify adequate testing: A program reads three integer values. The three values are interpreted as representing the lengths of the sides of a triangle. The program prints a message that states whether the triangle is scalene, isosceles, or equilateral. Develop a set of test cases that you feel will adequately test this program.

A number of excellent books are now available for those readers who desire additional information on software testing technology. Kaner, Nguyen, and Falk (Testing Computer Software, Wiley, 1999); Hutcheson (Software Testing Methods and Metrics: The Most Important Tests, McGraw-Hill, 1997); Marick (The Craft of Software Testing: Subsystem Testing Including Object-Based and Object-Oriented Testing, Prentice-Hall, 1995); Jorgensen (Software Testing : A Craftsman's Approach, CRC Press, 1995) present treatments of the subject that consider testing methods and strategies. Myers [MYE79] remains a classic text, covering black-box techniques in considerable detail. Beizer [BEI90] provides comprehensive coverage of white-box techniques, introducing a level of mathematical rigor that has often been missing in other treatments of testing. His later book [BEI95] presents a concise treatment of important methods. Perry (Effective Methods for Software Testing, Wiley-QED, 1995) and Friedman and Voas (Software Assessment: Reliability, Safety, Testability, Wiley, 1995) present good introductions to testing strategies and tactics. Mosley (The Handbook of MIS Application Software Testing, Prentice-Hall, 1993) discusses testing issues for large information systems, and Marks (Testing Very Big Systems, McGrawHill, 1992) discusses the special issues that must be considered when testing major programming systems.

2.Will exhaustive testing (even if it is possible for very small programs) guarantee that the program is 100 percent correct?

Exhaustive testing is the process that causes carbon monoxide to be emitted from ones exhaust.You must take care if testing in larger teams,as the amount of noxious gasses produced can be harmful. When testing exhaustively, please do so by an open door or window, or even better in the open,may be a field or alongside a river jetty. As a sub note, and through caution, when planning testing activities, ensure your team members have not been eating spicy foods such as curries, babies heads or fish and chips the night before testing execution is planned. I hope this post is helpful, if anything else springs to mind regarding exhaustive testing or any related subject then I will also post that information of usefulness. 3.Design and Implement the program (with error handling where appropriate)specified in Classes of loops .Derive a flow graph for the program and apply basis path testing to develop test cases that will guarantee that all statements in the program have been tested. Execute the cases and show your result. Ans..Loops are the cornerstone for the vast majority of all algorithms implemented in software. And yet, we often pay them little heed while conducting software tests. Loop testing is a white-box testing technique that focuses exclusively on the validity of loop constructs. Four different classes of loops [BEI90] can be defined: simple loops, concatenated loops, nested loops, and unstructured loops (Figure 17.8). Simple loops. The following set of tests can be applied to simple loops, where n is the maximum number of allowable passes through the loop. 1. Skip the loop entirely. 2. Only one pass through the loop. 3. Two passes through the loop. 4. m passes through the loop where m < n. 5. n _1, n, n + 1 passes through the loop. Nested loops. If we were to extend the test approach for simple loops to nested

loops, the number of possible tests would grow geometrically as the level of nesting increases. This would result in an impractical number of tests. Beizer suggests an approach that will help to reduce the number of tests: 1. Start at the innermost loop. Set all other loops to minimum values. 2. Conduct simple loop tests for the innermost loop while holding the outer loops at their minimum iteration parameter (e.g., loop counter) values. Add other tests for out-of-range or excluded values. 3. Work outward, conducting tests for the next loop, but keeping all other outer loops at minimum values and other nested loops to "typical" values. 4. Continue usntil all loops have been tested.

4.Using your own words, describe the difference between verification and validation. Do both make use of test case design methods and testing strategies? Varification:it is the process of confirming that s/w "meets its specification".It involves reviews and meetings to evaluate documents,plans,code,requirement and specification.This can be done with checklist,issues lists amd walkthroughs. It is the examination of the process and checks r we building the product right? Validation:It is the process of confirming that it "meets the user's requirements".Validation typically involves actual testing and take place after varification are completed. 5.Why is a highly coupled module difficult to unit test?

The primary goal of unit testing is to take the smallest piece of testable software in the application, isolate it from the remainder of the code, and

determine whether it behaves exactly as you expect. Each unit is tested separately before integrating them into modules to test the interfaces between modules. Unit testing has proven its value in that a large percentage of defects are identified during its use. The most common approach to unit testing requires drivers and stubs to be written. The driver simulates a calling unit and the stub simulates a called unit. The investment of developer time in this activity sometimes results in demoting unit testing to a lower level of priority and that is almost always a mistake. Even though the drivers and stubs cost time and money, unit testing provides some undeniable advantages. It allows for automation of the testing process, reduces difficulties of discovering errors contained in more complex pieces of the application, and test coverage is often enhanced because attention is given to each unit. We know that coupling or dependency is the degree to which each program module relies on each one of the other moduleshaigh coupling is the coupling in which modules are associate. The problem can be occurred that if the module are coupled then the unit testing is difficult.becaue the modules are associated..if the modules are not coupled only then unit testing can possible.

6.How can project scheduling affect integration testing?

The project schedule is the calendar/ sequence of different tasks to be done in the project. A project could be divided into phases like the following:

1. Requirement analysis 2. Design 3. Construction and unit testing 4. Integration testing 5. System testing 6. Acceptance testing As you can see above, integration testing i.e. testing to check whether each component of the project is working well with every other component that it interfaces, is after some other phases of the project. Therefore, if there is delay in completing any of the previous phases e.g. design or construction and unit testing, this could delay the beginning of the integration testing phase. Now, due to business requirements, it is possible for the project end date to be fixed. In such a case, project managers sometimes take the decision to reduce the duration of the integration testing and/ or system phases. This way, it is possible for the integration testing phase to be compressed in a shorter duration of time. 7.The concept of "antibugging" (Section 13.3.1) is an extremely effective way to provide built-in debugging assistance when an error is uncovered: a. Develop a set of guidelines for antibugging. b. Discuss advantages of using the technique. c. Discuss disadvantages.
(a)

Four main fields of detection

Detection of RF transmitters, both room, telephone and tracking devices Detection of hidden cameras and current carrier devices Detection of surveillance devices which operate within the IR frequency range

Detection of surveillance systems, which use the mains supply network as a transmission path

Suitable for domestic or commercial premises and vehicles Charges are at hourly rate

8.Why is completeness difficult to achieve as abstraction level increases? Ans. Designers of consumer product ICs are faced today with the challenges of rapidly increasing complexity, a market with high expectations and static price points. To stay competitive, design teams must find a way to reduce the cost and improve the efficiency of IC design. This dilemma has gone beyond the capacity of existing methodologies, and the industry is in urgent need of a new approach. Most agree that the solution to improving cost and efficiency is to move to a higher level of abstractionbut what is the best route to get there? Algorithmic synthesis moves the creation of application engines (algorithms on silicon) to a higher level of abstraction, giving significant time and cost savings. Deploying algorithmic synthesis for this defining part of the IC not only pays immediate benefits, but can also be the critical first step in moving the complete design process to a higher level of abstraction. Once algorithmic synthesis is established, the methodology can be used to drive verification and validation upwards too, followed by the hardware/software hand off. Using a step-by-step approach, algorithmic synthesis can capture the whole of the IC design, at a level of abstraction capable of quickly handling growth in complexity.

Das könnte Ihnen auch gefallen