Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software testing with CTesK Study 5. Test development process 1.Decision on area and depth of testing 2.Development of behavior model to be tested 3.Structuring.

Similar presentations


Presentation on theme: "Software testing with CTesK Study 5. Test development process 1.Decision on area and depth of testing 2.Development of behavior model to be tested 3.Structuring."— Presentation transcript:

1 Software testing with CTesK Study 5

2 Test development process 1.Decision on area and depth of testing 2.Development of behavior model to be tested 3.Structuring of test suite 4.Mediator development 5.Test scenario development 6.Test suite debugging 7.Test execution and test result analysis

3 Decision on the area and depth of testing Determine the set of components of to be tested Designate interface of each component Define the properties to be tested ?

4 Test development process 1.Decision on area and depth of testing 2.Development of behavior model to be tested 3.Structuring of test suite 4.Mediator development 5.Test scenario development 6.Test suite debugging 7.Test execution and test result analysis

5 Structuring of the test suite Decomposing the test suite into a number of tests to be developed to achieve the goal stated Defining the goal of testing represented as a test coverage level – target coverage level

6 Definition of Target Coverage Level Level of source code coverage Level of model coverage How to define the latter? Target coverage level includes + : Nat  Nat → Nat : (x, y) ↦ x + y Nat : 0 positive ResultArgument 2Argument 1Test situation 0 only001 positive onlypositive02 positive only0positive3 positive onlypositive 4 The base is some partition of parameter and result types All possible combinations of parameters and results subtypes give different test situations Define a set of test situations on the base of some partitions of parameters and results types + : Nat  Nat → Nat : (x, y) ↦ x + y Nat : {0, positive} In addition to arguments and result regard the difference between arguments, which belongs to {negative, 0, positive} positive only0positive 4 positive onlynegativepositive 5 positive only negative only 0 only Difference positive onlypositive 6 positive only0positive3 positive onlypositive02 1 Test situation 0 Argument 1 0 Argument 2 0 only Result Define a set of test situations on the base of some partitions of parameters, results types and some other data related

7 Test Set Determination Divide large groups (more than 10 functions) to obtain more effective tests Heuristics to partitioning functions to be tested into groups Put functions requiring the same generalized state structure together Put functions processing the same data together Put direct and inverse functions together isEmpty_List(List*), size_List(List*), clear_List(List*) process only the number of items copy (List*,List*), clone(List*), compare(List*,List*), equals(List*,List*), toString(List*), toSet_List(List) process the list as a whole add_List(List*,int,void*), append_List(List*,void*), set_List(List*,int,void*), remove_List(List*,int), get_List(List*,int) process list’s contents by indexes contains_List(List*,void*), indexOf_List(List*,void*), lastIndexOf_List(List*,void*) process the list’s contents using item comparison addAll_List(List*,int,List*), appendAll_list(List*,List*), subList_List(List*,int,int) process collections of list elements

8 Test development process 1.Decision on area and depth of testing 2.Development of behavior model to be tested 3.Structuring of test suite 4.Mediator development 5.Test scenario development 6.Test suite debugging 7.Test execution and test result analysis

9 Possible failures during testing Unconformity of implementation behavior with its specification Memory violations Failures resulted from scenario errors –Violations of determinism –Violations of connectivity trace: report: failure 1: Postcondition is failed trace: report: failure 1: Precondition is failed trace: report: failure 1: No back arc trace: report: failure 1: Nondeterministic behavior

10 Test development process 1.Decision on area and depth of testing 2.Development of behavior model to be tested 3.Structuring of test suite 4.Mediator development 5.Test scenario development 6.Test suite debugging 7.Test execution and test result analysis

11 Ways to get coverage completeness Changing parameters iteration More detailed factorization


Download ppt "Software testing with CTesK Study 5. Test development process 1.Decision on area and depth of testing 2.Development of behavior model to be tested 3.Structuring."

Similar presentations


Ads by Google