STPCon Fall 2013 October 24, 2013

Size: px
Start display at page:

Download "STPCon Fall 2013 October 24, 2013"

Transcription

1 SESSION #1001 Improved Testing Using a Test Execution Model DOUG HOFFMAN, Software Quality Methods, LLC. Doug.Hoffman@acm.org, Models And Testing A model describes the elements and relationships of some idea or thing Testing is a process of investigation to learn something about quality A model provides a framework for understanding and planning testing A model encourages more complete evaluation of the elements involved in testing Douglas Hoffman Copyright , SQM, LLC. 2 Douglas Hoffman Page 1 of 12

2 Some Models Are Better Than Others To some degree For some purposes All models are wrong, but some are useful. George E. P. Box Doug Hoffman Copyright 2013 SQM, LLC. 3 Software Under Test (SUT) The SUT is the software that we intend to test. The purpose of the test is check one or more characteristics of this software. The SUT may be made up of one or multiple executables, be single or multithreaded, and is frequently nested with other software we need only to indirectly test. Douglas Hoffman Copyright , SQM, LLC. 4 Douglas Hoffman Page 2 of 12

3 Testing Is To Gain Information Running a test can be described in three steps: setup, inputs, and verdict generation: Setupprepares the data and conditions required by the test Inputs are the test exercise Resultsare checked to generate a pass/fail verdict Much more information is available Douglas Hoffman Copyright , SQM, LLC. 5 A Black Box Testing Model Test Inputs Test Results Pre-condition Data Pre-condition Program State Environmental Factors System Under Test Post-condition Data Post-condition Program State Environmental Outcomes Douglas Hoffman Copyright , SQM, LLC. 6 Douglas Hoffman Page 3 of 12

4 Test Inputs Test Inputsare the things done to stimulate the SUT; e.g., input values and mouse clicks for a GUI This is usually what we think of as the test (Most tests are designed based on a simple Input/Process/Output model of computer program execution) Douglas Hoffman Copyright , SQM, LLC. 7 Pre-Condition Data The Pre-Condition Datastate is the set of stored data values at the start of a test The behavior of the SUT is greatly influenced by values inside the program and in dedicated or shared data sets Initial values for internal data UID/password values Database contents Conditioning the data is often part of setup Douglas Hoffman Copyright , SQM, LLC. 8 Douglas Hoffman Page 4 of 12

5 Pre-Condition Program State The Pre-Condition Program Stateis the SUT s internal states when the test begins The behavior of the SUT is highly dependent on the program s internal state Screen display Permissions Internal state machines Program state is not always known or observable Douglas Hoffman Copyright , SQM, LLC. 9 Environmental Factors Environmental Factorsare other outside influences on the SUT behavior The factors fall into three broad categories: Conditions (e.g., user permissions, OS, or hardware configuration) Events (e.g., interrupts, data changes by outside factors, or network load) Sequences of events (e.g., the timing and order of events) Douglas Hoffman Copyright , SQM, LLC. 10 Douglas Hoffman Page 5 of 12

6 Results Resultsare the expected values and events checked to generate the initial pass/fail verdict from running the test The results are selected based on the test These are usually selected to show the positive outcome from the exercise Sometimes they are selected to check for anticipated possible errors Douglas Hoffman Copyright , SQM, LLC. 11 Post-Condition Data The Post-Condition Datastate is the set of stored values when the test completes The SUT has the potential for changing data outside the program in any accessible data sets Intended data Referenced data Unintended data The set of possibilities is infinite, especially considering the possible behavior of the SUT when bugs are present Douglas Hoffman Copyright , SQM, LLC. 12 Douglas Hoffman Page 6 of 12

7 Post-Condition Program State The Post-Condition Program Stateis the internal state after the test completes The program state is frequently delayed from the Inputs and not always observable The behavior of the SUT continues after the last input action from the test Processing time Resource and event requirements Program clean-up Douglas Hoffman Copyright , SQM, LLC. 13 Environmental Outcomes The Environmental Outcomesare influences the SUT manifests in the outside environment The outcomes are either persistent or transient The outcomes fall into two broad categories: Conditions (e.g., user permissions, value changes to OS environment variables, files left around, or memory leaks) Real-time events (e.g., generated interrupts, CPU utilization, or network load) Douglas Hoffman Copyright , SQM, LLC. 14 Douglas Hoffman Page 7 of 12

8 Implications From Influences The test exercise (Inputs) is often the easy part SUT behavior is driven by much more than the setup and input values There are many domains for influences There are an infinite number of possible influences We should monitor or control important influences Douglas Hoffman Copyright , SQM, LLC. 15 More Implications For Influences Not all influences are known or knowable Some influences require test hooks to monitor or control It is impossible to control all the influences Every test run is different because of different influences Non reproducible just means there are unknown influences Douglas Hoffman Copyright , SQM, LLC. 16 Douglas Hoffman Page 8 of 12

