Test Design: Functional Testing

Size: px
Start display at page:

Download "Test Design: Functional Testing"

Transcription

1 Test Design: Functional Testing Daniel Sundmark How should test cases be designed?

2 Outline Functional Testing Basics Systematic Functional Test Design Input-Space Based Techniques Equivalence Partitioning Boundary Value Analysis Combinatorial Testing Random Testing Model-Based Testing 2

3 Functional Testing Basics Basic idea: Test cases are derived based on the functional specifications of the software under test What does the specifications say that the software is supposed to do? What does the specifications say that the software is not supposed to do (if this is explicitly stated)? Implementation of the software under test is not considered in test case design Hence, functional testing is also historically known as Black-Box Testing 3

4 Functional Testing Basics Basic idea: Test cases are derived based on the functional specifications of the software under test What does the specifications say that the software is supposed to do? What does the specifications say that the software is not supposed to do (if this is This explicitly term has stated)? been critizised by several testing scholars, Implementation of the software since under is claimed test is not to represent considered in test case design an old-fashioned view of Hence, functional testing is also historically testing. known as Black-Box Testing Nevertheless, the term is still widely used. 4

5 A Systematic Approach to Functional Test Design Adapted from Software Testing and Analysis, (Pezzè and Young), and Saarland University course on Software Testing (Fraser and Zeller) Functional specifications IDENTIFY Independently testable aspects IDENTIFY Representative values Model Test cases CREATE Test specifications This is a general approach that can be utilized at all levels of testing, but still needs to be adapted to the situation at hand and the software under test 5

6 A Systematic Approach to Functional Test Design Adapted from Software Testing and Analysis, (Pezzè and Young), and Saarland University course on Software Testing (Fraser and Zeller) Functional specifications IDENTIFY Independently testable aspects IDENTIFY Representative values Model Test cases CREATE Test specifications As previously stated, the functional specifications is the starting point for functional test design 6

7 A Systematic Approach to Functional Test Design Adapted from Software Testing and Analysis, (Pezzè and Young), and Saarland University course on Software Testing (Fraser and Zeller) Functional specifications IDENTIFY Independently testable aspects IDENTIFY Representative values Model Test cases CREATE Test specifications Based on the functional specification, independently testable aspects (ITAs) are identified. An ITA is a part of the functionality of the software that can be tested separately from other functionalities. An important aspect of an ITA is its inputs. 7

8 A Systematic Approach to Functional Test Design Adapted from Software Testing and Analysis, (Pezzè and Young), and Saarland University course on Software Testing (Fraser and Zeller) Functional specifications IDENTIFY Independently testable aspects IDENTIFY Also called independently testable features or functions. Representative values Model Test cases CREATE Test specifications Based on the functional specification, independently testable aspects (ITAs) are identified. An ITA is a part of the functionality of the software that can be tested separately from other functionalities. An important aspect of an ITA is its inputs. 8

9 A Systematic Approach to Functional Test Design Adapted from Software Testing and Analysis, (Pezzè and Young), and Saarland University course on Software Testing (Fraser and Zeller) Functional specifications IDENTIFY Independently testable aspects IDENTIFY Representative values Model Test cases CREATE Test specifications The concept of an ITA is not terribly well-defined. Java methods or isolated C functions are often given as examples, but ITAs exist on all levels of integration. For example, the withdrawal function of an ATM could be an ITA. Exercise: Take a few minutes and suggest an ITA of a system or software of your own choosing. 9

10 A Systematic Approach to Functional Test Design Adapted from Software Testing and Analysis, (Pezzè and Young), and Saarland University course on Software Testing (Fraser and Zeller) Functional specifications IDENTIFY Independently testable aspects IDENTIFY Representative values Model Test cases CREATE Test specifications Based on the nature of the ITA, we may either proceed with identifying representative values for input using different techniques, e.g., Equivalence partitioning of the input space Boundary value analysis Different types of random selection 10

11 A Systematic Approach to Functional Test Design Adapted from Software Testing and Analysis, (Pezzè and Young), and Saarland University course on Software Testing (Fraser and Zeller) Functional specifications IDENTIFY Independently testable aspects IDENTIFY Representative values Model Test cases CREATE Test specifications Based on the nature of the ITA, we may either proceed with identifying representative values for input using different techniques, e.g., Equivalence partitioning of the input space Boundary value analysis Different types of random selection First family of techniques we will look into today 11

12 A Systematic Approach to Functional Test Design Adapted from Software Testing and Analysis, (Pezzè and Young), and Saarland University course on Software Testing (Fraser and Zeller) Functional specifications IDENTIFY Independently testable aspects IDENTIFY Representative values Model Test cases CREATE Test specifications Based on the nature of the ITA, we may either proceed with identifying representative values for input using different techniques, e.g., Equivalence partitioning of the input space Boundary value analysis Different types of random selection or 12

13 A Systematic Approach to Functional Test Design Adapted from Software Testing and Analysis, (Pezzè and Young), and Saarland University course on Software Testing (Fraser and Zeller) Functional specifications IDENTIFY Independently testable aspects IDENTIFY Representative values Model Test cases CREATE Test specifications we may even derive a test Model that describes (parts of ) the specification in a more formal way, and that helps us derive test cases 13

14 A Systematic Approach to Functional Test Design Adapted from Software Testing and Analysis, (Pezzè and Young), and Saarland University course on Software Testing (Fraser and Zeller) Functional specifications IDENTIFY Independently testable aspects IDENTIFY Representative values Model Test cases CREATE Test specifications we may even derive a test Model that describes (parts of ) the specification in a more formal way, and that helps us derive test cases Second family of techniques we will look into today 14

15 A Systematic Approach to Functional Test Design Adapted from Software Testing and Analysis, (Pezzè and Young), and Saarland University course on Software Testing (Fraser and Zeller) Functional specifications IDENTIFY Independently testable aspects IDENTIFY Representative values Model Test cases CREATE Test specifications Based on the representative values, or/and the test model, test specifications are derived. Test specifications are abstract test requirements that must be met during testing. Note: Often a given test specification could be met by a large number of possible sets of test cases. 15

16 A Systematic Approach to Functional Test Design Adapted from Software Testing and Analysis, (Pezzè and Young), and Saarland University course on Software Testing (Fraser and Zeller) Functional specifications IDENTIFY Independently testable aspects IDENTIFY Representative values Model Test cases CREATE Test specifications As a last step in the test design process, we create test cases that meet the test specifications 16

17 A Systematic Approach to Functional Test Design Adapted from Software Testing and Analysis, (Pezzè and Young), and Saarland University course on Software Testing (Fraser and Zeller) Functional specifications IDENTIFY Independently testable aspects Test cases IDENTIFY Again, note here that a test case not only requires an input, but also an expected output in order to be able to provide a verdict. Representative values GENERATE Test specifications The expected output is typically derived based Model As a last step in the test design process, we generate test cases that meet the test on the specifications specifications 17

18 Let s go back to the more technical parts Techniques based on partitioning of the input space 18

19 Identifying representative values Functional specifications IDENTIFY Independently testable aspects IDENTIFY Representative values Model Test cases GENERATE Test case specifications 19

20 Input Space Each ITA has an input space, which is made up of all possible input combinations Simple example: a function fun(int x, int y) has a two-dimensional input space made up of all possible values of input parameters x and y Each test case input is a (x,y) pair, which essentially corresponds to a unique point in the input space y x 20

21 Equivalence Partitioning Divide and conquer Basic idea: Divide input space into blocks within which the software should behave For each input similarly. parameter, Then just cover all possible blocks instead of all possible inputs. Divide the input space of that parameter into partition blocks based on some characteristic Within each block, the software under test should behave equivalent with respect to that parameter Then test inputs are chosen to cover all blocks rather than the full input space Fundamental rules for a partition p: All partition blocks within p must be disjoint The union of all partition blocks in p must make up the complete input space y x 21

