Structured Testing in VDM
|
|
- Egbert Willis
- 7 years ago
- Views:
Transcription
1 Structured Testing in VDM Kenneth Lausdahl and Peter Gorm Larsen May Introduction The Vienna Development Method was initially developed with proof of property in mind. However a number of test principles known for traditional software development is also supported by VDM such as unit-, integration- and system-test. Tool support exists for Unit testing and Combinatorial Testing, the latter is a part of the language where regular expressions can be used to bring a system into a specific state and from there generate tests automatically to check for violation of invariants, pre-, and postconditions in the VDM model. The exercise is divided into three assignments: 1. Specify a number of functions to be tested. 2. Create Unit tests for all functions. Include positive and negative tests. 3. Write a trace for the provided Tree model and see if the trace can detect any errors. 2 VDM Unit testing Unit testing is primary used to test small parts of a model such as a single function/- operation or class. VDM-Unit is a port of the well known JUnit for Java, it enabled a structured test through TestCases and TestSuites. The VDM Unit framework is described in more detail in chapter The VDMUnit Framework of [1], The VDM-Unit library provided for this exercise is a newer version than presented in [1], thus naming and the internal class structure is different. 1
2 2.1 Specify functions to be tested 1. Write a function that can reverse a sequence of integers. 2. Write a recursive power function for integers: x n e.g = Remember that x 0 = 1 and that x n+1 = x x n 3. Write a function which creates an onion structure. An onion is build of a small onion with a onion around thus creating a layers structure. In VDM we can see that as an empty list as the middle inner onion a list of numbers as the outer layers such that: makeonion[1, 2, 3, 4] =[1, [2, [3, [4, [], 4], 3], 2], 1] 4. Write a function which creates an onion dual structure: makedualonion[1, 2, 3, 4] =[4, [3, [2, [1, [], 1], 2], 3], 4] -- Use language version = vdm10 functions public reverse : seq of int -> seq of int reverselist == is not yet specified; public power : int * int -> int powerx,n == is not yet specified; types public T = nat1 seq of T; functions public makeonion : seq of int -> seq of T makeonionlist== is not yet specified; public makedualonion : seq of int -> seq of T makedualonionlist== is not yet specified; public static add : nat * nat -> nat adda,b == a+b; Listing 1: Signatures for the functions to test. 2.2 Create Unit tests Now develop test for each of the new functions. Produce at least one positive and one negative test of each function. So if we had an add function it could look like: class TestCaseAdd1 is subclass of TestCase protected runtest : ==> 2
3 runtest== asserttruefunctions add2,3=5; ; end TestCaseAdd1 class TestCaseAdd2 is subclass of TestCase protected runtest : ==> runtest== assertfalsefunctions add5,5=11; end TestCaseAdd2 Listing 2: Example of a TestCase for the add function. The TestCase s can then easily be executed trough a TestSuite as shown in listing 3 Remember to include the IO library. let ts : TestSuite = new TestSuite, result = new TestResult in ts.addtestnew TestCaseAdd1; ts.addtestnew TestCaseAdd2; ts.runresult; IO printlnresult.tostring; Listing 3: Running TestCases through a TestSuite and printing the result Simplified test structure From Overture IDE version it is possible to run Unit tests in a similar way as JUnit, where the VDM interpreter is able to search for test within a TestCase or a sub class here of, and run all of tests found. This is possible by instantiating a TestSuite with a single or a set of classes which are sub classes of TestCase. class TestCaseFunctions protected testadd235 : ==> testadd235== asserttruefunctions add2,3=5; ; 3
4 protected testadd5511 : ==> testadd5511== assertfalsefunctions add5,5=11; end TestCaseFunctions Listing 4: A single TestCase where all prefixed test will be extracted and executed. let ts : TestSuite = new TestSuitenew TestCaseFunctions, result = new TestResult in ts.runresult; IO printlnresult.tostring; Listing 5: Running all prefixed test in TestCases through a TestSuite and printing the result. 3 Combinatorial Testing in VDM Combinatorial Testing is a good alternative to normal Unit testing for VDM models. Since formally specified VDM models often are accompanied by pre- and postconditions and also invariants the allowed behaviour of the VDM model is restricted. This can be utilised through combinatorial testing since tests can be generated and validated against these invariants, pre- and post-conditions. Combinatorial testing in VDM is build to allow a modeller to get a VDM model into a particular state and then specify a scenario by the use of constructs such as alternatives and repetition which then can be expanded to all possible combinations. This will in most cases generate a large number of tests even for small test traces. Exercise: A Tree VDM model is on purpose provided with at least one error. Specify a trace which uses the different search mechanisms of the tree. Through this identify existing errors. When a trace test fails then try to send it to the interpreter and debug the problem and fix the errors. So your tasks can be summarised as: 1. Extend the UseTree class with a more advanced trace definition. 2. Try out the Combinatorial Testing perspective CT 1. 1 This is a prototype, thus you might discover minor instabilities, but the main features should work correctly. 4
5 3. Try to run a full test. 4. Try to see of any of the reduced options is enough to detect the problem. Faster executions. 5. Try to send a test case to the interpreter. When doing so this should be similar to running a manually specified Unit test. 6. Fix the errors you might discover. References [1] John Fitzgerald, Peter Gorm Larsen, Paul Mukherjee, Nico Plat, and Marcel Verhoef. Validated Designs for Object oriented Systems. Springer, New York,
Introduction to unit testing with Java, Eclipse and Subversion
Introduction to unit testing with Java, Eclipse and Subversion Table of Contents 1. About Unit Tests... 2 1.1. Introduction... 2 1.2. Unit tests frameworks... 3 2. A first test class... 4 2.1. Problem
More informationVDM vs. Programming Language Extensions or their Integration
VDM vs. Programming Language Extensions or their Integration Alexander A. Koptelov and Alexander K. Petrenko Institute for System Programming of Russian Academy of Sciences (ISPRAS), B. Communisticheskaya,
More informationFacilitating Consistency Check between Specification and Implementation with MapReduce Framework
Facilitating Consistency Check between Specification and Implementation with MapReduce Framework Shigeru KUSAKABE, Yoichi OMORI, and Keijiro ARAKI Grad. School of Information Science and Electrical Engineering,
More informationApproach of Unit testing with the help of JUnit
Approach of Unit testing with the help of JUnit Satish Mishra mishra@informatik.hu-berlin.de About me! Satish Mishra! Master of Electronics Science from India! Worked as Software Engineer,Project Manager,Quality
More informationTest Driven Development
Software Development Best Practices Test Driven Development http://www.construx.com 1999, 2006 Software Builders Inc. All Rights Reserved. Software Development Best Practices Test Driven Development, What
More informationUsing JUnit in SAP NetWeaver Developer Studio
Using JUnit in SAP NetWeaver Developer Studio Applies to: This article applies to SAP NetWeaver Developer Studio and JUnit. Summary Test-driven development helps us meet your deadlines by eliminating debugging
More informationAnimation-based Validation of a Formal Model of Dynamic Virtual Organisations
Animation-based Validation of a Formal Model of Dynamic Virtual Organisations J. S. Fitzgerald, J. W. Bryans, D. Greathead, C. B. Jones and R. Payne School of Computing Science, Newcastle University, UK
More information+ Introduction to JUnit. IT323 Software Engineering II By: Mashael Al-Duwais
1 + Introduction to JUnit IT323 Software Engineering II By: Mashael Al-Duwais + What is Unit Testing? 2 A procedure to validate individual units of Source Code Example: A procedure, method or class Validating
More informationNEER ENGI ENHANCING FORMAL MODEL- LING TOOL SUPPORT WITH INCREASED AUTOMATION. Electrical and Computer Engineering Technical Report ECE-TR-4
NEER ENGI ENHANCING FORMAL MODEL- LING TOOL SUPPORT WITH INCREASED AUTOMATION Electrical and Computer Engineering Technical Report ECE-TR-4 DATA SHEET Title: Enhancing Formal Modelling Tool Support with
More informationFormal Methods for Software Engineering
Formal Methods for Software Engineering Virendra Singh Computer Design and Test Lab Indian Institute of Science Bangalore Email: virendra@computer.org Introduction Problems in software development Formal
More informationVDM++ as a Basis of Scalable Agile Formal Software Development
VDM++ as a Basis of Scalable Agile Formal Software Development Hiroshi Mochio 1 and Keijiro Araki 2 1 Chikushi Jogakuen University, 2-12-1 Ishizaka, Dazaifu-shi, 818-0192 Fukuoka, Japan 1 mochio@chikushi-u.ac.jp
More informationAuthor: Sascha Wolski Sebastian Hennebrueder http://www.laliluna.de/tutorials.html Tutorials for Struts, EJB, xdoclet and eclipse.
JUnit Testing JUnit is a simple Java testing framework to write tests for you Java application. This tutorial gives you an overview of the features of JUnit and shows a little example how you can write
More informationThe Tower of Hanoi. Recursion Solution. Recursive Function. Time Complexity. Recursive Thinking. Why Recursion? n! = n* (n-1)!
The Tower of Hanoi Recursion Solution recursion recursion recursion Recursive Thinking: ignore everything but the bottom disk. 1 2 Recursive Function Time Complexity Hanoi (n, src, dest, temp): If (n >
More informationUsing Testing and JUnit Across The Curriculum
Using Testing and JUnit Across The Curriculum Michael Wick, Daniel Stevenson and Paul Wagner Department of Computer Science University of Wisconsin-Eau Claire Eau Claire, WI 54701 {wickmr, stevende, wagnerpj@uwec.edu
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 informationSection IV.1: Recursive Algorithms and Recursion Trees
Section IV.1: Recursive Algorithms and Recursion Trees Definition IV.1.1: A recursive algorithm is an algorithm that solves a problem by (1) reducing it to an instance of the same problem with smaller
More informationJUnit Howto. Blaine Simpson
JUnit Howto Blaine Simpson JUnit Howto Blaine Simpson Published $Date: 2005/09/19 15:15:02 $ Table of Contents 1. Introduction... 1 Available formats for this document... 1 Purpose... 1 Support... 2 What
More information16. Recursion. COMP 110 Prasun Dewan 1. Developing a Recursive Solution
16. Recursion COMP 110 Prasun Dewan 1 Loops are one mechanism for making a program execute a statement a variable number of times. Recursion offers an alternative mechanism, considered by many to be more
More informationUnit Testing and JUnit
Unit Testing and JUnit Testing Objectives Tests intended to find errors Errors should be found quickly Good test cases have high p for finding a yet undiscovered error Successful tests cause program failure,
More informationLecture Notes on Binary Search Trees
Lecture Notes on Binary Search Trees 15-122: Principles of Imperative Computation Frank Pfenning André Platzer Lecture 17 October 23, 2014 1 Introduction In this lecture, we will continue considering associative
More informationRegression Verification: Status Report
Regression Verification: Status Report Presentation by Dennis Felsing within the Projektgruppe Formale Methoden der Softwareentwicklung 2013-12-11 1/22 Introduction How to prevent regressions in software
More informationUnified Static and Runtime Verification of Object-Oriented Software
Unified Static and Runtime Verification of Object-Oriented Software Wolfgang Ahrendt 1, Mauricio Chimento 1, Gerardo Schneider 2, Gordon J. Pace 3 1 Chalmers University of Technology, Gothenburg, Sweden
More informationGoing Interactive: Combining Ad-Hoc and Regression Testing
Going Interactive: Combining Ad-Hoc and Regression Testing Michael Kölling 1, Andrew Patterson 2 1 Mærsk Mc-Kinney Møller Institute, University of Southern Denmark, Denmark mik@mip.sdu.dk 2 Deakin University,
More informationProgramming by Contract. Programming by Contract: Motivation. Programming by Contract: Preconditions and Postconditions
COMP209 Object Oriented Programming Designing Classes 2 Mark Hall Programming by Contract (adapted from slides by Mark Utting) Preconditions Postconditions Class invariants Programming by Contract An agreement
More informationE-Commerce VDM and Camila revitalization
Camila Revival: VDM meets Haskell Joost Visser, J.N. Oliveira, L.S. Barbosa, J.F. Ferreira, and A. Mendes Departamento de Informática, Universidade do Minho, Braga, Portugal joost.visser@di.uminho.pt http://www.di.uminho.pt/
More informationSystematically Refactoring Inheritance to Delegation in JAVA
Systematically Refactoring Inheritance to Delegation in JAVA Hannes Kegel ej-technologies GmbH Claude-Lorrain-Straße 7 D-81543 München hannes.kegel@ej-technologies.com Friedrich Steimann Lehrgebiet Programmiersysteme
More informationCS 451 Software Engineering Winter 2009
CS 451 Software Engineering Winter 2009 Yuanfang Cai Room 104, University Crossings 215.895.0298 yfcai@cs.drexel.edu 1 Testing Process Testing Testing only reveals the presence of defects Does not identify
More informationLicensed for viewing only. Printing is prohibited. For hard copies, please purchase from www.agileskills.org
Unit Test 301 CHAPTER 12Unit Test Unit test Suppose that you are writing a CourseCatalog class to record the information of some courses: class CourseCatalog { CourseCatalog() { void add(course course)
More informationDesign by Contract beyond class modelling
Design by Contract beyond class modelling Introduction Design by Contract (DbC) or Programming by Contract is an approach to designing software. It says that designers should define precise and verifiable
More informationTable of Contents. LESSON: The JUnit Test Tool...1. Subjects...2. Testing 123...3. What JUnit Provides...4. JUnit Concepts...5
Table of Contents LESSON: The JUnit Test Tool...1 Subjects...2 Testing 123...3 What JUnit Provides...4 JUnit Concepts...5 Example Testing a Queue Class...6 Example TestCase Class for Queue...7 Example
More informationUnit-testing with JML
Métodos Formais em Engenharia de Software Unit-testing with JML José Carlos Bacelar Almeida Departamento de Informática Universidade do Minho MI/MEI 2008/2009 1 Talk Outline Unit Testing - software testing
More informationCMSC 132: Object-Oriented Programming II. Design Patterns I. Department of Computer Science University of Maryland, College Park
CMSC 132: Object-Oriented Programming II Design Patterns I Department of Computer Science University of Maryland, College Park Design Patterns Descriptions of reusable solutions to common software design
More informationOverview. What is software testing? What is unit testing? Why/when to test? What makes a good test? What to test?
Testing CMSC 202 Overview What is software testing? What is unit testing? Why/when to test? What makes a good test? What to test? 2 What is Software Testing? Software testing is any activity aimed at evaluating
More information10CS35: Data Structures Using C
CS35: Data Structures Using C QUESTION BANK REVIEW OF STRUCTURES AND POINTERS, INTRODUCTION TO SPECIAL FEATURES OF C OBJECTIVE: Learn : Usage of structures, unions - a conventional tool for handling a
More informationD1.3 Implementation and Test Plan
IST-2001-32133 GridLab - A Grid Application Toolkit and Testbed D1.3 Implementation and Test Plan Author(s): Document Filename: Work package: Partner(s): Lead Partner: Config ID: Document classification:
More informationCore Maths C1. Revision Notes
Core Maths C Revision Notes November 0 Core Maths C Algebra... Indices... Rules of indices... Surds... 4 Simplifying surds... 4 Rationalising the denominator... 4 Quadratic functions... 4 Completing the
More informationMasters programmes in Computer Science and Information Systems. Object-Oriented Design and Programming. Sample module entry test xxth December 2013
Masters programmes in Computer Science and Information Systems Object-Oriented Design and Programming Sample module entry test xxth December 2013 This sample paper has more questions than the real paper
More informationBinary Heap Algorithms
CS Data Structures and Algorithms Lecture Slides Wednesday, April 5, 2009 Glenn G. Chappell Department of Computer Science University of Alaska Fairbanks CHAPPELLG@member.ams.org 2005 2009 Glenn G. Chappell
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 informationMath 115 Spring 2011 Written Homework 5 Solutions
. Evaluate each series. a) 4 7 0... 55 Math 5 Spring 0 Written Homework 5 Solutions Solution: We note that the associated sequence, 4, 7, 0,..., 55 appears to be an arithmetic sequence. If the sequence
More informationJava Interview Questions and Answers
1. What is the most important feature of Java? Java is a platform independent language. 2. What do you mean by platform independence? Platform independence means that we can write and compile the java
More informationSolving Rational Equations
Lesson M Lesson : Student Outcomes Students solve rational equations, monitoring for the creation of extraneous solutions. Lesson Notes In the preceding lessons, students learned to add, subtract, multiply,
More informationUnit testing with JUnit and CPPUnit. Krzysztof Pietroszek kmpietro@swen.uwaterloo.ca
Unit testing with JUnit and CPPUnit Krzysztof Pietroszek kmpietro@swen.uwaterloo.ca Old-fashioned low-level testing Stepping through a debugger drawbacks: 1. not automatic 2. time-consuming Littering code
More informationUnit Testing with Monkeys Karl-Mikael Björklid (bjorklid@jyu.) University of Jyväskylä Department of Mathematical Information Technology
Abstract Unit Testing with Monkeys Karl-Mikael Björklid (bjorklid@jyu.) University of Jyväskylä Department of Mathematical Information Technology Unit testing has become an incresingly popular way of assuring
More informationBCS HIGHER EDUCATION QUALIFICATIONS Level 6 Professional Graduate Diploma in IT. March 2013 EXAMINERS REPORT. Software Engineering 2
BCS HIGHER EDUCATION QUALIFICATIONS Level 6 Professional Graduate Diploma in IT March 2013 EXAMINERS REPORT Software Engineering 2 General Comments The pass rate this year was significantly better than
More informationAmbientes de Desenvolvimento Avançados
Ambientes de Desenvolvimento Avançados http://www.dei.isep.ipp.pt/~jtavares/adav/adav.htm Aula 5 Engenharia Informática 2006/2007 José António Tavares jrt@isep.ipp.pt 1 O que é um componente e o que não
More informationNEER ENGI EVALUATION OF DEVELOPMENT PROCESS AND METHODOLOGY FOR CO-MODELS. Electrical and Computer Engineering Technical Report ECE-TR-12
NEER ENGI EVALUATION OF DEVELOPMENT PROCESS AND METHODOLOGY FOR CO-MODELS Electrical and Computer Engineering Technical Report ECE-TR-12 DATA SHEET Title: Evaluation of Development Process and Methodology
More informationAnalysis of Binary Search algorithm and Selection Sort algorithm
Analysis of Binary Search algorithm and Selection Sort algorithm In this section we shall take up two representative problems in computer science, work out the algorithms based on the best strategy to
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 informationA Catalogue of the Steiner Triple Systems of Order 19
A Catalogue of the Steiner Triple Systems of Order 19 Petteri Kaski 1, Patric R. J. Östergård 2, Olli Pottonen 2, and Lasse Kiviluoto 3 1 Helsinki Institute for Information Technology HIIT University of
More informationAutomatic Test Data Synthesis using UML Sequence Diagrams
Vol. 09, No. 2, March April 2010 Automatic Test Data Synthesis using UML Sequence Diagrams Ashalatha Nayak and Debasis Samanta School of Information Technology Indian Institute of Technology, Kharagpur
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 informationModeling Concurrent Systems with Shared Resources
Modeling Concurrent Systems with Shared Resources Ángel Herranz 1, Julio Mariño 1, Manuel Carro 1, and Juan José Moreno Navarro 2 1 Universidad Politécnica de Madrid 2 Spanish Ministry of Science and Innovation
More informationwebmunit for WebMethods Integration Server
webmunit for WebMethods Integration Server This document presents webmunit, a Unit Testing Library developed from scratch on the webmethods Integration Server platform. It also discusses the unit testing
More informationFactoring Trinomials of the Form x 2 bx c
4.2 Factoring Trinomials of the Form x 2 bx c 4.2 OBJECTIVES 1. Factor a trinomial of the form x 2 bx c 2. Factor a trinomial containing a common factor NOTE The process used to factor here is frequently
More information1.4 Compound Inequalities
Section 1.4 Compound Inequalities 53 1.4 Compound Inequalities This section discusses a technique that is used to solve compound inequalities, which is a phrase that usually refers to a pair of inequalities
More information15-150 Lecture 11: Tail Recursion; Continuations
15-150 Lecture 11: Tail Recursion; Continuations Lecture by Dan Licata February 21, 2011 In this lecture we will discuss space usage: analyzing the memory it takes your program to run tail calls and tail
More informationTo convert an arbitrary power of 2 into its English equivalent, remember the rules of exponential arithmetic:
Binary Numbers In computer science we deal almost exclusively with binary numbers. it will be very helpful to memorize some binary constants and their decimal and English equivalents. By English equivalents
More informationAPPENDIX A: MOCKITO UNIT TESTING TUTORIAL
APPENDIX A: MOCKITO UNIT TESTING TUTORIAL This appendix is a tutorial over how to implement Mockito Unit testing/mocking framework. It also contains a code example of a simple test created exclusively
More informationA Link Layer Discovery Protocol Fuzzer
The University of Texas at Austin, Department of Computer Sciences, Technical Report TR-07-24 A Link Layer Discovery Protocol Fuzzer Jeremy Hollander Department of Computer Sciences The University of Texas
More informationCIA Lab Assignment: Web Servers
CIA Lab Assignment: Web Servers A. Bakker N. Sijm C. Dumitru J. van der Ham Feedback deadline: October 17, 2014 10:00 CET Abstract Web servers are an important way of putting information out on the Internet
More informationIntroduction to Programming (in C++) Loops. Jordi Cortadella, Ricard Gavaldà, Fernando Orejas Dept. of Computer Science, UPC
Introduction to Programming (in C++) Loops Jordi Cortadella, Ricard Gavaldà, Fernando Orejas Dept. of Computer Science, UPC Example Assume the following specification: Input: read a number N > 0 Output:
More informationExample. Introduction to Programming (in C++) Loops. The while statement. Write the numbers 1 N. Assume the following specification:
Example Introduction to Programming (in C++) Loops Assume the following specification: Input: read a number N > 0 Output: write the sequence 1 2 3 N (one number per line) Jordi Cortadella, Ricard Gavaldà,
More information1 Introduction. 2 An Interpreter. 2.1 Handling Source Code
1 Introduction The purpose of this assignment is to write an interpreter for a small subset of the Lisp programming language. The interpreter should be able to perform simple arithmetic and comparisons
More informationTESTING WITH JUNIT. Lab 3 : Testing
TESTING WITH JUNIT Lab 3 : Testing Overview Testing with JUnit JUnit Basics Sample Test Case How To Write a Test Case Running Tests with JUnit JUnit plug-in for NetBeans Running Tests in NetBeans Testing
More informationAnswer: The relationship cannot be determined.
Question 1 Test 2, Second QR Section (version 3) In City X, the range of the daily low temperatures during... QA: The range of the daily low temperatures in City X... QB: 30 Fahrenheit Arithmetic: Ranges
More informationVerification of Imperative Programs in Theorema
Verification of Imperative Programs in Theorema Laura Ildikó Kovács, Nikolaj Popov, Tudor Jebelean 1 Research Institute for Symbolic Computation, Johannes Kepler University, A-4040 Linz, Austria Institute
More informationQuestion 1. [7 points] Consider the following scenario and assume host H s routing table is the one given below:
Computer Networks II Master degree in Computer Engineering Exam session: 11/02/2009 Teacher: Emiliano Trevisani Last name First name Student Identification number You are only allowed to use a pen and
More informationAn Automated Testing Tool Using UI Structure
, March 12-14, 2014, Hong Kong An Automated Testing Tool Using UI Structure Nutharat Harnvorawong, Taratip Suwannasart, Member, IAENG Abstract Testers usually run a new version of software against existing
More informationARE YOU A RADICAL OR JUST A SQUARE ROOT? EXAMPLES
ARE YOU A RADICAL OR JUST A SQUARE ROOT? EXAMPLES 1. Squaring a number means using that number as a factor two times. 8 8(8) 64 (-8) (-8)(-8) 64 Make sure students realize that x means (x ), not (-x).
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 informationJava. Java. e=mc 2. composition
2 Java Java e=mc 2 composition 17 18 method Extreme Programming Bo Diddley 2-1 2-1 50 1998 19 π ª º pattern XML XML hash table key/value XML 20 EJB CMP SQL ASP VBScript Microsoft ASP ASP.NET JavaScript
More informationCalculate Highest Common Factors(HCFs) & Least Common Multiples(LCMs) NA1
Calculate Highest Common Factors(HCFs) & Least Common Multiples(LCMs) NA1 What are the multiples of 5? The multiples are in the five times table What are the factors of 90? Each of these is a pair of factors.
More informationIntroducing the Dezyne Modelling Language
Introducing the Dezyne Modelling Language Bits & Chips Smart Systems, 20 November 2014 Paul Hoogendijk. paul.hoogendijk@verum.com Software Controlled Systems Software Controlled Systems Event driven Concurrent,
More informationSupplemental Worksheet Problems To Accompany: The Pre-Algebra Tutor: Volume 1 Section 1 Real Numbers
Supplemental Worksheet Problems To Accompany: The Pre-Algebra Tutor: Volume 1 Please watch Section 1 of this DVD before working these problems. The DVD is located at: http://www.mathtutordvd.com/products/item66.cfm
More informationPerformance Improvement In Java Application
Performance Improvement In Java Application Megha Fulfagar Accenture Delivery Center for Technology in India Accenture, its logo, and High Performance Delivered are trademarks of Accenture. Agenda Performance
More informationGeneral Problem Solving Model. Software Development Methodology. Chapter 2A
General Problem Solving Model Software Development Methodology These focus on understanding what the problem is about Chapter 2A Concerned with understanding more about the nature of the problem and possible
More informationRoman Numerals Case Study 1996 M. J. Clancy and M. C. Linn
Roman Numerals Case Study 1996 M. J. Clancy and M. C. Linn Background Values less than 3999 in the Roman numeral system are written using seven digits whose decimal equivalents are given in the table below.
More informationProgramming and Software Development CTAG Alignments
Programming and Software Development CTAG Alignments This document contains information about four Career-Technical Articulation Numbers (CTANs) for Programming and Software Development Career-Technical
More informationLecture Notes on Linear Search
Lecture Notes on Linear Search 15-122: Principles of Imperative Computation Frank Pfenning Lecture 5 January 29, 2013 1 Introduction One of the fundamental and recurring problems in computer science is
More informationSample Induction Proofs
Math 3 Worksheet: Induction Proofs III, Sample Proofs A.J. Hildebrand Sample Induction Proofs Below are model solutions to some of the practice problems on the induction worksheets. The solutions given
More informationPES Institute of Technology-BSC QUESTION BANK
PES Institute of Technology-BSC Faculty: Mrs. R.Bharathi CS35: Data Structures Using C QUESTION BANK UNIT I -BASIC CONCEPTS 1. What is an ADT? Briefly explain the categories that classify the functions
More informationThe Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1
The Java Series Java Essentials I What is Java? Basic Language Constructs Slide 1 What is Java? A general purpose Object Oriented programming language. Created by Sun Microsystems. It s a general purpose
More informationStatic vs. Dynamic. Lecture 10: Static Semantics Overview 1. Typical Semantic Errors: Java, C++ Typical Tasks of the Semantic Analyzer
Lecture 10: Static Semantics Overview 1 Lexical analysis Produces tokens Detects & eliminates illegal tokens Parsing Produces trees Detects & eliminates ill-formed parse trees Static semantic analysis
More informationUnit Testing. and. JUnit
Unit Testing and JUnit Problem area Code components must be tested! Confirms that your code works Components must be tested t in isolation A functional test can tell you that a bug exists in the implementation
More informationWhen factoring, we look for greatest common factor of each term and reverse the distributive property and take out the GCF.
Factoring: reversing the distributive property. The distributive property allows us to do the following: When factoring, we look for greatest common factor of each term and reverse the distributive property
More information1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++
Answer the following 1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++ 2) Which data structure is needed to convert infix notations to postfix notations? Stack 3) The
More informationDesigning with Exceptions. CSE219, Computer Science III Stony Brook University http://www.cs.stonybrook.edu/~cse219
Designing with Exceptions CSE219, Computer Science III Stony Brook University http://www.cs.stonybrook.edu/~cse219 Testing vs. Debugging Testing Coding Does the code work properly YES NO 2 Debugging Testing
More informationTool-Assisted Unit-Test Generation and Selection Based on Operational Abstractions
Tool-Assisted Unit-Test Generation and Selection Based on Operational Abstractions Tao Xie 1 and David Notkin 2 (xie@csc.ncsu.edu,notkin@cs.washington.edu) 1 Department of Computer Science, North Carolina
More informationExperiences with Online Programming Examinations
Experiences with Online Programming Examinations Monica Farrow and Peter King School of Mathematical and Computer Sciences, Heriot-Watt University, Edinburgh EH14 4AS Abstract An online programming examination
More informationCOMPUTER SCIENCE. Paper 1 (THEORY)
COMPUTER SCIENCE Paper 1 (THEORY) (Three hours) Maximum Marks: 70 (Candidates are allowed additional 15 minutes for only reading the paper. They must NOT start writing during this time) -----------------------------------------------------------------------------------------------------------------------
More informationThomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation
Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science updated 03/08/2012 Unit 1: JKarel 8 weeks http://www.fcps.edu/is/pos/documents/hs/compsci.htm
More informationChapter 8: Bags and Sets
Chapter 8: Bags and Sets In the stack and the queue abstractions, the order that elements are placed into the container is important, because the order elements are removed is related to the order in which
More informationJUnit Automated Software Testing Framework. Jeff Offutt. SWE 437 George Mason University 2008. Thanks in part to Aynur Abdurazik. What is JUnit?
JUnit Automated Software Testing Framework Jeff Offutt SWE 437 George Mason University 2008 Thanks in part to Aynur Abdurazik What is JUnit? Open source Java testing framework used to write and run repeatable
More informationSlides prepared by : Farzana Rahman TESTING WITH JUNIT IN ECLIPSE
TESTING WITH JUNIT IN ECLIPSE 1 INTRODUCTION The class that you will want to test is created first so that Eclipse will be able to find that class under test when you build the test case class. The test
More informationStack machines The MIPS assembly language A simple source language Stack-machine implementation of the simple language Readings: 9.1-9.
Code Generation I Stack machines The MIPS assembly language A simple source language Stack-machine implementation of the simple language Readings: 9.1-9.7 Stack Machines A simple evaluation model No variables
More information23. RATIONAL EXPONENTS
23. RATIONAL EXPONENTS renaming radicals rational numbers writing radicals with rational exponents When serious work needs to be done with radicals, they are usually changed to a name that uses exponents,
More informationUnit Testing JUnit and Clover
1 Unit Testing JUnit and Clover Software Component Technology Agenda for Today 2 1. Testing 2. Main Concepts 3. Unit Testing JUnit 4. Test Evaluation Clover 5. Reference Software Testing 3 Goal: find many
More informationIteration CHAPTER 6. Topic Summary
CHAPTER 6 Iteration TOPIC OUTLINE 6.1 while Loops 6.2 for Loops 6.3 Nested Loops 6.4 Off-by-1 Errors 6.5 Random Numbers and Simulations 6.6 Loop Invariants (AB only) Topic Summary 6.1 while Loops Many
More information