Test Design: Functional Testing
|
|
- Pamela Snow
- 7 years ago
- Views:
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 Overview Black-box testing (or functional testing): Equivalence partitioning Boundary value analysis Domain analysis Cause-effect graphing Behavioural testing
More informationSoftware 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 informationSoftware 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 informationTest 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 informationTest 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 informationStandard 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 informationIntroduction 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 informationNational 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 informationTest 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 information4/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 informationIntroduction 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 informationChapter 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 informationActivities 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 information5544 = 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 informationCOMP 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 informationSoftware 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 informationOutline. 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 information37 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 informationTest 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 informationFormal 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 informationThe 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 informationPigeonhole 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 informationRandom 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 informationMath/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 informationClassifying 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 informationChapter 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 informationNormal 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 information11.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 information8 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 informationWRITING 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 informationExercise: 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 informationLab - 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 informationFehlerbasiertes 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 informationReal 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 informationTEKS 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 informationExercises 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 informationGeometry 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 informationSelected 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 information4. 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 informationTest 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 informationSoftware 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 informationMath 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 information8.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 informationAssessment 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 informationModuMath 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 informationSection 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 informationIntroduction 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 informationIntroduction 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 informationBALTIC 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 informationLecture 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 informationProbabilistic 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 informationAutomatic 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 informationSoftware 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 informationBasic 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 informationSoftware 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 informationMathematics 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 informationJava 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 informationThe 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 informationFEGYVERNEKI 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 informationPART 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 informationIntroduction 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 informationCombinatorial 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 informationTarget 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 informationWORKED 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 informationPractice 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 informationEstimating 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 informationAbsolute 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 informationCase 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 informationAn 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 informationA 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 informationLaboratory 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 informationMath 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 informationLecture 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 informationManagerial 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 informationA 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 informationin 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 informationChapter 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 informationMath 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 informationRequirements 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)
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 informationPreparation 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 informationGoal 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 informationAutomation 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 informationCourse 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 information5.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 informationPractice 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 informationCS 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 informationUsing 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 informationImproved 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 informationCS 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 information1. 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 informationDecomposition 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 informationTonight 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 informationACT 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 informationModel-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 informationAgile 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 informationObject 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 information6. 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 informationNEW 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 information39.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