22 Equivalence Partitioning Divide and conquer For each input parameter, Divide the input space of that parameter into partition blocks based on some characteristic Within each block, the software under test should behave equivalent with respect to that parameter Then test inputs are chosen to cover all blocks rather than the full input space Fundamental rules for a partition p: All partition blocks within p must be disjoint The union of all partition blocks in p must make up the complete input space y x 22

23 Equivalence Partitioning Divide and conquer For each input parameter, Divide the input space of that parameter into partition blocks based on some characteristic Within each block, the software under test should behave equivalent with respect to that parameter Then test inputs are chosen to cover all blocks rather than the full input space Fundamental rules for a partition p: All partition blocks within p must be disjoint The union of all partition blocks in p must make up the complete input space y x 23

24 Equivalence Partitioning Divide and conquer For each input parameter, Divide the input space of that parameter into partition blocks based on some characteristic Within each block, the software under test should behave equivalent with respect to that parameter Then test inputs are chosen to cover all blocks rather than the full input space Fundamental rules for a partition p: All partition blocks within p must be disjoint The union of all partition blocks in p must make up the complete input space y x 24

25 Equivalence Partitioning General Process 1. For each ITA, identify all parameters that affect its behavior. These make up the input space. 2. Partition the input space based on a set of characteristics. Strategies: Individual partitioning of each input parameter Functional (or even output-based) modeling of the input space 3. Combine the partitions into an input domain model. In this step, identify and remove invalid combinations 4. Identify representative values 5. Derive test cases by complementing with expected output 25

26 Equivalence Partitioning Example (Ammann and Offutt) 1. For each ITA, identify all parameters that affect its behavior. These make up the input space. 2. Partition the input space based on a set of characteristics. Strategies: Individual partitioning of each input parameter Functional (or even output-based) modeling of the input space 3. Combine the partitions into an input domain model. In this step, identify and remove invalid combinations 4. Identify representative values 5. Derive test cases by complementing with expected output Let s look at how this can be applied to the Triangle categorization problem 26

27 Equivalence Partitioning Example (Ammann and Offutt) 1. For each ITA, identify all parameters that affect its behavior. These make up the input space. 2. Partition the input space based on a set of characteristics. Strategies: Individual partitioning of each input parameter Functional (or even output-based) modeling of the input space 3. Combine the partitions into an input domain model. In this step, identify and remove invalid combinations 4. Identify representative values 5. Derive test cases by complementing with expected output For the triangle categorization problem, these are the three input integers representing its sides. Let s call them x, y and z. 27

28 Equivalence Partitioning Example (Ammann and Offutt) 1. For each ITA, identify all parameters that affect its behavior. These make up the input space. 2. Partition the input space based on a set of characteristics. Strategies: Individual partitioning of each input parameter Functional (or even output-based) modeling of the input space 3. Combine the partitions into an input domain model. In this step, identify and remove invalid combinations 4. Identify representative values 5. Derive test cases by complementing with expected output Partition b 1 b 2 b 3 x Greater Equal to 0 Less y Greater Equal to 0 Less z Greater Equal to 0 Less 28

29 Equivalence Partitioning Example (Ammann and Offutt) 1. For each ITA, identify all parameters that affect its behavior. These make up the input space. 2. Partition the input space based on a set of characteristics. Strategies: Individual partitioning of each input parameter Functional (or even output-based) modeling of the input space 3. Combine the partitions into an input domain model. In this step, identify and remove invalid combinations 4. Identify representative values 5. Derive test cases by complementing with expected output Partition b 1 b 2 b 3 b 4 Geometric classification Scalene Isosceles Equilateral Invalid 29

30 Equivalence Partitioning Example (Ammann and Offutt) 1. For each ITA, identify all parameters that affect its behavior. These make up the input space. 2. Partition the input space based on a set of characteristics. Strategies: Individual partitioning of each input parameter Functional (or even output-based) modeling of the input space 3. Combine the partitions into an input domain model. In this step, identify and remove invalid combinations 4. Identify representative values 5. Derive test cases by complementing with expected output Partition b 1 b 2 b 3 b 4 Geometric classification Scalene Isosceles Equilateral Invalid 30

31 Equivalence Partitioning Example (Ammann and Offutt) 1. For each ITA, identify all parameters that affect its behavior. These make up the input space. 2. Partition the input space based on a set of characteristics. Strategies: Individual partitioning of each input parameter Functional (or even output-based) modeling of the input space 3. Combine the partitions into an input domain model. In this step, identify and remove invalid combinations 4. Identify representative values 5. Derive test cases by complementing with expected output Partition b 1 b 2 b 3 b 4 Geometric classification Scalene Isosceles, not equilateral Equilateral Invalid 31

32 Equivalence Partitioning Example (Ammann and Offutt) 1. For each ITA, identify all parameters that affect its behavior. These make up the input space. 2. Partition the input space based on a set of characteristics. Strategies: Individual partitioning of each input parameter Functional (or even output-based) modeling of the input space 3. Combine the partitions into an input domain model. In this step, identify and remove invalid combinations 4. Identify representative values 5. Derive test cases by complementing with expected output 32

33 Equivalence Partitioning Example (Ammann and Offutt) Partition Geometric classification Scalene Isosceles, not equilateral Equilateral Invalid x Greater Equal to 0 Less Greater Equal to 0 Less Greater Equal to 0 Less Greater Equal to 0 Less y Greater Equal to 0 Less Greater Equal to 0 Less Greater Equal to 0 Less Greater Equal to 0 Less z Greater Equal to 0 Less Greater Equal to 0 Less Greater Equal to 0 Less Greater Equal to 0 Less 33

34 Equivalence Partitioning Example (Ammann and Offutt) Partition Geometric classification Scalene Isosceles, not equilateral Equilateral Invalid x Greater Equal to 0 Less Greater Equal to 0 Less Greater Equal to 0 Less Greater Equal to 0 Less y Greater Equal to 0 Less Greater Equal to 0 Less Greater Equal to 0 Less Greater Equal to 0 Less z Greater Equal to 0 Less Greater Equal to 0 Less Greater Equal to 0 Less Greater Equal to 0 Less 34

35 Equivalence Partitioning Example (Ammann and Offutt) Partition Geometric classification Scalene Isosceles, not equilateral Equilateral Invalid x Greater Equal to 0 Less Greater Equal to 0 Less Greater Equal to 0 Less Greater Equal to 0 Less y Greater Equal to 0 Less Greater Equal to 0 Less Greater Equal to 0 Less Greater Equal to 0 Less z Greater Equal to 0 Less Greater Equal to 0 Less Greater Equal to 0 Less Greater Equal to 0 Less If we feel like testing inputs from all partition combinations, we still have 30 different test cases to worry about hence, after the upcoming lab, we will look at more feasible ways of combining input from different partitions 35

36 Equivalence Partitioning Example (Ammann and Offutt) 1. For each ITA, identify all parameters that affect its behavior. These make up the input space. 2. Partition the input space based on a set of characteristics. Strategies: Individual partitioning of each input parameter Functional (or even output-based) modeling of the input space 3. Combine the partitions into an input domain model. In this step, identify and remove invalid combinations 4. Identify representative values 5. Derive test cases by complementing with expected output We leave these for you to think about 36

37 Equivalence Partitioning - Follow-Up Exercise Consider a function pararea(int x, int y, int z) that, given two sides x and y, and an angle z, of a parallelogram, calculates its area. Equivalence partitioning of inputs: x: y: z: Invalid: x<0, Valid: x>0 Invalid: y<0, Valid: y>0 y z Invalid1: z<0, Valid: 0<z<180, Invalid2: z>180 x 37

38 Equivalence Partitioning - Follow-Up Exercise Consider a function pararea(int x, int y, int z) that, given two sides x and y, and an angle z, of a parallelogram, calculates its area. Equivalence partitioning of inputs: x: y: z: Invalid: x<0, Valid: x>0 Invalid: y<0, Valid: y>0 y Invalid1: z<0, Valid: 0<z<180, Invalid2: z>180 z x Question: How to handle boundary values? 38