9 Implications For Outcomes Positive test results (a pass ) is not conclusive Negative initial results (a fail ) must be investigated before really knowing if a bug has been uncovered SUT [mis]behavior causes much more than just the expected results Not all outcomes are known or knowable Douglas Hoffman Copyright , SQM, LLC. 17 More Implications For Outcomes We should check as much as we can Global outcomes (e.g., files touched and memory leaks) Specific outcomes (e.g., the all of data sets, program state, and CPU/network utilization) Some outcomes are transient and easily missed Some outcomes require test hooks to be visible There are infinite possibilities for outcomes Outcomes from one test become influences for subsequent tests Douglas Hoffman Copyright , SQM, LLC. 18 Douglas Hoffman Page 9 of 12

10 General Things To Do Control what you need to Better focus for the tests with more control Avoids many false alarms Monitor what you can Check generic and test specific elements Include program and system internals if possible Include test specific and general checking Douglas Hoffman Copyright , SQM, LLC. 19 Things To Do About Data Pre-define as much as possible A test should only create data required to get information for the test Limit created data use within the test whenever possible Share data between tests only when that is the point of the two tests Periodically check all the data Douglas Hoffman Copyright , SQM, LLC. 20 Douglas Hoffman Page 10 of 12

11 Things To Do About Program State Control or monitor at the start Control means setting the program state Monitor means logging as much information as practical Monitor for exceptions during testing Consider tests that set or reset the state Douglas Hoffman Copyright , SQM, LLC. 21 Things To Do About The Environment Control or monitor at the start Record invariants Record system state information Monitor during testing Touching things that shouldn t be touched Resource utilization Check for variations after completion Douglas Hoffman Copyright , SQM, LLC. 22 Douglas Hoffman Page 11 of 12

12 Conclusions Testing is improved by gathering more information We need to understand what is being tested Keep in mind that you only see part of the picture Control what you must Monitor what you can Check for unexpected outcomes Douglas Hoffman Copyright , SQM, LLC. 23 Douglas Hoffman Page 12 of 12

Test Oracles. Test Oracle

Test Oracles. Test Oracle Encontro Brasileiro de Testes de Software April 23, 2010 Douglas Hoffman, BACS, MBA, MSEE, ASQ-CSQE, ASQ-CMQ/OE, ASQ Fellow Software Quality Methods, LLC. (SQM) www.softwarequalitymethods.com doug.hoffman@acm.org

More information

Test Automation Beyond Regression Testing

Test Automation Beyond Regression Testing Test Automation Beyond Regression Testing Doug Hoffman, BA, MBA, MSEE, ASQ-CSQE Software Quality Methods, LLC. (SQM) www.softwarequalitymethods.com doug.hoffman@acm.org STPCon Spring 2008 Why Automate

More information

Exploratory Automated Testing. About Doug Hoffman

Exploratory Automated Testing. About Doug Hoffman CAST 2013 August 27, 2013 Douglas Hoffman, BACS, MBA, MSEE, ASQ-CSQE, ASQ-CMQ/OE, ASQ Fellow Software Quality Methods, LLC. (SQM) www.softwarequalitymethods.com doug.hoffman@acm.org Douglas Hoffman Copyright

More information

SESSION PRE-1. Exploratory Test Automation. DOUG HOFFMAN, Software Quality Methods, LLC.

SESSION PRE-1. Exploratory Test Automation. DOUG HOFFMAN, Software Quality Methods, LLC. SESSION PRE-1 DOUG HOFFMAN, Software Quality Methods, LLC. Doug.Hoffman@acm.org, www.softwarequalitymethods.com About Doug Hoffman I am a management consultant in testing/qa strategy and tactics. I help

More information

Self-Verifying Data. Douglas Hoffman Software Quality Methods, LLC.

Self-Verifying Data. Douglas Hoffman Software Quality Methods, LLC. Self-Verifying Data Douglas Hoffman Software Quality Methods, LLC. Doug.Hoffman@acm.org Abstract Some tests require large data sets. The data may be database records, financial information, communications

More information

Non-Regression Test Automation

Non-Regression Test Automation Non-Regression Test Automation Douglas Hoffman 8/3/2008 Software Quality Methods, LLC. Doug.Hoffman@acm.org www.softwarequalitymethods.com Experience and qualifications: Douglas Hoffman has over twenty-five

More information

Beyond Regression Testing SSQA 11/14/06

Beyond Regression Testing SSQA 11/14/06 Test Automation: Beyond Regression Testing Douglas Hoffman Quality Program Manager, Hewlett-Packard SSQA 11/14/06 Regression Testing 1. IEEE 610.12: Selective retesting of a system or component to verify

More information

Three General Principles of QA. COMP 4004 Fall Notes Adapted from Dr. A. Williams

Three General Principles of QA. COMP 4004 Fall Notes Adapted from Dr. A. Williams Three General Principles of QA COMP 4004 Fall 2008 Notes Adapted from Dr. A. Williams Software Quality Assurance Lec2 1 Three General Principles of QA Know what you are doing. Know what you should be doing.

More information

18-642: Race Conditions

