Com1040 Systems Design and Testing Part II – Testing (Based on A.J. Cowling’s lecture notes) LN-Test5: Category-Partition Method Marian Gheorghe ©University.

Slides:



Advertisements
Similar presentations
1 CIS224 Software Projects: Software Engineering and Research Methods Lecture 9 Object, Package, Component and Deployment Diagrams (Based on Fowler, 2004,
Advertisements

Testing and Test Case Development A “primitive” method of testing, with NO test preparation, may include the following steps : – Initiate the system –
Reinstating a previously cancelled section. As can be noted the Motorcycle section (example) is no longer active, which can be verified by the absence.
CSC271 Database Systems Lecture # 13. Summary: Previous Lecture  Grouping through GROUP BY clause  Restricted groupings  Subqueries  Multi-Table queries.
COMPSCI 105 S Principles of Computer Science 12 Abstract Data Type.
Other single subject designs part 2
Polynomial Time Approximation Schemes Presented By: Leonid Barenboim Roee Weisbert.
Exploring Microsoft Access 2003 Chapter 6 Many-to-Many Relationships: A More Complex System.
Total Quality Management Tools
1 Introduction to Computability Theory Lecture3: Regular Expressions Prof. Amos Israeli.
University of Nevada, Reno College of Business Administration What are we going to learn 9/27 – 9/29? 1. Answer questions about MS Access queries. 2. Understand.
Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page: Lecture.
Essentials of the Topic Maps Reference Model (TMRM) Patrick Durusau Snowfall Software Steve Newcomb Coolheads Consulting.
XP New Perspectives on Microsoft Office Excel 2003, Second Edition- Tutorial 5 1 Microsoft Office Excel 2003 Tutorial 5 – Working With Excel Lists.
Persistent Data Structures Computational Geometry, WS 2007/08 Lecture 12 Prof. Dr. Thomas Ottmann Khaireel A. Mohamed Algorithmen & Datenstrukturen, Institut.
1 Pertemuan 6 RULE-BASED SYSTEMS Matakuliah: H0383/Sistem Berbasis Pengetahuan Tahun: 2005 Versi: 1/0.
Multimedia & Website Design Use Cases in UML. What’s Up Today? What you’ll learn in this lecture :- Use Case diagrams and their application –Why they.
Stacks. 2 What is a stack? A stack is a Last In, First Out (LIFO) data structure Anything added to the stack goes on the “top” of the stack Anything removed.
Normal forms for Context-Free Grammars
30-Jun-15 Stacks. What is a stack? A stack is a Last In, First Out (LIFO) data structure Anything added to the stack goes on the “top” of the stack Anything.
SHEAR AND MOMENT DIAGRAMS WITH APPLICATIONS IN TWO ORTHOGONAL PLANES
1 A MONTE CARLO EXPERIMENT In the previous slideshow, we saw that the error term is responsible for the variations of b 2 around its fixed component 
PRJ566: PROJECT PLANNING AND MANAGEMENT Class Diagrams.
1 PREDICTION In the previous sequence, we saw how to predict the price of a good or asset given the composition of its characteristics. In this sequence,
Test Design Techniques
XP 1 Microsoft Office Excel 2003 Tutorial 3 – Working With Excel Lists.
Objects What are Objects Observations
Com1040 Systems Design and Testing Part II – Testing (Based on A.J. Cowling’s lecture notes) LN-Test3: Equivalence classes and boundary conditions Marian.
System-level and RESA Administrators Functions. Topics Manually creating new student account Manually creating new teacher account Importing data Viewing.
Virtual COMSATS Inferential Statistics Lecture-6
Chapter 8. Section 8. 1 Section Summary Introduction Modeling with Recurrence Relations Fibonacci Numbers The Tower of Hanoi Counting Problems Algorithms.
Of 33 lecture 10: ontology – evolution. of 33 ece 720, winter ‘122 ontology evolution introduction - ontologies enable knowledge to be made explicit and.
OPERAS CC : An instance of a Formal Framework for MAS Modelling based on Population P Systems P.Kefalas Dept. of Computer Science CITY COLLEGE Thessaloniki,
CSC 395 – Software Engineering Lecture 13: Object-Oriented Analysis –or– Let the Pain Begin (At Least I’m Honest!)
University of Sunderland COM 220 Lecture Six Slide 1 Building Interactive Forms Applications using Oracle.
® Microsoft Office 2010 Access Tutorial 3 Maintaining and Querying a Database.
Conceptual Modelling – Behaviour
1 TABLE OF CONTENTS PROBABILITY THEORY Lecture – 1Basics Lecture – 2 Independence and Bernoulli Trials Lecture – 3Random Variables Lecture – 4 Binomial.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
Equations, Inequalities, and Mathematical Models 1.2 Linear Equations
Data Structures (part 2). Stacks An Everyday Example Your boss keeps bringing you important items to deal with and keeps saying: “Put that last ‘rush’
MIS 3200 – Unit 5.3 Manipulating ListItem controls – Moving ListItems between ListItem controls – Removing ListItems from ListItem controls.
Microsoft Outlook 2010 Chapter 3 Managing Contacts and Personal Contact Information with Outlook.
12 September, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 11 Class and Object Diagrams.
Com Functional Programming Regular Expressions and Abstract Data Types Marian Gheorghe Lecture 14 Module homepage Mole &
1 Population Genetics Basics. 2 Terminology review Allele Locus Diploid SNP.
Com1040 Systems Design and Testing Part II – Testing (Based on A.J. Cowling’s lecture notes) LN-Test4: Category-Partition Method Marian Gheorghe ©University.
Object Oriented Software Development
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
Appendix D UML at a Glance Summary prepared by Kirk Scott 1.
Com1040 Systems Design and Testing Part II – Testing (Based on A.J. Cowling’s lecture notes) LN-Test1+2: Introduction to Testing Marian Gheorghe ©University.
Editing Basics Lesson 8. Skills Matrix SKILL #MATRIX SKILL 2.2.1Cut, copy, and paste text 2.2.2Find and replace text 4.1.1Insert building blocks in documents.
Winter 2011SEG Chapter 11 Chapter 1 (Part 1) Review from previous courses Subject 1: The Software Development Process.
1 Chapter 4 Generating Permutations and Combinations.
Class Diagram Lecture # 1. Class diagram A Class Diagram is a diagram describing the structure of a system shows the system's classes Attributes operations.
Diagram Editor Use Case Analysis Assumption: simple stand-alone, single user application. Three basic kinds of interaction of the user with the diagram.
A Guide to MySQL 6. 2 Objectives Create a new table from an existing table Change data using the UPDATE command Add new data using the INSERT command.
1 Database Design Chapter-2- Database System Concepts and Architecture Reference: Prof. Mona Mursi Lecture notes.
Integrated ISO ILL for staff users Borrowing requests – part two Yoel Kortick 2007.
Lecture # 14 Chapter # 5 The Relational Data Model and Relational Database Constraints Database Systems.
Microsoft Excel Illustrated Introductory Workbooks and Preparing them for the Web Managing.
Abstract Data Type.
Creating Oracle Business Intelligence Interactive Dashboards
Course Developer/Writer: A. J. Ikuomola
Goal: use counters to add integers
Access Lesson 1 Understanding Access Fundamentals
Chapter 10: Process Implementation with Executable Models
Access: Queries II Participation Project
Stacks.
Presentation transcript:

Com1040 Systems Design and Testing Part II – Testing (Based on A.J. Cowling’s lecture notes) LN-Test5: Category-Partition Method Marian Gheorghe ©University of SheffieldCom Testing

Category-partition testing method - recap Category-partition for relationships between sets of items Principles to build test sets are identified Summary

Category-partition principles - recap The method relies on –identifying properties of data and program behaviour –defining partitions according to properties identified The method, a black box approach, has three basic steps: – Construct test cases for the preconditions associated to functions: two partitions – values satisfying conditions & the other values; the first class is further analysed in the next step –Construct test cases for the individual sets of items –Construct test cases for the relationships between sets of items involved in the function (First two studied in the last lecture; the third presented now)

Size and position categories Operations with data may lead to various properties of the data set: When a set is displayed then, if there is no upper limit, the following three partitions are considered –empty set –set containing one element –set with more than one element The above characteristic refers to the size of a set of values and is called size category When an item is selected or it is added to a set then the order of elements can be considered – position category. For selection the empty set and the set with one element remain the same, but the case of more than one element will change: –selected element is the first –selected element is the last –selected element is in between

Testing relationships between sets This is the third step in building test sets using category partition First two steps involve single sets of data Some use cases deal with multiple sets and relations between them (associations, aggregations etc); in this case the method is applied for each data set and then the relationships are considered Relationships can be viewed as pairs of data; hence need to partition the set of these pairs With respect to the size of this set, we have the following usual possibilities: –the set is empty –the set with one pair –the set with multiple pairs (very rare)

Relationships – example (1-to-many) StaffMemberStudents Supervision 1 * Marian GheorgheMatthew Cotton Supervision Tiffany Fung David McNair A one-to-three instance of the relationship defining the group of aerospace tutees MG’s has.

Relationships – example (1-to-0/1) LectureRoomLecture TimeTable SG LT17; Monday 3-5pmCom1040: Crossover TimeTable SG LT17; Monday 3-5pm ? When a lecture is scheduled there is an association, when it’s cancelled there isn’t any

Relationships – example (1-to-1) StaffMemberUCard Identification 1 1 M.Gheorghe M Gheorghe is identified by his Ucard no Identification

Types of operations with relationships Irrespective of the multiplicity involved, the pairs of elements manipulated by a function implementing a use case, are subject to two different type of operations: Navigate through the relationship: elements from the two sets forming the relationship are identified maybe modified, but the relationship remains the same Add and/or delete elements participating in the relationship; in this case the relationship will change its previous multiplicity When a change is implied this might be preceded by a navigation, hence the test sets will be a combination of these two operations

Navigating a relationship There are two categories: size and position. The size category leads to considering for 1-1 relationship only one element is enough – one testing partition (see the example) for 1-to-0/1, there are two partitions (see the example) for 1-to-many, there are three partitions (no relation, a 1-to-1, and 1-to-any – see the example with three) When the associated element is from an ordered set, the position category is considered; for example for one element we have three cases: the element is the first, last, in between – consider the Ucard number Additionally the type of the partition should be tested as well

Add and/or remove operations for 1-to-1 relationship, add and remove must be applied both to keep the relationship: M Gheorghe will change the UCard no by firstly removing the old and adding a new one for 1-to-0/: removing an element leads to 0 links; adding one element to 0 leads to a pair with one element, when 1-to-1 and add one leads to error, but needs tested -> three testing situations for 1-to-many apply the principle of size category

Combining categories Navigation: test partition related to finding the first element of the association is combined with the test sets for the association relationship and with finding the second element of the pair Navigation followed by deletion: the selection of the first element and the navigation generate test sets as above; these are combine with the test set for removing For adding a pair we consider the union of the test cases for selecting an element in the first set and one from the second; this will be combined with test cases for adding a new pair

Category-partition considered for relationships between items Principles of category-partitions identified for simple sets are combined with various situations involving pairs Conclusions