39 Boundary Value Analysis Experience has shown that there is a higher chance of finding defects at, or close to, partition boundaries Boundary value analysis strives to identify partition boundaries and suitable test case input on, or just outside or inside boundaries 39

40 Equivalence Partitioning - additional (more difficult) example should go here (No integers) 40

41 Lab Equivalence Partitioning 41

42 EP lab Example Partitions Perfect game: {Score=300} {Score!=300} Strike: {game with strike}{game with no strike} 42

43 EP lab Example Partitions Perfect game: {Score=300} {Score!=300} Strike: {game with strike}{game with no strike} 43

44 EP lab Example Partitions Perfect game: {Score=300} {Score!=300} Strike: {game with strike}{not a game with strike} 44

45 EP lab Some 2-minute sketch partitions Perfect game: {Score=300} {Score!=300} Strike: {game with strike}{not a game with strike} Null pointer: {null}{not null} Number of frames: {less than 10}{10}{11}{more than 11} Spare: {game with spare}{game with no spare} Syntax: {ill-formed input}{well-formed input} 45

46 Equivalence Partitioning - System-level perspective should go here Many things can be partitioned Configuration parameters Devices Time 46

47 Combining Input from Partitions into Test Cases y Ideally, we want to test all combinations. In many cases, this is however not feasible. x 47

48 Combining Input from Partitions into Test Cases Strategies y All combinations (already covered in previous slide) Each choice Pair-wise (and T-wise) Base choice x 48

49 Combining Input from Partitions into Test Cases Strategies y All combinations (already covered in previous slide) Each choice Pair-wise (and T-wise) Base choice x 49

50 Combining Input from Partitions into Test Cases Strategies y All combinations (already covered in previous slide) Each choice Pair-wise (and T-wise) Base choice x 50

51 Equivalence Partitioning - Follow-Up Exercise Consider a function pararea(int x, int y, int z) that, given two sides x and y, and an angle z, of a parallelogram, calculates its area. Equivalence partitioning of inputs: x: y: z: Invalid: x<=0, Valid: x>0 Invalid: y<=0, Valid: y>0 Invalid1: z<=0, Valid: 0<z<180, Invalid2: z>=180 y z x 51

52 Combining Input from Partitions into Test Cases Strategies y All combinations (already covered in previous slide) Each choice Pair-wise (and T-wise) Base choice x 52

53 Input value selection A Note: It has been recommended that input values are given as variables that can be randomly assigned within the partition boundaries, rather than being hard-coded. This however makes it a lot harder to determine the verdict. How is expected output expressed? 53

54 Random Testing There are some proponents of randomly generating input data, at least as a final stage of testing Considering the fact that a large percentage of defects are due to missing requirements, that might not be a bad idea However, defects are not evenly distributed 80% of defects in 20% of software Adaptive Random Testing Other problems with random testing? 54

55 Model-Based Testing Functional specifications IDENTIFY Independently testable aspects IDENTIFY Representative values Model Test cases GENERATE Test specifications Not all ITAs are suitable for equivalence partitioning. Specifically, equivalence partitioning is poorly suited to cover sequences of input, for example use case scenarios. Thus, more elaborate methods are required. 55

56 Model-Based Testing Basic idea: The intended behaviour of the software under test is modeled (more or less) formally Typically, finite state machine models are used, but many other types of models are possible Test specifications (or test cases) derived or automatically generated from the model 56

57 Model-Based Testing Example AEBS: Advance Emergency Braking System AEBS MODES AEBS NORMAL MODE OPERATION Disabled (Ignition Off) No Action Enabled Collision Warning Warning Brake Full Brake Fully Operational (Normal Mode) Not Fully Operational Disabled by Driver Brake Assist Driver Override 57

58 Model-Based Testing Example AEBS: Advance Emergency Braking System Disabled (Ignition Off) AEBS MODES Test cases derived from graph-based specification models are often based on the rationale that all transitions between the states, or some specific scenarios Enabled (paths) should be exercised during testing. Collision Warning AEBS NORMAL MODE OPERATION No Action Warning Brake Full Brake Fully Operational (Normal Mode) However, more complex criteria can naturally be applied Disabled by Driver Brake Assist Not Fully Operational Driver Override 58

59 Example- test specification generation Prime path coverage of the AEBS normal mode operation graph 1. BRAKE ASSIST, DRIVER OVERRIDE, NO ACTION, COLLISION WARNING, BRAKE ASSIST, 2. BRAKE ASSIST, DRIVER OVERRIDE, NO ACTION, COLLISION WARNING, WARNING BRAKE, BRAKE ASSIST, 3. BRAKE ASSIST, DRIVER OVERRIDE, NO ACTION, COLLISION WARNING, WARNING BRAKE, FULL BRAKE, 4. COLLISION WARNING, BRAKE ASSIST, DRIVER OVERRIDE, NO ACTION, COLLISION WARNING, 5. COLLISION WARNING, DRIVER OVERRIDE, NO ACTION, COLLISION WARNING, 6. COLLISION WARNING, NO ACTION, COLLISION WARNING, 7. COLLISION WARNING, NO ACTION, DRIVER OVERRIDE, 8. COLLISION WARNING, WARNING BRAKE, BRAKE ASSIST, DRIVER OVERRIDE, NO ACTION, COLLISION WARNING, 9. COLLISION WARNING, WARNING BRAKE, DRIVER OVERRIDE, NO ACTION, COLLISION WARNING, 10. COLLISION WARNING, WARNING BRAKE, FULL BRAKE, DRIVER OVERRIDE, NO ACTION, COLLISION WARNING, 11. COLLISION WARNING, WARNING BRAKE, FULL BRAKE, NO ACTION, COLLISION WARNING, 12. COLLISION WARNING, WARNING BRAKE, FULL BRAKE, NO ACTION, DRIVER OVERRIDE, 13. COLLISION WARNING, WARNING BRAKE, NO ACTION, COLLISION WARNING, 14. COLLISION WARNING, WARNING BRAKE, NO ACTION, DRIVER OVERRIDE, 15. DRIVER OVERRIDE, NO ACTION, COLLISION WARNING, BRAKE ASSIST, DRIVER OVERRIDE, 16. DRIVER OVERRIDE, NO ACTION, COLLISION WARNING, WARNING BRAKE, BRAKE ASSIST, DRIVER OVERRIDE, 17. DRIVER OVERRIDE, NO ACTION, COLLISION WARNING, WARNING BRAKE, DRIVER OVERRIDE, 20. FULL BRAKE, DRIVER OVERRIDE, NO ACTION, COLLISION WARNING, BRAKE ASSIST, 21. FULL BRAKE, DRIVER OVERRIDE, NO ACTION, COLLISION WARNING, WARNING BRAKE, BRAKE ASSIST, 22. FULL BRAKE, DRIVER OVERRIDE, NO ACTION, COLLISION WARNING, WARNING BRAKE, FULL BRAKE, 23. FULL BRAKE, NO ACTION, COLLISION WARNING, BRAKE ASSIST, DRIVER OVERRIDE, 24. FULL BRAKE, NO ACTION, COLLISION WARNING, DRIVER OVERRIDE, 25. FULL BRAKE, NO ACTION, COLLISION WARNING, WARNING BRAKE, BRAKE ASSIST, DRIVER OVERRIDE, 26. FULL BRAKE, NO ACTION, COLLISION WARNING, WARNING BRAKE, DRIVER OVERRIDE, 27. FULL BRAKE, NO ACTION, COLLISION WARNING, WARNING BRAKE, FULL BRAKE, 28. NO ACTION, COLLISION WARNING, BRAKE ASSIST, DRIVER OVERRIDE, NO ACTION, 29. NO ACTION, COLLISION WARNING, DRIVER OVERRIDE, NO ACTION, 30. NO ACTION, COLLISION WARNING, NO ACTION, 31. NO ACTION, COLLISION WARNING, WARNING BRAKE, BRAKE ASSIST, DRIVER OVERRIDE, NO ACTION, 32. NO ACTION, COLLISION WARNING, WARNING BRAKE, DRIVER OVERRIDE, NO ACTION, 33. NO ACTION, COLLISION WARNING, WARNING BRAKE, FULL BRAKE, DRIVER OVERRIDE, NO ACTION, 34. NO ACTION, COLLISION WARNING, WARNING BRAKE, FULL BRAKE, NO ACTION, 35. NO ACTION, COLLISION WARNING, WARNING BRAKE, NO ACTION, 36. NO ACTION, DRIVER OVERRIDE, NO ACTION, COLLISION WARNING, BRAKE ASSIST, 39. WARNING BRAKE, DRIVER OVERRIDE, NO ACTION, COLLISION WARNING, WARNING BRAKE, 40. WARNING BRAKE, FULL BRAKE, DRIVER OVERRIDE, NO ACTION, COLLISION WARNING, BRAKE ASSIST, 41. WARNING BRAKE, FULL BRAKE, DRIVER OVERRIDE, NO ACTION, COLLISION WARNING, WARNING BRAKE, 42. WARNING BRAKE, FULL BRAKE, NO ACTION, COLLISION WARNING, BRAKE ASSIST, DRIVER OVERRIDE, 43. WARNING BRAKE, FULL BRAKE, NO ACTION, COLLISION WARNING, DRIVER OVERRIDE, 44. WARNING BRAKE, FULL BRAKE, NO ACTION, COLLISION WARNING, WARNING BRAKE, 45. WARNING BRAKE, NO ACTION, COLLISION WARNING, BRAKE ASSIST, DRIVER OVERRIDE, 46. WARNING BRAKE, NO ACTION, COLLISION WARNING, DRIVER OVERRIDE, 47. WARNING BRAKE, NO ACTION, COLLISION WARNING, WARNING BRAKE, AEBS NORMAL MODE OPERATION Collision Warning Brake Assist No Action Warning Brake Full Brake 18. DRIVER OVERRIDE, NO ACTION, COLLISION WARNING, WARNING BRAKE, FULL BRAKE, DRIVER OVERRIDE, 19. DRIVER OVERRIDE, NO ACTION, DRIVER OVERRIDE, 37. WARNING BRAKE, BRAKE ASSIST, DRIVER OVERRIDE, NO ACTION, COLLISION WARNING, WARNING BRAKE, 38. WARNING BRAKE, DRIVER OVERRIDE, NO ACTION, Driver Override