18-642: Race Conditions 18-642: Race Conditions 10/30/2017 Race Conditions Anti-Patterns for Race Conditions: Unprotected access to shared variables Shared variables not declared volatile Not accounting for interrupts and task

More information

Standard Glossary of Terms used in Software Testing. Version 3.2. Advanced Test Automation - Engineer Terms

Standard Glossary of Terms used in Software Testing. Version 3.2. Advanced Test Automation - Engineer Terms Standard Glossary of Terms used in Software Testing Version 3.2 International Software Testing Qualifications Board Copyright Notice This document may be copied in its entirety, or extracts made, if the

More information

HOW TO WRITE USER STORIES (AND WHAT YOU SHOULD NOT DO) Stuart Ashman, QA Director at Mio Global Bob Cook, Senior Product Development Manager, Sophos

HOW TO WRITE USER STORIES (AND WHAT YOU SHOULD NOT DO) Stuart Ashman, QA Director at Mio Global Bob Cook, Senior Product Development Manager, Sophos HOW TO WRITE USER STORIES (AND WHAT YOU SHOULD NOT DO) Stuart Ashman, QA Director at Mio Global Bob Cook, Senior Product Development Manager, Sophos Welcome This presentation will discuss Writing user

More information

9 th CA 2E/CA Plex Worldwide Developer Conference 1

9 th CA 2E/CA Plex Worldwide Developer Conference 1 1 Introduction/Welcome Message Organizations that are making major changes to or replatforming an application need to dedicate considerable resources ot the QA effort. In this session we will show best

More information

CS 147: Computer Systems Performance Analysis

CS 147: Computer Systems Performance Analysis CS 147: Computer Systems Performance Analysis Test Loads CS 147: Computer Systems Performance Analysis Test Loads 1 / 33 Overview Overview Overview 2 / 33 Test Load Design Test Load Design Test Load Design

More information

Virtual Memory Validator. by Software Verification

Virtual Memory Validator. by Software Verification Virtual Memory Validator by Software Verification Copyright Software Verify Limited (c) 2002-2016 Virtual Memory Validator Virtual Memory Visualization for Windows NT, 2000, XP by Software Verification

More information

A Case Study of Model-Based Testing

A Case Study of Model-Based Testing A Case Study of Model-Based Testing Using Microsoft Spec Explorer and Validation Framework Carleton University COMP 4905 Andrew Wylie Jean-Pierre Corriveau, Associate Professor, School of Computer Science

More information

Learning objectives: Software Engineering. CSI1102: Introduction to Software Design. The Software Life Cycle. About Maintenance

Learning objectives: Software Engineering. CSI1102: Introduction to Software Design. The Software Life Cycle. About Maintenance CSI1102: Introduction to Software Design Chapter 10: Introduction to Software Engineering Learning objectives: Software Engineering The quality of the software is a direct result of the process we follow

More information

An infinite decimal is a decimal with digits that do not end. They may repeat, but they never end. An example of an infinite decimal is..

An infinite decimal is a decimal with digits that do not end. They may repeat, but they never end. An example of an infinite decimal is.. Student Outcomes Students know the intuitive meaning of an infinite decimal. Students will be able to explain why the infinite decimal 0. 9 is equal to 1. Lesson Notes The purpose of this lesson is to

More information

Computer Principles and Components 1

Computer Principles and Components 1 Computer Principles and Components 1 Course Map This module provides an overview of the hardware and software environment being used throughout the course. Introduction Computer Principles and Components

More information

Software Design Models, Tools & Processes. Lecture 6: Transition Phase Cecilia Mascolo

Software Design Models, Tools & Processes. Lecture 6: Transition Phase Cecilia Mascolo Software Design Models, Tools & Processes Lecture 6: Transition Phase Cecilia Mascolo UML Component diagram Component documentation Your own classes should be documented the same way library classes are.

More information

DESIGN AS RISK MINIMIZATION

DESIGN AS RISK MINIMIZATION THOMAS LATOZA SWE 621 FALL 2018 DESIGN AS RISK MINIMIZATION IN CLASS EXERCISE As you come in and take a seat What were the most important risks you faced in a recent software project? WHAT IS A RISK? WHAT

More information

DataView Release Notes Version

DataView Release Notes Version DataView Release Notes Version 3.53.0011 Released 1-30-2018 CATEGORY Updates (v 3.53.0011): DataView Core Version 3.53.0011 Fixed on issue with the scroll bar on the events page of a report from a PEL

More information

Interaction Techniques. SWE 432, Fall 2016 Design and Implementation of Software for the Web

Interaction Techniques. SWE 432, Fall 2016 Design and Implementation of Software for the Web Interaction Techniques SWE 432, Fall 2016 Design and Implementation of Software for the Web Today What principles guide the design of usable interaction techniques? How can interaction designs help support

More information

Basic Troubleshooting Process for Operating Systems

Basic Troubleshooting Process for Operating Systems Basic Troubleshooting Process for Operating Systems Applying the Troubleshooting Process to Operating Systems OS problems can result from a combination of hardware, software, and network issues. Computer

More information

