Exercise: Test
A. Preparation
Exercise 3:
Read the following:
- Chapter 7.4, 7.6 and 8 in Jalote
- The example test plan for Can machine in the course compendium
- Supplementary material in the course compendium, section 4.1-2
Exercise 4:
Read the following:
- Chapter 8 in Jalote (focus on 8.3.1, 8.3.2, 8.4-8.5)
- Slides from Lecture 4
- Kom igång med Hexawise och CodeCover (Kurswebb-->Projekt 2014-->6. Projektstöd och mallar-->Testverktyg)
- Prepare assignments T11-14
B. General assignment
The intention is that the following assignments should be discussed in the project groups. You should discuss every question and write down answers on paper. The teacher will lead a discussion for every question, in which all groups should be prepared to participate.
Assignment T.1
Explain why testing can only detect the presence of faults, not their absence.
Assignment T.2
Fill out Table 3.1 for requirements 2.5.2.1, 2.5.2.2, 2.5.3.1, 2.5.5.1 and 2.5.7.3.
Assignment T.3
Fill out Table 4.1 for test cases 3, 4, and 13.
Assignment T.4
Discuss the problems that can be encountered in reality when filling out tables as in assignments T2 and T3
Assignment T.5
Explain the intention of the last five steps of test case 6 in the example project. Is there a need for similar steps in the test cases in your project?
Assignment T.6
Assess the quality of test case 13.
Assignment T.7
Define one well formulated and realistic test case for each requirement that was defined in assignment R2.
Assignment T.8
Define one well formulated and realistic test case for each requirement that was defined in assignment R3.
Assignment T.9
Defect classification and logging. Study the code in the cource compedium section 4.1, which calculates the standard deviation of x1 , x2 , . . . xn as:
- Identify the defects, log them in a Defect Recording Log (which is handed out by the exercise leader). Fill out Number (1, 2,...), Type and Description for all defects. Use the defect classification from Compendium Section 4.2 when you decide the type. Fill out Inject, i.e. when the defects probably have been introduced. Choose between the following phases: Planning, Design, Code, Compile, Test or Post-Mortem. If there are many possible alternatives, choose one arbitrarily.
- Fill out Remove, i.e. when the defects probably could be identified and re- moved. Choose between the following phases: Planning, Design, Code, Compile, Test or Post-Mortem. If there are many possible alternatives, choose one arbitrarily.
- Based on the faults that are found, discuss the following:
- What different types of faults can be found in testing and in inspection?
- What is most cost effective – testing or inspection? Is it possible to answer this question?
- How should inspections be combined with dynamic testing?
- How representative are the faults that you have found? That is, how can you generalize this discussion?
Assignment T.10
Assume that you have logged all defects according to this procedure in a project. How can you use this data after the project?
a) for the same product
b) in development of other products
Assignment T.11
When defining test adequacy as planned degree of code coverage, it may be less than 100%. Suggest why this could be motivated. Would you consider the 83% statement coverage achieved during the demo in lecture 4 to be sufficient?
Assignment T.12
You are responsible for the test plan in the bicycle computer project discussed in earlier exercises. The developers have explained that the logic in the GPS module will be fairly complex; it has many loops, conditional statements, and nesting levels. Your test team, a team with limited resources, is going to unit test the module using a white box approach. Which coverage criteria will you specify as the goal in the test plan? Discuss its pros and cons.
Assignment T.13
Why should always a combination of testing strategies be used to ensure high software quality?
Assignment T.14
"When to stop testing?" is one of the most difficult questions to a test engineer. As complete testing rarely is possible when testing complex software, other stop-test criteria are required. Suggest alternatives, and discuss in which development contexts they would be feasible.
C Project related assignments
The intention of these assignments are that you should work with your own test specification during the exercise. You also have the possibility to discuss your requirements with the exercise leader.
Assignment T.15
Discuss and decide on the outline of the test plan.
Assignment T.16
Develop and evaluate two different test cases and discuss them with the exercise leader.
After this exercise you should be able to continue developing your test specification. You will, of course, have to spend time after the exercise with the specification.