60 Model-Based Testing Exercise Taken from Software Testing and Analysis, (Pezzè and Young) Task: Derive a test model from the following informal requirements document Maintenance: The Maintenance function records the history of items undergoing maintenance. If the product is covered by warranty or maintenance contract, maintenance can be requested either by calling the maintenance toll free number, or through the web site, or by bringing the item to a designated maintenance station. If the maintenance is requested by phone or web site and the customer is a US or EU resident, the item is picked up at the customer site, otherwise, the customer shall ship the item with an express courier. If the maintenance contract number provided by the customer is not valid, the item follows the procedure for items not covered by warranty. If the product is not covered by warranty or maintenance contract, maintenance can be requested only by bringing the item to a maintenance station. The maintenance station informs the customer of the estimated costs for repair. Maintenance starts only when the customer accepts the estimate. If the customer does not accept the estimate, the product is returned to the customer. Small problems can be repaired directly at the maintenance station. If the maintenance station cannot solve the problem, the product is sent to the maintenance regional headquarters (if in US or EU) or to the maintenance main headquarters (otherwise). If the maintenance regional headquarters cannot solve the problem, the product is sent to the maintenance main headquarters. Maintenance is suspended if some components are not available. Once repaired, the product is returned to the customer. (c) 2007 Ch 14, slide 60

61 (c) 2007 Mauro Pezzè & Michal Young Ch 14, slide 61

62 You will go into more complex types of models in the session on model-based testing (c) 2007 Mauro Pezzè & Michal Young Ch 14, slide 62

63 A Tip on Model-Based Testing Go to => Blog => A few pages back in time Video post: Lionel Briand on Model Based Testing and Test Automation Many other test-related video posts on the blog (e.g., by Sigrid Eldh) 63

64 Functional Test Design Summary Functional testing is based on specifications Specifications are broken down into independently testable aspects (ITAs) Depending of the nature and form of the ITA, The input space of each ITA is partitioned into equivalence partitions, or An abstract test model is derived Based on the above, test specifications are derived Test cases are generated that meet the test specifications 64

65 Functional Test Design Summary Functional testing is based on specifications Specifications are broken down into independently testable aspects (ITAs) Depending of the nature and form of the ITA, The input space of each ITA is partitioned into equivalence partitions, or An abstract test model is derived Based on the above, test specifications are derived Test cases are generated that meet the test specifications 65

66 Functional Test Design Summary Functional testing is based on specifications Specifications are broken down into independently testable aspects (ITAs) Depending of the nature and form of the ITA, The input space of each ITA is partitioned into equivalence partitions, or An abstract test model is derived Based on the above, test specifications are derived Test cases are generated that meet the test specifications 66

67 Functional Test Design Summary Functional testing is based on specifications Specifications are broken down into independently testable aspects (ITAs) Depending of the nature and form of the ITA, The input space of each ITA is partitioned into equivalence partitions, or An abstract test model is derived Based on the above, test specifications are derived Test cases are generated that meet the test specifications 67

68 Functional Test Design Summary Functional testing is based on specifications Specifications are broken down into independently testable aspects (ITAs) Depending of the nature and form of the ITA, The input space of each ITA is partitioned into equivalence partitions, or An abstract test model is derived Based on the above, test specifications are derived Test cases are generated that meet the test specifications 68

69 Functional Test Design Summary Functional testing is based on specifications Specifications are broken down into independently testable aspects (ITAs) Depending of the nature and form of the ITA, The input space of each ITA is partitioned into equivalence partitions, or An abstract test model is derived Based on the above, test specifications are derived Test cases are generated that meet the test specifications 69

70 Functional Test Design Summary Functional testing is based on specifications Specifications are broken down into independently testable aspects (ITAs) Depending of the nature and form of the ITA, The input space of each ITA is partitioned into equivalence partitions, or An abstract test model is derived Based on the above, test specifications are derived Test cases are generated that meet the test specifications 70

71 Homework (until next time) 1. Finish the Labs 2. Equivalence partitioning of your own proposal system Think of any software system and one independently testable aspect (ITA) of that software. What is the input space? Note that you might need to broaden your view of input. Anything than can potentially affect the behaviour of the system can be considered an input. Partition the input space based on a suitable set of characteristics and derive an input domain model. If equivalence partitioning is not a suitable technique for your selected case, choose a different ITA. 71

Test case design techniques II: Blackbox testing CISS

Test case design techniques II: Blackbox testing CISS Test case design techniques II: Blackbox testing Overview Black-box testing (or functional testing): Equivalence partitioning Boundary value analysis Domain analysis Cause-effect graphing Behavioural testing

More information

Software Testing. Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program.

Software Testing. Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program. Software Testing Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program. Testing can only reveal the presence of errors and not the

More information

Software Testing. Jeffrey Carver University of Alabama. April 7, 2016

Software Testing. Jeffrey Carver University of Alabama. April 7, 2016 Software Testing Jeffrey Carver University of Alabama April 7, 2016 Warm-up Exercise Software testing Graphs Control-flow testing Data-flow testing Input space testing Test-driven development Introduction

More information

Test Case Design Techniques

Test Case Design Techniques Summary of Test Case Design Techniques Brian Nielsen, Arne Skou {bnielsen ask}@cs.auc.dk Development of Test Cases Complete testing is impossible Testing cannot guarantee the absence of faults How to select

More information

Test case design techniques I: Whitebox testing CISS

Test case design techniques I: Whitebox testing CISS Test case design techniques I: Whitebox testing Overview What is a test case Sources for test case derivation Test case execution White box testing Flowgraphs Test criteria/coverage Statement / branch