Practical Objects: Test Driven Software Development using JUnit

Practical Objects: Test Driven Software Development using JUnit 1999 McBreen.Consulting Practical Objects Test Driven Software Development using JUnit Pete McBreen, McBreen.Consulting petemcbreen@acm.org Test Driven Software Development??? The Unified Process is Use

More information

6 Tips to Help You Improve Configuration Management. by Stuart Rance

6 Tips to Help You Improve Configuration Management. by Stuart Rance 6 Tips to Help You Improve Configuration Management by Stuart Rance Introduction Configuration management provides information about what assets you own, how they are configured, and how they are connected

More information

Extension Web Publishing 3 Lecture # 1. Chapter 6 Site Types and Architectures

Extension Web Publishing 3 Lecture # 1. Chapter 6 Site Types and Architectures Chapter 6 Site Types and Architectures Site Types Definition: A public Web site, an Internet Web site, an external Web site or simply a Web site is one that is not explicitly restricted to a particular

More information

Reliable programming

Reliable programming Reliable programming How to write programs that work Think about reliability during design and implementation Test systematically When things break, fix them correctly Make sure everything stays fixed

More information

Chapter 17. Iteration The while Statement

Chapter 17. Iteration The while Statement 203 Chapter 17 Iteration Iteration repeats the execution of a sequence of code. Iteration is useful for solving many programming problems. Interation and conditional execution form the basis for algorithm

More information

Accuterm 7 Usage Guide

Accuterm 7 Usage Guide P a g e 1 Accuterm 7 Usage Guide Most if not all computers on our campus have Accuterm 7 already installed on them. To log in, you will double click the icon on your desktop that looks like the one shown

More information

Testing3. State-based Testing

Testing3. State-based Testing Testing3 State-based testing Inheritance Testing interacting classes Communication diagrams Object relation graph (ORD) Regression testing GUI Testing 1 State-based Testing Natural representation with

More information

Anomaly Detection vs. Pattern Recognition

Anomaly Detection vs. Pattern Recognition WHITEPAPER The difference between anomaly detection and pattern recognition nd Scenarios and use cases Anomaly Detection vs. Pattern Recognition By Dennis Zimmer CEO opvizor GmbH, VMware vexpert, VCP,

More information

Basic Concepts of Reliability

Basic Concepts of Reliability Basic Concepts of Reliability Reliability is a broad concept. It is applied whenever we expect something to behave in a certain way. Reliability is one of the metrics that are used to measure quality.

More information

MicroSurvey Users: How to Report a Bug

MicroSurvey Users: How to Report a Bug MicroSurvey Users: How to Report a Bug Step 1: Categorize the Issue If you encounter a problem, as a first step it is important to categorize the issue as either: A Product Knowledge or Training issue:

More information

Computer-System Architecture (cont.) Symmetrically Constructed Clusters (cont.) Advantages: 1. Greater computational power by running applications

Computer-System Architecture (cont.) Symmetrically Constructed Clusters (cont.) Advantages: 1. Greater computational power by running applications Computer-System Architecture (cont.) Symmetrically Constructed Clusters (cont.) Advantages: 1. Greater computational power by running applications concurrently on all computers in the cluster. Disadvantages:

More information

DataView Release Notes Version Released

DataView Release Notes Version Released DataView Release Notes Version 3.53.0013 Released 9-25-2018 CATEGORY (v 3.53.0013): Simple Logger II Version 1.01.0059 Open button is now active when selecting recordings from the session s list. Corrected

More information

Lecture 15 Software Testing

Lecture 15 Software Testing Lecture 15 Software Testing Includes slides from the companion website for Sommerville, Software Engineering, 10/e. Pearson Higher Education, 2016. All rights reserved. Used with permission. Topics covered

More information

"BEHAVIOR PATTERNS FOR DESIGNING AUTOMATED TESTS"

BEHAVIOR PATTERNS FOR DESIGNING AUTOMATED TESTS BIO PRESENTATION W3 5/16/2007 11:30:00 AM "BEHAVIOR PATTERNS FOR DESIGNING AUTOMATED TESTS" Jamie Mitchell Test & Automation Consulting LLC International Conference On Software Test Analysis And Review

More information

Debugging. Erwan Demairy Dream

Debugging. Erwan Demairy Dream 1 Debugging Erwan Demairy Dream 2 Where are we? Tools Requirements Global architecture UML Local architecture Implementation Compilation Link Editor Compiler Linker Tests Debug Profiling Build IDE Debugger

More information

Race Catcher. Automatically Pinpoints Concurrency Defects in Multi-threaded JVM Applications with 0% False Positives.

Race Catcher. Automatically Pinpoints Concurrency Defects in Multi-threaded JVM Applications with 0% False Positives. Race Catcher US and International Patents Issued and Pending. Automatically Pinpoints Concurrency Defects in Multi-threaded JVM Applications with 0% False Positives. Whitepaper Introducing Race Catcher

More information

Testing. Prof. Clarkson Fall Today s music: Wrecking Ball by Miley Cyrus