More information

Standard for Software Component Testing

Standard for Software Component Testing Standard for Software Component Testing Working Draft 3.4 Date: 27 April 2001 produced by the British Computer Society Specialist Interest Group in Software Testing (BCS SIGIST) Copyright Notice This document

More information

Introduction to Computers and Programming. Testing

Introduction to Computers and Programming. Testing Introduction to Computers and Programming Prof. I. K. Lundqvist Lecture 13 April 16 2004 Testing Goals of Testing Classification Test Coverage Test Technique Blackbox vs Whitebox Real bugs and software

More information

National University of Ireland, Maynooth MAYNOOTH, CO. KILDARE, IRELAND. Testing Guidelines for Student Projects

National University of Ireland, Maynooth MAYNOOTH, CO. KILDARE, IRELAND. Testing Guidelines for Student Projects National University of Ireland, Maynooth MAYNOOTH, CO. KILDARE, IRELAND. DEPARTMENT OF COMPUTER SCIENCE, TECHNICAL REPORT SERIES Testing Guidelines for Student Projects Stephen Brown and Rosemary Monahan

More information

Test Case Design Using Classification Trees

Test Case Design Using Classification Trees STAR 94, 8-12 May 1994, Washington, D.C. Test Case Design Using Classification Trees Matthias Grochtmann Daimler-Benz AG Forschung und Technik Alt-Moabit 91b D-10559 Berlin, Germany Tel: +49 30 39 982-229

More information

4/1/2017. PS. Sequences and Series FROM 9.2 AND 9.3 IN THE BOOK AS WELL AS FROM OTHER SOURCES. TODAY IS NATIONAL MANATEE APPRECIATION DAY

4/1/2017. PS. Sequences and Series FROM 9.2 AND 9.3 IN THE BOOK AS WELL AS FROM OTHER SOURCES. TODAY IS NATIONAL MANATEE APPRECIATION DAY PS. Sequences and Series FROM 9.2 AND 9.3 IN THE BOOK AS WELL AS FROM OTHER SOURCES. TODAY IS NATIONAL MANATEE APPRECIATION DAY 1 Oh the things you should learn How to recognize and write arithmetic sequences

More information

Introduction to Software Testing Chapter 8.1 Building Testing Tools Instrumentation. Chapter 8 Outline

Introduction to Software Testing Chapter 8.1 Building Testing Tools Instrumentation. Chapter 8 Outline Introduction to Software Testing Chapter 8. Building Testing Tools Instrumentation Paul Ammann & Jeff Offutt www.introsoftwaretesting.com Chapter 8 Outline. Instrumentation for Graph and Logical Expression

More information

Chapter 8 Software Testing

Chapter 8 Software Testing Chapter 8 Software Testing Summary 1 Topics covered Development testing Test-driven development Release testing User testing 2 Program testing Testing is intended to show that a program does what it is

More information

Activities Grades K 2 THE FOUR-SQUARE QUILT. Put triangles together to make patterns.

Activities Grades K 2 THE FOUR-SQUARE QUILT. Put triangles together to make patterns. Activities Grades K 2 www.exploratorium.edu/geometryplayground/activities THE FOUR-SQUARE QUILT Put triangles together to make patterns. [45 minutes] Materials: Four-Square Quilt Template (attached) Triangle

More information

5544 = 2 2772 = 2 2 1386 = 2 2 2 693. Now we have to find a divisor of 693. We can try 3, and 693 = 3 231,and we keep dividing by 3 to get: 1

5544 = 2 2772 = 2 2 1386 = 2 2 2 693. Now we have to find a divisor of 693. We can try 3, and 693 = 3 231,and we keep dividing by 3 to get: 1 MATH 13150: Freshman Seminar Unit 8 1. Prime numbers 1.1. Primes. A number bigger than 1 is called prime if its only divisors are 1 and itself. For example, 3 is prime because the only numbers dividing

More information

COMP 250 Fall 2012 lecture 2 binary representations Sept. 11, 2012

COMP 250 Fall 2012 lecture 2 binary representations Sept. 11, 2012 Binary numbers The reason humans represent numbers using decimal (the ten digits from 0,1,... 9) is that we have ten fingers. There is no other reason than that. There is nothing special otherwise about

More information

Software Engineering. Software Testing. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Engineering. Software Testing. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering Software Testing Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To discuss the distinctions between validation testing and defect t testing To describe the

More information

Outline. 1 Denitions. 2 Principles. 4 Implementation and Evaluation. 5 Debugging. 6 References

Outline. 1 Denitions. 2 Principles. 4 Implementation and Evaluation. 5 Debugging. 6 References Outline Computer Science 331 Introduction to Testing of Programs Mike Jacobson Department of Computer Science University of Calgary Lecture #3-4 1 Denitions 2 3 4 Implementation and Evaluation 5 Debugging

More information

37 Basic Geometric Shapes and Figures

37 Basic Geometric Shapes and Figures 37 Basic Geometric Shapes and Figures In this section we discuss basic geometric shapes and figures such as points, lines, line segments, planes, angles, triangles, and quadrilaterals. The three pillars

More information

Test Case Design Using Classification Trees and the Classification-Tree Editor CTE

Test Case Design Using Classification Trees and the Classification-Tree Editor CTE Quality Week 1995 Test Case Design Using Classification Trees and the Classification-Tree Editor CTE Matthias Grochtmann Joachim Wegener Klaus Grimm Daimler-Benz AG Research and Technology Alt-Moabit 96a

More information

Formal Languages and Automata Theory - Regular Expressions and Finite Automata -

Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Samarjit Chakraborty Computer Engineering and Networks Laboratory Swiss Federal Institute of Technology (ETH) Zürich March

More information

The Standard Normal distribution

The Standard Normal distribution The Standard Normal distribution 21.2 Introduction Mass-produced items should conform to a specification. Usually, a mean is aimed for but due to random errors in the production process we set a tolerance

More information

Pigeonhole Principle Solutions

Pigeonhole Principle Solutions Pigeonhole Principle Solutions 1. Show that if we take n + 1 numbers from the set {1, 2,..., 2n}, then some pair of numbers will have no factors in common. Solution: Note that consecutive numbers (such

More information

Random variables, probability distributions, binomial random variable

Random variables, probability distributions, binomial random variable Week 4 lecture notes. WEEK 4 page 1 Random variables, probability distributions, binomial random variable Eample 1 : Consider the eperiment of flipping a fair coin three times. The number of tails that

More information

Math/Stats 425 Introduction to Probability. 1. Uncertainty and the axioms of probability

Math/Stats 425 Introduction to Probability. 1. Uncertainty and the axioms of probability Math/Stats 425 Introduction to Probability 1. Uncertainty and the axioms of probability Processes in the real world are random if outcomes cannot be predicted with certainty. Example: coin tossing, stock

More information

Classifying Lesson 1 Triangles

Classifying Lesson 1 Triangles Classifying Lesson 1 acute angle congruent scalene Classifying VOCABULARY right angle isosceles Venn diagram obtuse angle equilateral You classify many things around you. For example, you might choose

More information

Chapter 18 Symmetry. Symmetry of Shapes in a Plane 18.1. then unfold

Chapter 18 Symmetry. Symmetry of Shapes in a Plane 18.1. then unfold Chapter 18 Symmetry Symmetry is of interest in many areas, for example, art, design in general, and even the study of molecules. This chapter begins with a look at two types of symmetry of two-dimensional

More information

Normal and Binomial. Distributions

Normal and Binomial. Distributions Normal and Binomial Distributions Library, Teaching and Learning 14 By now, you know about averages means in particular and are familiar with words like data, standard deviation, variance, probability,

More information

11.3 Curves, Polygons and Symmetry

11.3 Curves, Polygons and Symmetry 11.3 Curves, Polygons and Symmetry Polygons Simple Definition A shape is simple if it doesn t cross itself, except maybe at the endpoints. Closed Definition A shape is closed if the endpoints meet. Polygon

More information

8 Fractals: Cantor set, Sierpinski Triangle, Koch Snowflake, fractal dimension.

8 Fractals: Cantor set, Sierpinski Triangle, Koch Snowflake, fractal dimension. 8 Fractals: Cantor set, Sierpinski Triangle, Koch Snowflake, fractal dimension. 8.1 Definitions Definition If every point in a set S has arbitrarily small neighborhoods whose boundaries do not intersect

More information

WRITING PROOFS. Christopher Heil Georgia Institute of Technology

WRITING PROOFS. Christopher Heil Georgia Institute of Technology WRITING PROOFS Christopher Heil Georgia Institute of Technology A theorem is just a statement of fact A proof of the theorem is a logical explanation of why the theorem is true Many theorems have this

More information

Exercise: Analyzing the Triangle Problem

Exercise: Analyzing the Triangle Problem Exercise: Analyzing the Triangle Problem Copyright Ross Collard, Collard & Company, 2004. Excerpt from my book: Developing Effective Test Cases. (Allow 15 to 20 minutes for this exercise.) Consider the

More information

Lab - Dual Boot - Vista & Windows XP

Lab - Dual Boot - Vista & Windows XP Lab - Dual Boot - Vista & Windows XP Brought to you by RMRoberts.com After completing this lab activity, you will be able to: Install and configure a dual boot Windows XP and Vista operating systems. Explain

More information

Fehlerbasiertes Testen. Alexander Pretschner, TU München Karlsruhe Developer Days, 21/5/2014

Fehlerbasiertes Testen. Alexander Pretschner, TU München Karlsruhe Developer Days, 21/5/2014 Fehlerbasiertes Testen Alexander Pretschner, TU München Karlsruhe Developer Days, 21/5/2014 Agenda Good tests Partition-based testing Why coverage shouldn t be used a-priori Fault models Testing based

More information

Real World Performance Tasks

Real World Performance Tasks Real World Performance Tasks Real World Real Life, Real Data, Real- Time - These activities put students into real life scenarios where they use real- time, real data to solve problems. In the Seriously

More information

TEKS TAKS 2010 STAAR RELEASED ITEM STAAR MODIFIED RELEASED ITEM

TEKS TAKS 2010 STAAR RELEASED ITEM STAAR MODIFIED RELEASED ITEM 7 th Grade Math TAKS-STAAR-STAAR-M Comparison Spacing has been deleted and graphics minimized to fit table. (1) Number, operation, and quantitative reasoning. The student represents and uses numbers in

More information

Exercises for Design of Test Cases

Exercises for Design of Test Cases Exercises for Design of Test Cases 2005-2010 Hans Schaefer Slide no. 1 Specification The system is an information system for buses, like www.nor-way.no or www.bus.is. The system has a web based interface.

More information

Geometry of 2D Shapes

Geometry of 2D Shapes Name: Geometry of 2D Shapes Answer these questions in your class workbook: 1. Give the definitions of each of the following shapes and draw an example of each one: a) equilateral triangle b) isosceles

More information

Selected practice exam solutions (part 5, item 2) (MAT 360)

Selected practice exam solutions (part 5, item 2) (MAT 360) Selected practice exam solutions (part 5, item ) (MAT 360) Harder 8,91,9,94(smaller should be replaced by greater )95,103,109,140,160,(178,179,180,181 this is really one problem),188,193,194,195 8. On

More information

4. How many integers between 2004 and 4002 are perfect squares?

4. How many integers between 2004 and 4002 are perfect squares? 5 is 0% of what number? What is the value of + 3 4 + 99 00? (alternating signs) 3 A frog is at the bottom of a well 0 feet deep It climbs up 3 feet every day, but slides back feet each night If it started

More information

Test Design Strategies

Test Design Strategies Test Design Strategies Louise Tamres, CSQE ASQ Software Division Webinar 18 July 2008 1 Objectives Translate requirements into test cases Improve communication by producing models Identify incomplete requirements

More information

Software testing. Objectives

Software testing. Objectives Software testing cmsc435-1 Objectives To discuss the distinctions between validation testing and defect testing To describe the principles of system and component testing To describe strategies for generating

More information

Math 4310 Handout - Quotient Vector Spaces

Math 4310 Handout - Quotient Vector Spaces Math 4310 Handout - Quotient Vector Spaces Dan Collins The textbook defines a subspace of a vector space in Chapter 4, but it avoids ever discussing the notion of a quotient space. This is understandable

More information

8.3 Probability Applications of Counting Principles

8.3 Probability Applications of Counting Principles 8. Probability Applications of Counting Principles In this section, we will see how we can apply the counting principles from the previous two sections in solving probability problems. Many of the probability

More information

Assessment For The California Mathematics Standards Grade 4

Assessment For The California Mathematics Standards Grade 4 Introduction: Summary of Goals GRADE FOUR By the end of grade four, students understand large numbers and addition, subtraction, multiplication, and division of whole numbers. They describe and compare

More information

ModuMath Basic Math Basic Math 1.1 - Naming Whole Numbers Basic Math 1.2 - The Number Line Basic Math 1.3 - Addition of Whole Numbers, Part I

ModuMath Basic Math Basic Math 1.1 - Naming Whole Numbers Basic Math 1.2 - The Number Line Basic Math 1.3 - Addition of Whole Numbers, Part I ModuMath Basic Math Basic Math 1.1 - Naming Whole Numbers 1) Read whole numbers. 2) Write whole numbers in words. 3) Change whole numbers stated in words into decimal numeral form. 4) Write numerals in

More information

Section 1.3 P 1 = 1 2. = 1 4 2 8. P n = 1 P 3 = Continuing in this fashion, it should seem reasonable that, for any n = 1, 2, 3,..., = 1 2 4.

Section 1.3 P 1 = 1 2. = 1 4 2 8. P n = 1 P 3 = Continuing in this fashion, it should seem reasonable that, for any n = 1, 2, 3,..., = 1 2 4. Difference Equations to Differential Equations Section. The Sum of a Sequence This section considers the problem of adding together the terms of a sequence. Of course, this is a problem only if more than

More information

Introduction to Hypothesis Testing. Hypothesis Testing. Step 1: State the Hypotheses

Introduction to Hypothesis Testing. Hypothesis Testing. Step 1: State the Hypotheses Introduction to Hypothesis Testing 1 Hypothesis Testing A hypothesis test is a statistical procedure that uses sample data to evaluate a hypothesis about a population Hypothesis is stated in terms of the

More information

Introduction to Automated Testing

Introduction to Automated Testing Introduction to Automated Testing What is Software testing? Examination of a software unit, several integrated software units or an entire software package by running it. execution based on test cases

More information

BALTIC OLYMPIAD IN INFORMATICS Stockholm, April 18-22, 2009 Page 1 of?? ENG rectangle. Rectangle

BALTIC OLYMPIAD IN INFORMATICS Stockholm, April 18-22, 2009 Page 1 of?? ENG rectangle. Rectangle Page 1 of?? ENG rectangle Rectangle Spoiler Solution of SQUARE For start, let s solve a similar looking easier task: find the area of the largest square. All we have to do is pick two points A and B and

More information

Lecture 17 : Equivalence and Order Relations DRAFT

Lecture 17 : Equivalence and Order Relations DRAFT CS/Math 240: Introduction to Discrete Mathematics 3/31/2011 Lecture 17 : Equivalence and Order Relations Instructor: Dieter van Melkebeek Scribe: Dalibor Zelený DRAFT Last lecture we introduced the notion

More information

Probabilistic Strategies: Solutions

Probabilistic Strategies: Solutions Probability Victor Xu Probabilistic Strategies: Solutions Western PA ARML Practice April 3, 2016 1 Problems 1. You roll two 6-sided dice. What s the probability of rolling at least one 6? There is a 1

More information

Automatic Test Data Generation for TTCN-3 using CTE