Testing. Prof. Clarkson Fall Today s music: Wrecking Ball by Miley Cyrus Testing Prof. Clarkson Fall 2017 Today s music: Wrecking Ball by Miley Cyrus Review Previously in 3110: Modules Specification (functions, modules) Today: Validation Testing Black box Glass box Randomized

More information

Usable Privacy and Security Introduction to HCI Methods January 19, 2006 Jason Hong Notes By: Kami Vaniea

Usable Privacy and Security Introduction to HCI Methods January 19, 2006 Jason Hong Notes By: Kami Vaniea Usable Privacy and Security Introduction to HCI Methods January 19, 2006 Jason Hong Notes By: Kami Vaniea Due Today: List of preferred lectures to present Due Next Week: IRB training completion certificate

More information

Operating Systems (ECS 150) Spring 2011

Operating Systems (ECS 150) Spring 2011 Operating Systems (ECS 150) Spring 2011 Raju Pandey Department of Computer Science University of California, Davis CA 95616 pandey@cs.ucdavis.edu http://www.cs.ucdavis.edu/~pandey Course Objectives After

More information

Lesson 13: The Graph of a Linear Equation in Two Variables

Lesson 13: The Graph of a Linear Equation in Two Variables Student Outcomes Students predict the shape of a graph of a linear equation by finding and plotting solutions on a coordinate plane. Students informally explain why the graph of a linear equation is not

More information

Checked and Unchecked Exceptions in Java

Checked and Unchecked Exceptions in Java Checked and Unchecked Exceptions in Java Introduction In this article from my free Java 8 course, I will introduce you to Checked and Unchecked Exceptions in Java. Handling exceptions is the process by

More information

Technical White Paper

Technical White Paper Technical White Paper Via Excel (VXL) Item Templates This technical white paper is designed for Spitfire Project Management System users. In this paper, you will learn how to create Via Excel Item Templates

More information

How to Break Software by James Whittaker

How to Break Software by James Whittaker How to Break Software by James Whittaker CS 470 Practical Guide to Testing Consider the system as a whole and their interactions File System, Operating System API Application Under Test UI Human invokes

More information

Game keystrokes or Calculates how fast and moves a cartoon Joystick movements how far to move a cartoon figure on screen figure on screen

Game keystrokes or Calculates how fast and moves a cartoon Joystick movements how far to move a cartoon figure on screen figure on screen Computer Programming Computers can t do anything without being told what to do. To make the computer do something useful, you must give it instructions. You can give a computer instructions in two ways:

More information

Concurrency Control. Synchronization. Brief Preview of Scheduling. Motivating Example. Motivating Example (Cont d) Interleaved Schedules

Concurrency Control. Synchronization. Brief Preview of Scheduling. Motivating Example. Motivating Example (Cont d) Interleaved Schedules Brief Preview of Scheduling Concurrency Control Nan Niu (nn@cs.toronto.edu) CSC309 -- Summer 2008 Multiple threads ready to run Some mechanism for switching between them Context switches Some policy for

More information

HOUR 4 Understanding Events

HOUR 4 Understanding Events HOUR 4 Understanding Events It s fairly easy to produce an attractive interface for an application using Visual Basic.NET s integrated design tools. You can create beautiful forms that have buttons to

More information

Agile Software Development. Lecture 7: Software Testing

Agile Software Development. Lecture 7: Software Testing Agile Software Development Lecture 7: Software Testing Mahmoud El-Gayyar elgayyar@ci.suez.edu.eg Slides are a modified version of the slides by Prof. Kenneth M. Anderson Outline Testing Terminology Types

More information

Unit A451: Computer systems and programming. Section 3: Software 1 Intro to software

Unit A451: Computer systems and programming. Section 3: Software 1 Intro to software Unit A451: Computer systems and programming Section 3: Software 1 Intro to software Section Objectives Candidates should be able to: (a) Explain what is meant by the term software (b) Be aware of what

More information

Overview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing.

Overview. State-of-the-Art. Relative cost of error correction. CS 619 Introduction to OO Design and Development. Testing. Overview CS 619 Introduction to OO Design and Development ing! Preliminaries! All sorts of test techniques! Comparison of test techniques! Software reliability Fall 2012! Main issues: There are a great

More information

Introduction to: The Architecture of the Internet

Introduction to: The Architecture of the Internet COMP 150-IDS: Internet Scale Distributed Systems (Spring 2016) Introduction to: The Architecture of the Internet Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah

More information

Chapter 9. Software Testing

Chapter 9. Software Testing Chapter 9. Software Testing Table of Contents Objectives... 1 Introduction to software testing... 1 The testers... 2 The developers... 2 An independent testing team... 2 The customer... 2 Principles of

More information

Computer Programming. Basic Control Flow - Loops. Adapted from C++ for Everyone and Big C++ by Cay Horstmann, John Wiley & Sons

Computer Programming. Basic Control Flow - Loops. Adapted from C++ for Everyone and Big C++ by Cay Horstmann, John Wiley & Sons Computer Programming Basic Control Flow - Loops Adapted from C++ for Everyone and Big C++ by Cay Horstmann, John Wiley & Sons Objectives To learn about the three types of loops: while for do To avoid infinite