Automatic Test Data Generation for TTCN-3 using CTE Automatic Test Data Generation for TTCN-3 using CTE Zhen Ru Dai, Peter H. Deussen, Maik Busch, Laurette Pianta Lacmene, Titus Ngwangwen FraunhoferInstitute for Open Communication Systems (FOKUS) Kaiserin-Augusta-Allee

More information

Software Testing. Quality & Testing. Software Testing

Software Testing. Quality & Testing. Software Testing Software Testing Software Testing Error: mistake made by the programmer/developer Fault: a incorrect piece of code/document (i.e., bug) Failure: result of a fault Goal of software testing: Cause failures

More information

Basic Probability Concepts

Basic Probability Concepts page 1 Chapter 1 Basic Probability Concepts 1.1 Sample and Event Spaces 1.1.1 Sample Space A probabilistic (or statistical) experiment has the following characteristics: (a) the set of all possible outcomes

More information

Software Testing. Motivation. People are not perfect We make errors in design and code

Software Testing. Motivation. People are not perfect We make errors in design and code Motivation Software Testing People are not perfect We make errors in design and code Goal of testing: given some code, uncover as many errors are possible Important and expensive activity Not unusual to

More information

Mathematics Pre-Test Sample Questions A. { 11, 7} B. { 7,0,7} C. { 7, 7} D. { 11, 11}

Mathematics Pre-Test Sample Questions A. { 11, 7} B. { 7,0,7} C. { 7, 7} D. { 11, 11} Mathematics Pre-Test Sample Questions 1. Which of the following sets is closed under division? I. {½, 1,, 4} II. {-1, 1} III. {-1, 0, 1} A. I only B. II only C. III only D. I and II. Which of the following

More information

Java course - IAG0040. Unit testing & Agile Software Development

Java course - IAG0040. Unit testing & Agile Software Development Java course - IAG0040 Unit testing & Agile Software Development 2011 Unit tests How to be confident that your code works? Why wait for somebody else to test your code? How to provide up-to-date examples

More information

The Triangle and its Properties

The Triangle and its Properties THE TRINGLE ND ITS PROPERTIES 113 The Triangle and its Properties Chapter 6 6.1 INTRODUCTION triangle, you have seen, is a simple closed curve made of three line segments. It has three vertices, three

More information

FEGYVERNEKI SÁNDOR, PROBABILITY THEORY AND MATHEmATICAL

FEGYVERNEKI SÁNDOR, PROBABILITY THEORY AND MATHEmATICAL FEGYVERNEKI SÁNDOR, PROBABILITY THEORY AND MATHEmATICAL STATIsTICs 4 IV. RANDOm VECTORs 1. JOINTLY DIsTRIBUTED RANDOm VARIABLEs If are two rom variables defined on the same sample space we define the joint

More information

PART A: For each worker, determine that worker's marginal product of labor.

PART A: For each worker, determine that worker's marginal product of labor. ECON 3310 Homework #4 - Solutions 1: Suppose the following indicates how many units of output y you can produce per hour with different levels of labor input (given your current factory capacity): PART

More information

Introduction to Hypothesis Testing OPRE 6301

Introduction to Hypothesis Testing OPRE 6301 Introduction to Hypothesis Testing OPRE 6301 Motivation... The purpose of hypothesis testing is to determine whether there is enough statistical evidence in favor of a certain belief, or hypothesis, about

More information

Combinatorial Proofs

Combinatorial Proofs Combinatorial Proofs Two Counting Principles Some proofs concerning finite sets involve counting the number of elements of the sets, so we will look at the basics of counting. Addition Principle: If A

More information

Target To know the properties of a rectangle

Target To know the properties of a rectangle Target To know the properties of a rectangle (1) A rectangle is a 3-D shape. (2) A rectangle is the same as an oblong. (3) A rectangle is a quadrilateral. (4) Rectangles have four equal sides. (5) Rectangles

More information

WORKED EXAMPLES 1 TOTAL PROBABILITY AND BAYES THEOREM

WORKED EXAMPLES 1 TOTAL PROBABILITY AND BAYES THEOREM WORKED EXAMPLES 1 TOTAL PROBABILITY AND BAYES THEOREM EXAMPLE 1. A biased coin (with probability of obtaining a Head equal to p > 0) is tossed repeatedly and independently until the first head is observed.

More information

Practice Problems #4

Practice Problems #4 Practice Problems #4 PRACTICE PROBLEMS FOR HOMEWORK 4 (1) Read section 2.5 of the text. (2) Solve the practice problems below. (3) Open Homework Assignment #4, solve the problems, and submit multiple-choice

More information

Estimating Angle Measures

Estimating Angle Measures 1 Estimating Angle Measures Compare and estimate angle measures. You will need a protractor. 1. Estimate the size of each angle. a) c) You can estimate the size of an angle by comparing it to an angle

More information

Absolute Value Equations and Inequalities

Absolute Value Equations and Inequalities Key Concepts: Compound Inequalities Absolute Value Equations and Inequalities Intersections and unions Suppose that A and B are two sets of numbers. The intersection of A and B is the set of all numbers

More information

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design I. Automated Banking System Case studies: Outline Requirements Engineering: OO and incremental software development 1. case study: withdraw money a. use cases b. identifying class/object (class diagram)

More information

An Automated Model Based Approach to Test Web Application Using Ontology

An Automated Model Based Approach to Test Web Application Using Ontology An Automated Model Based Approach to Test Web Application Using Ontology Hamideh Hajiabadi, Mohsen Kahani hajiabadi.hamideh@stu-mail.um.ac.ir, kahani@um.ac.ir Computer Engineering Department, Ferdowsi

More information

A linear combination is a sum of scalars times quantities. Such expressions arise quite frequently and have the form

A linear combination is a sum of scalars times quantities. Such expressions arise quite frequently and have the form Section 1.3 Matrix Products A linear combination is a sum of scalars times quantities. Such expressions arise quite frequently and have the form (scalar #1)(quantity #1) + (scalar #2)(quantity #2) +...

More information

Laboratory Project for a Software Quality Class

Laboratory Project for a Software Quality Class Laboratory Project for a Software Quality Class March 29, 2015 Abstract This document reports the experience of a laboratory course on software quality and is written primarily for instructors as a reference

More information

Math 55: Discrete Mathematics

Math 55: Discrete Mathematics Math 55: Discrete Mathematics UC Berkeley, Fall 2011 Homework # 5, due Wednesday, February 22 5.1.4 Let P (n) be the statement that 1 3 + 2 3 + + n 3 = (n(n + 1)/2) 2 for the positive integer n. a) What

More information

Lecture 17: Testing Strategies" Developer Testing"

Lecture 17: Testing Strategies Developer Testing Lecture 17: Testing Strategies Structural Coverage Strategies (White box testing): Statement Coverage Branch Coverage Condition Coverage Data Path Coverage Function Coverage Strategies (Black box testing):

More information

Managerial Economics Prof. Trupti Mishra S.J.M. School of Management Indian Institute of Technology, Bombay. Lecture - 13 Consumer Behaviour (Contd )

Managerial Economics Prof. Trupti Mishra S.J.M. School of Management Indian Institute of Technology, Bombay. Lecture - 13 Consumer Behaviour (Contd ) (Refer Slide Time: 00:28) Managerial Economics Prof. Trupti Mishra S.J.M. School of Management Indian Institute of Technology, Bombay Lecture - 13 Consumer Behaviour (Contd ) We will continue our discussion

More information

A Non-Linear Schema Theorem for Genetic Algorithms

A Non-Linear Schema Theorem for Genetic Algorithms A Non-Linear Schema Theorem for Genetic Algorithms William A Greene Computer Science Department University of New Orleans New Orleans, LA 70148 bill@csunoedu 504-280-6755 Abstract We generalize Holland

More information

in a Nutshell (c) 2007 Mauro Pezzè & Michal Young Ch 1, slide 1

in a Nutshell (c) 2007 Mauro Pezzè & Michal Young Ch 1, slide 1 Software Test and Analysis in a Nutshell (c) 2007 Mauro Pezzè & Michal Young Ch 1, slide 1 Learning objectives View the big picture'' of software quality in the context of a software development project

More information

Chapter 3. Cartesian Products and Relations. 3.1 Cartesian Products

Chapter 3. Cartesian Products and Relations. 3.1 Cartesian Products Chapter 3 Cartesian Products and Relations The material in this chapter is the first real encounter with abstraction. Relations are very general thing they are a special type of subset. After introducing

More information

Math 181 Handout 16. Rich Schwartz. March 9, 2010

Math 181 Handout 16. Rich Schwartz. March 9, 2010 Math 8 Handout 6 Rich Schwartz March 9, 200 The purpose of this handout is to describe continued fractions and their connection to hyperbolic geometry. The Gauss Map Given any x (0, ) we define γ(x) =

More information

Requirements Engineering Processes. Feasibility studies. Elicitation and analysis. Problems of requirements analysis

Requirements Engineering Processes. Feasibility studies. Elicitation and analysis. Problems of requirements analysis Requirements engineering processes Requirements Engineering Processes The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the.

More information

(Refer Slide Time: 00:01:16 min)

(Refer Slide Time: 00:01:16 min) Digital Computer Organization Prof. P. K. Biswas Department of Electronic & Electrical Communication Engineering Indian Institute of Technology, Kharagpur Lecture No. # 04 CPU Design: Tirning & Control

More information

Preparation Prepare a set of standard triangle shapes for each student. The shapes are found in the Guess My Rule Cards handout.

Preparation Prepare a set of standard triangle shapes for each student. The shapes are found in the Guess My Rule Cards handout. Classifying Triangles Student Probe How are triangles A, B, and C alike? How are triangles A, B, and C different? A B C Answer: They are alike because they each have 3 sides and 3 angles. They are different

More information

Goal Seeking in Solid Edge

Goal Seeking in Solid Edge Goal Seeking in Solid Edge White Paper Goal Seeking in Solid Edge software offers a fast built-in method for solving complex engineering problems. By drawing and dimensioning 2D free-body diagrams, Goal

More information

Automation of Negative Testing. Master of Science Thesis in the Programme Software Engineering and Technology GODWIN SEBABI SEMWEZI

Automation of Negative Testing. Master of Science Thesis in the Programme Software Engineering and Technology GODWIN SEBABI SEMWEZI Automation of Negative Testing Master of Science Thesis in the Programme Software Engineering and Technology GODWIN SEBABI SEMWEZI Chalmers University of Technology University of Gothenburg Department

More information

Course 2 Summer Packet For students entering 8th grade in the fall

Course 2 Summer Packet For students entering 8th grade in the fall Course 2 Summer Packet For students entering 8th grade in the fall The summer packet is comprised of important topics upcoming eighth graders should know upon entering math in the fall. Please use your

More information

5.1 Radical Notation and Rational Exponents

5.1 Radical Notation and Rational Exponents Section 5.1 Radical Notation and Rational Exponents 1 5.1 Radical Notation and Rational Exponents We now review how exponents can be used to describe not only powers (such as 5 2 and 2 3 ), but also roots

More information

Practice Book. Practice. Practice Book

Practice Book. Practice. Practice Book Grade 10 Grade 10 Grade 10 Grade 10 Grade 10 Grade 10 Grade 10 Exam CAPS Grade 10 MATHEMATICS PRACTICE TEST ONE Marks: 50 1. Fred reads at 300 words per minute. The book he is reading has an average of

More information

CS 2112 Spring 2014. 0 Instructions. Assignment 3 Data Structures and Web Filtering. 0.1 Grading. 0.2 Partners. 0.3 Restrictions

CS 2112 Spring 2014. 0 Instructions. Assignment 3 Data Structures and Web Filtering. 0.1 Grading. 0.2 Partners. 0.3 Restrictions CS 2112 Spring 2014 Assignment 3 Data Structures and Web Filtering Due: March 4, 2014 11:59 PM Implementing spam blacklists and web filters requires matching candidate domain names and URLs very rapidly

More information

Using Use Cases for requirements capture. Pete McBreen. 1998 McBreen.Consulting

Using Use Cases for requirements capture. Pete McBreen. 1998 McBreen.Consulting Using Use Cases for requirements capture Pete McBreen 1998 McBreen.Consulting petemcbreen@acm.org All rights reserved. You have permission to copy and distribute the document as long as you make no changes

More information

Improved Software Testing Using McCabe IQ Coverage Analysis

Improved Software Testing Using McCabe IQ Coverage Analysis White Paper Table of Contents Introduction...1 What is Coverage Analysis?...2 The McCabe IQ Approach to Coverage Analysis...3 The Importance of Coverage Analysis...4 Where Coverage Analysis Fits into your

More information

CS 3719 (Theory of Computation and Algorithms) Lecture 4

CS 3719 (Theory of Computation and Algorithms) Lecture 4 CS 3719 (Theory of Computation and Algorithms) Lecture 4 Antonina Kolokolova January 18, 2012 1 Undecidable languages 1.1 Church-Turing thesis Let s recap how it all started. In 1990, Hilbert stated a

More information

1. Prove that the empty set is a subset of every set.

1. Prove that the empty set is a subset of every set. 1. Prove that the empty set is a subset of every set. Basic Topology Written by Men-Gen Tsai email: b89902089@ntu.edu.tw Proof: For any element x of the empty set, x is also an element of every set since

More information

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The

More information

Tonight s Speaker. Life of a Tester at Microsoft Urvashi Tyagi Software Test Manager, Microsoft

Tonight s Speaker. Life of a Tester at Microsoft Urvashi Tyagi Software Test Manager, Microsoft Tonight s Speaker Life of a Tester at Microsoft Urvashi Tyagi Software Test Manager, Microsoft You will learn about what a software tester does at Microsoft, how the role interfaces with program managers

More information

ACT Math Facts & Formulas

ACT Math Facts & Formulas Numbers, Sequences, Factors Integers:..., -3, -2, -1, 0, 1, 2, 3,... Rationals: fractions, tat is, anyting expressable as a ratio of integers Reals: integers plus rationals plus special numbers suc as

More information

Model-based Testing: Next Generation Functional Software Testing

Model-based Testing: Next Generation Functional Software Testing Model-based Testing: Next Generation Functional Software Testing By Dr. Bruno Legeard Model-based testing (MBT) is an increasingly widely-used technique for automating the generation and execution of tests.

More information

Agile Development and Testing Practices highlighted by the case studies as being particularly valuable from a software quality perspective

Agile Development and Testing Practices highlighted by the case studies as being particularly valuable from a software quality perspective Agile Development and Testing Practices highlighted by the case studies as being particularly valuable from a software quality perspective Iteration Advantages: bringing testing into the development life

More information

Object Oriented Analysis and Design and Software Development Process Phases

Object Oriented Analysis and Design and Software Development Process Phases Object Oriented Analysis and Design and Software Development Process Phases 28 pages Why object oriented? Because of growing complexity! How do we deal with it? 1. Divide and conquer 2. Iterate and increment

More information

6. Block and Tackle* Block and tackle

6. Block and Tackle* Block and tackle 6. Block and Tackle* A block and tackle is a combination of pulleys and ropes often used for lifting. Pulleys grouped together in a single frame make up what is called a pulley block. The tackle refers

More information

NEW MEXICO Grade 6 MATHEMATICS STANDARDS

NEW MEXICO Grade 6 MATHEMATICS STANDARDS PROCESS STANDARDS To help New Mexico students achieve the Content Standards enumerated below, teachers are encouraged to base instruction on the following Process Standards: Problem Solving Build new mathematical

More information

39.2. The Normal Approximation to the Binomial Distribution. Introduction. Prerequisites. Learning Outcomes

39.2. The Normal Approximation to the Binomial Distribution. Introduction. Prerequisites. Learning Outcomes The Normal Approximation to the Binomial Distribution 39.2 Introduction We have already seen that the Poisson distribution can be used to approximate the binomial distribution for large values of n and

More information