More information

Benefits of object-orientationorientation

Benefits of object-orientationorientation ITEC 136 Business Programming Concepts Week 14, Part 01 Overview 1 Week 14 Overview Week 13 review What is an object? (three parts) State (properties) Identity (location in memory) Behavior (methods) 2

More information

CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 14: OCT. 25TH INSTRUCTOR: JIAYIN WANG

CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 14: OCT. 25TH INSTRUCTOR: JIAYIN WANG CS/IT 114 Introduction to Java, Part 1 FALL 2016 CLASS 14: OCT. 25TH INSTRUCTOR: JIAYIN WANG 1 Notice Assignments No new homework this week. Please make up the homework 1 5 & class exercises this week.

More information

Introduction to: The Architecture of the Internet

Introduction to: The Architecture of the Internet COMP 117: Internet Scale Distributed Systems (Spring 2018) Introduction to: The Architecture of the Internet Noah Mendelsohn Tufts University Email: noah@cs.tufts.edu Web: http://www.cs.tufts.edu/~noah

More information

Page Replacement Algorithms

Page Replacement Algorithms Page Replacement Algorithms MIN, OPT (optimal) RANDOM evict random page FIFO (first-in, first-out) give every page equal residency LRU (least-recently used) MRU (most-recently used) 1 9.1 Silberschatz,

More information

Lecture 14: Chapter 18!

Lecture 14: Chapter 18! Lecture 14: Chapter 18! Testing Conventional Applications! Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e " by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by

More information

Lecture Notes on Contracts

Lecture Notes on Contracts Lecture Notes on Contracts 15-122: Principles of Imperative Computation Frank Pfenning Lecture 2 August 30, 2012 1 Introduction For an overview the course goals and the mechanics and schedule of the course,

More information

CSC 258 lab notes, Fall 2003

CSC 258 lab notes, Fall 2003 CSC 258 lab notes, Fall 2003 Instructor: E. R. C. Hehner Lab demonstrators: Nicolas Kokkalis, Andrés Lagar Cavilla Successful completion of the three graded labs in this course involves a significant amount

More information

VIRTUAL GPU SOFTWARE R390 FOR RED HAT ENTERPRISE LINUX WITH KVM

VIRTUAL GPU SOFTWARE R390 FOR RED HAT ENTERPRISE LINUX WITH KVM VIRTUAL GPU SOFTWARE R390 FOR RED HAT ENTERPRISE LINUX WITH KVM RN-08687-001 _v6.0 Revision 02 April 2018 Release Notes TABLE OF CONTENTS Chapter 1. Release Notes... 1 1.1. Updates in Release 6.0... 1

More information

QUIZ How do we implement run-time constants and. compile-time constants inside classes?

QUIZ How do we implement run-time constants and. compile-time constants inside classes? QUIZ How do we implement run-time constants and compile-time constants inside classes? Compile-time constants in classes The static keyword inside a class means there s only one instance, regardless of

More information

Interaction Techniques. SWE 432, Fall 2017 Design and Implementation of Software for the Web

Interaction Techniques. SWE 432, Fall 2017 Design and Implementation of Software for the Web Interaction Techniques SWE 432, Fall 2017 Design and Implementation of Software for the Web Today What principles guide the design of usable interaction techniques? How can interaction designs help support

More information

AXIOMS OF AN IMPERATIVE LANGUAGE PARTIAL CORRECTNESS WEAK AND STRONG CONDITIONS. THE AXIOM FOR nop

AXIOMS OF AN IMPERATIVE LANGUAGE PARTIAL CORRECTNESS WEAK AND STRONG CONDITIONS. THE AXIOM FOR nop AXIOMS OF AN IMPERATIVE LANGUAGE We will use the same language, with the same abstract syntax that we used for operational semantics. However, we will only be concerned with the commands, since the language

More information

Regression testing. Whenever you find a bug. Why is this a good idea?

Regression testing. Whenever you find a bug. Why is this a good idea? Regression testing Whenever you find a bug Reproduce it (before you fix it!) Store input that elicited that bug Store correct output Put into test suite Then, fix it and verify the fix Why is this a good

More information

Chapter 17. User Interface Design. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved.

Chapter 17. User Interface Design. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 17 User Interface Design McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 17-2 Distinguish between different types of computer users and design

More information

Exam Name: Oracle Database 11g: Program with PL/SQL

Exam Name: Oracle Database 11g: Program with PL/SQL Vendor: Oracle Exam Code: 1Z0-144 Exam Name: Oracle Database 11g: Program with PL/SQL Version: DEMO 1.View the Exhibit to examine the PL/SQL code: SREVROUPUT is on for the session. Which statement Is true

More information

Repetition Structures

Repetition Structures Repetition Structures Chapter 5 Fall 2016, CSUS Introduction to Repetition Structures Chapter 5.1 1 Introduction to Repetition Structures A repetition structure causes a statement or set of statements

More information

Software Quality. Richard Harris

Software Quality. Richard Harris Software Quality Richard Harris Part 1 Software Quality 143.465 Software Quality 2 Presentation Outline Defining Software Quality Improving source code quality More on reliability Software testing Software

More information

Operating Systems Design Fall 2010 Exam 1 Review. Paul Krzyzanowski

Operating Systems Design Fall 2010 Exam 1 Review. Paul Krzyzanowski Operating Systems Design Fall 2010 Exam 1 Review Paul Krzyzanowski pxk@cs.rutgers.edu 1 Question 1 To a programmer, a system call looks just like a function call. Explain the difference in the underlying

More information

Testing. ECE/CS 5780/6780: Embedded System Design. Why is testing so hard? Why do testing?

Testing. ECE/CS 5780/6780: Embedded System Design. Why is testing so hard? Why do testing? Testing ECE/CS 5780/6780: Embedded System Design Scott R. Little Lecture 24: Introduction to Software Testing and Verification What is software testing? Running a program in order to find bugs (faults,

More information

CSE 374 Programming Concepts & Tools. Hal Perkins Fall 2015 Lecture 15 Testing

CSE 374 Programming Concepts & Tools. Hal Perkins Fall 2015 Lecture 15 Testing CSE 374 Programming Concepts & Tools Hal Perkins Fall 2015 Lecture 15 Testing Where we are Some very basic software engineering topics in the midst of tools Today: testing (how, why, some terms) Later:

More information

QlikView SR9 Release notes

QlikView SR9 Release notes QlikView 12.10 SR9 Release notes What s new in QlikView 12.10 SR9 QlikView 12.10 SR9 includes only bug fixes. What s new in QlikView 12.10 SR8 QlikView 12.10 SR8 includes only bug fixes. What s new in

More information

Operating Systems Virtual Memory. Lecture 11 Michael O Boyle

Operating Systems Virtual Memory. Lecture 11 Michael O Boyle Operating Systems Virtual Memory Lecture 11 Michael O Boyle 1 Paged virtual memory Allows a larger logical address space than physical memory All pages of address space do not need to be in memory the

More information

Securing Your Salesforce Org: The Human Factor. February 2016 User Group Meeting

Securing Your Salesforce Org: The Human Factor. February 2016 User Group Meeting Securing Your Salesforce Org: The Human Factor February 2016 User Group Meeting Safe Harbor Safe harbor statement under the Private Securities Litigation Reform Act of 1995: This presentation may contain

More information

Yielding, General Switching. November Winter Term 2008/2009 Gerd Liefländer Universität Karlsruhe (TH), System Architecture Group

Yielding, General Switching. November Winter Term 2008/2009 Gerd Liefländer Universität Karlsruhe (TH), System Architecture Group System Architecture 6 Switching Yielding, General Switching November 10 2008 Winter Term 2008/2009 Gerd Liefländer 1 Agenda Review & Motivation Switching Mechanisms Cooperative PULT Scheduling + Switch

More information

UX Design Principles and Guidelines. Achieve Usability Goals

UX Design Principles and Guidelines. Achieve Usability Goals UX Design Principles and Guidelines Achieve Usability Goals Norman s Interaction Model Execution/Evaluation Action Cycle Donald Norman, The Design of Everyday Things, 1990 Execution/Evaluation Action Cycle:

More information

MFT Remote Controller

MFT Remote Controller User s Manual MFT Remote Controller 1st Edition This user's manual contains useful information about the precautions, functions, and operating procedures of the MFT Remote Controller program that is downloadable

More information

Java Concurrency in practice Chapter 9 GUI Applications

Java Concurrency in practice Chapter 9 GUI Applications Java Concurrency in practice Chapter 9 GUI Applications INF329 Spring 2007 Presented by Stian and Eirik 1 Chapter 9 GUI Applications GUI applications have their own peculiar threading issues To maintain

More information

SPBT3.0DPx BT module. Firmware Update Procedure. Revision 1.0

SPBT3.0DPx BT module. Firmware Update Procedure. Revision 1.0 SPBT3.0DPx BT module Firmware Update Procedure Revision 1.0 Agenda 2 Introduction Frequently Asked Questions Procedure Overview Hardware Setup Software Setup Introduction 3 Why ST customers should take

More information

Operating Systems Overview. Chapter 2

Operating Systems Overview. Chapter 2 1 Operating Systems Overview 2 Chapter 2 3 An operating System: The interface between hardware and the user From the user s perspective: OS is a program that controls the execution of application programs

More information

============================================================================

============================================================================ VMware 7 Eve stutters in windowed mode Posted by innriwins - 2014/02/10 10:28 Hi, So i started running eve on VMware 7 and i got a problem with very frequent stutters. It goes away when i change to "intervale

More information

DRVerify: The Verification of Physical Verification

DRVerify: The Verification of Physical Verification DRVerify: The Verification of Physical Verification Sage Design Automation, Inc. Santa Clara, California, USA Who checks the checker? DRC (design rule check) is the most fundamental physical verification

More information

DCS235 Software Engineering Exercise Sheet 2: Introducing GUI Programming

DCS235 Software Engineering Exercise Sheet 2: Introducing GUI Programming Prerequisites Aims DCS235 Software Engineering Exercise Sheet 2: Introducing GUI Programming Version 1.1, October 2003 You should be familiar with the basic Java, including the use of classes. The luej

More information

KERNEL THREAD IMPLEMENTATION DETAILS. CS124 Operating Systems Winter , Lecture 9

KERNEL THREAD IMPLEMENTATION DETAILS. CS124 Operating Systems Winter , Lecture 9 KERNEL THREAD IMPLEMENTATION DETAILS CS124 Operating Systems Winter 2015-2016, Lecture 9 2 Last Time: Kernel Threads OS kernel must provide a multitasking implementation Kernel threads are the minimal

More information

EXTERNAL INQUIRIES. Objective of Section: Definition: Rating:

EXTERNAL INQUIRIES. Objective of Section: Definition: Rating: EXTERNAL INQUIRIES 7 Objective of Section: Describe and define the concepts necessary to identify and rate External Inquiries. The exercises at the end of the section help the student demonstrate that

More information

Asynchronous Programming

Asynchronous Programming Asynchronous Programming Turn-in Instructions A main file, called gui.py See previous slides for how to make it main I ll run it from the command line Put in a ZIP file, along with any additional needed

More information

When Trouble Comes: The Basics of Debugging

When Trouble Comes: The Basics of Debugging When Trouble Comes: The Basics of Debugging No one is capable of performing IT tasks flawlessly all of the time. Therefore, web page design, programming and any other logical activity will require debugging

More information

CS370 Operating Systems

CS370 Operating Systems CS370 Operating Systems Colorado State University Yashwant K Malaiya Fall 2016 Lecture 33 Virtual Memory Slides based on Text by Silberschatz, Galvin, Gagne Various sources 1 1 FAQ How does the virtual

More information

1.2 Adding Integers. Contents: Numbers on the Number Lines Adding Signed Numbers on the Number Line

1.2 Adding Integers. Contents: Numbers on the Number Lines Adding Signed Numbers on the Number Line 1.2 Adding Integers Contents: Numbers on the Number Lines Adding Signed Numbers on the Number Line Finding Sums Mentally The Commutative Property Finding Sums using And Patterns and Rules of Adding Signed

More information

What computers just cannot do. COS 116: 2/28/2008 Sanjeev Arora

What computers just cannot do. COS 116: 2/28/2008 Sanjeev Arora What computers just cannot do. COS 116: 2/28/2008 Sanjeev Arora Administrivia In class midterm in midterms week; Thurs Mar 13 (closed book;? No lab in midterms week; review session instead. What computers

More information

Playback Testing Using Log files

Playback Testing Using Log files Playback Testing Using Log files Author Vijay Upadya, vijayu@microsoft.com Abstract Most testers are familiar with record/playback testing. A variation of this approach is log playback testing. Instead

More information

Context Switch DAVID KALINSKY

Context Switch DAVID KALINSKY DAVID KALINSKY f e a t u r e Context Switch From the humble infinite loop to the priority-based preemptive RTOS and beyond, scheduling options are everywhere to be found. This article offers a survey and

More information

BDD and Testing. User requirements and testing are tightly coupled

BDD and Testing. User requirements and testing are tightly coupled BDD and Testing User requirements and testing are tightly coupled 1 New Concept: Acceptance Tests Customer criteria for accepting a milestone Get paid if pass! Black-box tests specified with the customer

More information

Programming for the Non-Programmer Examples of programming concepts and terms for the rest of us. Laurie Weaver

Programming for the Non-Programmer Examples of programming concepts and terms for the rest of us. Laurie Weaver Programming for the Non-Programmer Examples of programming concepts and terms for the rest of us Laurie Weaver Programming for the Non-Programmer Programming and programmers can seem very mysterious to

More information

Code review guide. Notice: Read about the language that you will test its code, if you don t have an idea about the language this will be difficult.

Code review guide. Notice: Read about the language that you will test its code, if you don t have an idea about the language this will be difficult. Code review guide Author: Jameel Nabbo Website: www.jameelnabbo.com Table of contents Introduction Code review Checklist Steps to perform on code review task Tips for code review Starting the Code review

More information

Software Testing TEST CASE SELECTION AND ADEQUECY TEST EXECUTION

Software Testing TEST CASE SELECTION AND ADEQUECY TEST EXECUTION Software Testing TEST CASE SELECTION AND ADEQUECY TEST EXECUTION Overview, Test specification and cases, Adequacy criteria, comparing criteria, Overview of test execution, From test case specification

More information

Scheduling Mar. 19, 2018

Scheduling Mar. 19, 2018 15-410...Everything old is new again... Scheduling Mar. 19, 2018 Dave Eckhardt Brian Railing Roger Dannenberg 1 Outline Chapter 5 (or Chapter 7): Scheduling Scheduling-people/textbook terminology note

More information