Unit testing using Python nose
|
|
- Harriet Kelly
- 8 years ago
- Views:
Transcription
1 Unit testing using Python nose Luis Pedro Coelho On the web: On European Molecular Biology Laboratory June 11, 2014 Luis Pedro Coelho (EMBL) Unit testing June 11, 2014 (1 / 23)
2 Motivation Scientific code must not just produce nice looking output, but actually be correct. Luis Pedro Coelho (EMBL) Unit testing June 11, 2014 (2 / 23)
3 Motivation (II) Some recent code-related scientific catastrophes: Geoffrey Chang Abortion reduces crime? maybe not so much once you fix the bug Rogoff s Growth in a Time of Debt paper is a famous example (even if the bug itself is only a small part of the counter-argument) East Anglia Climategate Luis Pedro Coelho (luis@luispedro.org) (EMBL) Unit testing June 11, 2014 (3 / 23)
4 Why do things go wrong?.1 Your code is correct, but input files are wrong/missing/, the network goes down.2 Your code is buggy. Luis Pedro Coelho (EMBL) Unit testing June 11, 2014 (4 / 23)
5 Never fail silently! The worst thing is to fail silently. Fail loudly and clearly (This is partially why Unix tradition is to produce no output when things go well) Luis Pedro Coelho (EMBL) Unit testing June 11, 2014 (5 / 23)
6 Defensive Programming Defensive programming means writing code that will catch bugs early. Luis Pedro Coelho (EMBL) Unit testing June 11, 2014 (6 / 23)
7 Assertions def stddev ( v a l u e s ) : S = stddev ( v a l u e s ) Compute standard d e v i a t i o n a s s e r t l e n ( v a l u e s ) > 0, stddev : got empty l i s t.... Luis Pedro Coelho (luis@luispedro.org) (EMBL) Unit testing June 11, 2014 (7 / 23)
8 Assertions def stddev ( v a l u e s ) : S = stddev ( v a l u e s ) Compute standard d e v i a t i o n i f l e n ( v a l u e s ) <= 0 : r a i s e A s s e r t i o n E r r o r ( stddev : got empty l i s t. )... Luis Pedro Coelho (luis@luispedro.org) (EMBL) Unit testing June 11, 2014 (8 / 23)
9 Preconditions In computer programming, a precondition is a condition or predicate that must always be true just prior to the execution of some section of code. (Wikipedia) Luis Pedro Coelho (luis@luispedro.org) (EMBL) Unit testing June 11, 2014 (9 / 23)
10 Preconditions Other Languages C/C++ #include <assert.h> Java assert pre-condition Matlab assert () (in newer versions) Luis Pedro Coelho (EMBL) Unit testing June 11, 2014 (10 / 23)
11 Assertions Are Not Error Handling! Error handling protects against outside events; assertions protect against programmer mistakes. Assertions should never be false. Luis Pedro Coelho (EMBL) Unit testing June 11, 2014 (11 / 23)
12 Programming by Contract.1 pre-conditions..2 post-conditions..3 invariants. Luis Pedro Coelho (EMBL) Unit testing June 11, 2014 (12 / 23)
13 Pre-condition What must be true before calling a function. Post-condition What is true after calling a function. Luis Pedro Coelho (luis@luispedro.org) (EMBL) Unit testing June 11, 2014 (13 / 23)
14 Testing Do you test your code? Luis Pedro Coelho (EMBL) Unit testing June 11, 2014 (14 / 23)
15 Unit Testing def test_stddev_const ( ) : a s s e r t stddev ( [ 1 ] * 100 ) < 1e - 3 def t e s t _ s t d d e v _ p o s i t i v e ( ) : a s s e r t stddev ( range ( 20 ) ) > 0. Luis Pedro Coelho (luis@luispedro.org) (EMBL) Unit testing June 11, 2014 (15 / 23)
16 Nosetest Nose software testing framework: Tests are named test_something. Conditions are asserted. Luis Pedro Coelho (EMBL) Unit testing June 11, 2014 (16 / 23)
17 Software Testing Philosophies.1 Test everything. Test it twice..2 Write tests first..3 Regression testing. Luis Pedro Coelho (EMBL) Unit testing June 11, 2014 (17 / 23)
18 Regression Testing Make sure bugs only appear once! Luis Pedro Coelho (EMBL) Unit testing June 11, 2014 (18 / 23)
19 Practical Session: some preliminaries statistics.py def stddev ( xs ) :... test_statistics.py def test_stddev_const ( ) : a s s e r t stddev ( [ 1 ] * 100 ) < 1e - 3 def t e s t _ s t d d e v _ p o s i t i v e ( ) : a s s e r t stddev ( range ( 20 ) ) > 0. Luis Pedro Coelho (luis@luispedro.org) (EMBL) Unit testing June 11, 2014 (19 / 23)
20 Practical Session: some preliminaries statistics.py def stddev ( xs ) :... test_statistics.py import s t a t i s t i c s def test_stddev_const ( ) : a s s e r t s t a t i s t i c s. stddev ( [ 1 ] *100 ) < 1e - 3 def t e s t _ s t d d e v _ p o s i t i v e ( ) : a s s e r t s t a t i s t i c s. stddev ( range ( 20 ) ) > 0. Luis Pedro Coelho (luis@luispedro.org) (EMBL) Unit testing June 11, 2014 (20 / 23)
21 Practical: Python III & Unit testing.1 You can either start from scratch or check the files I give you (or any combination of both)..2 Goal is to write code to do a simple task & test it. Luis Pedro Coelho (luis@luispedro.org) (EMBL) Unit testing June 11, 2014 (21 / 23)
22 Types of tests Smoke test: just check it runs Corner/edge cases: check complex cases. Case testing: test a known case Regression testing: create a test when you find a bug. Integration test: test that different parts work together. Luis Pedro Coelho (luis@luispedro.org) (EMBL) Unit testing June 11, 2014 (22 / 23)
23 Goals.1 Download files from There is a data file (data.txt).3 See the code in main.py, which loads it..4 Write a function average in a file called robust.py, which computes the average of a sequence of numbers, whilst ignoring the maximum and minimum..5 Write tests for robust.average..6 (If you have the time, you can look at plots.py) Luis Pedro Coelho (luis@luispedro.org) (EMBL) Unit testing June 11, 2014 (23 / 23)
CS 1133, LAB 2: FUNCTIONS AND TESTING http://www.cs.cornell.edu/courses/cs1133/2015fa/labs/lab02.pdf
CS 1133, LAB 2: FUNCTIONS AND TESTING http://www.cs.cornell.edu/courses/cs1133/2015fa/labs/lab02.pdf First Name: Last Name: NetID: The purpose of this lab is to help you to better understand functions:
More informationHow To Understand The Details Of A Function In Python 2.5.2 (For Beginners)
Python Programming: An Introduction to Computer Science Chapter 6 Defining Functions Python Programming, 2/e 1 Objectives To understand why programmers divide programs up into sets of cooperating functions.
More informationA Laboratory Information. Management System for the Molecular Biology Lab
A Laboratory Information L I M S Management System for the Molecular Biology Lab This Document Overview Why LIMS? LIMS overview Why LIMS? Current uses LIMS software Design differences LIMS software LIMS
More informationResearch Data Management CODING
CODING Coding When writing software or analytical code it is important that others and your future self can understand what the code is doing. published 10 steps that they regard as the Best Practices
More informationSoftware security specification and verification
Software security specification and verification Erik Poll Security of Systems (SoS) group Radboud University Nijmegen Software (in)security specification and verification/detection Erik Poll Security
More informationLoop Invariants and Binary Search
Loop Invariants and Binary Search Chapter 4.3.3 and 9.3.1-1 - Outline Ø Iterative Algorithms, Assertions and Proofs of Correctness Ø Binary Search: A Case Study - 2 - Outline Ø Iterative Algorithms, Assertions
More informationNational University of Ireland, Maynooth MAYNOOTH, CO. KILDARE, IRELAND. Testing Guidelines for Student Projects
National University of Ireland, Maynooth MAYNOOTH, CO. KILDARE, IRELAND. DEPARTMENT OF COMPUTER SCIENCE, TECHNICAL REPORT SERIES Testing Guidelines for Student Projects Stephen Brown and Rosemary Monahan
More informationTesting Introduction. IEEE Definitions
Testing Introduction IEEE Definitions Software testing is the process of analyzing a software item to detect the differences between existing and required conditions (that is, bugs) and to evaluate the
More informationPHP Debugging. Draft: March 19, 2013 2013 Christopher Vickery
PHP Debugging Draft: March 19, 2013 2013 Christopher Vickery Introduction Debugging is the art of locating errors in your code. There are three types of errors to deal with: 1. Syntax errors: When code
More informationLogistics. Software Testing. Logistics. Logistics. Plan for this week. Before we begin. Project. Final exam. Questions?
Logistics Project Part 3 (block) due Sunday, Oct 30 Feedback by Monday Logistics Project Part 4 (clock variant) due Sunday, Nov 13 th Individual submission Recommended: Submit by Nov 6 th Scoring Functionality
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 informationCSE 373: Data Structure & Algorithms Lecture 25: Programming Languages. Nicki Dell Spring 2014
CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages Nicki Dell Spring 2014 What is a Programming Language? A set of symbols and associated tools that translate (if necessary) collections
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 informationSoftware Development Phases
Software Development Phases Specification of the task Design of a solution Implementation of solution Analysis of solution Testing and debugging Maintenance and evolution of the system Obsolescence Specification
More informationScanner. It takes input and splits it into a sequence of tokens. A token is a group of characters which form some unit.
Scanner The Scanner class is intended to be used for input. It takes input and splits it into a sequence of tokens. A token is a group of characters which form some unit. For example, suppose the input
More informationPL/SQL Practicum #2: Assertions, Exceptions and Module Stability
PL/SQL Practicum #2: Assertions, Exceptions and Module Stability John Beresniewicz Technology Manager Precise Software Solutions Agenda Design by Contract Assertions Exceptions Modular Code DESIGN BY CONTRACT
More informationCME 193: Introduction to Scientific Python Lecture 8: Unit testing, more modules, wrap up
CME 193: Introduction to Scientific Python Lecture 8: Unit testing, more modules, wrap up Sven Schmit stanford.edu/~schmit/cme193 8: Unit testing, more modules, wrap up 8-1 Contents Unit testing More modules
More informationmate of your wit Case Study www.witmate.com 1
Logic Engine case study Expense Application System (contact@witmate.com) Abstract This article explains the approaches and advantages of Logic Engine based system design and implementation with the case
More informationSoftware Engineering Techniques
Software Engineering Techniques Low level design issues for programming-in-the-large. Software Quality Design by contract Pre- and post conditions Class invariants Ten do Ten do nots Another type of summary
More informationCommittee on WIPO Standards (CWS)
E CWS/1/5 ORIGINAL: ENGLISH DATE: OCTOBER 13, 2010 Committee on WIPO Standards (CWS) First Session Geneva, October 25 to 29, 2010 PROPOSAL FOR THE PREPARATION OF A NEW WIPO STANDARD ON THE PRESENTATION
More informationHow to Outsource Without Being a Ninnyhammer
How to Outsource Without Being a Ninnyhammer 5 mistakes people make when outsourcing for profit By Jason Fladlien 2 Introduction The way everyone does outsourcing is patently wrong, and this report is
More informationData Intensive Computing Handout 5 Hadoop
Data Intensive Computing Handout 5 Hadoop Hadoop 1.2.1 is installed in /HADOOP directory. The JobTracker web interface is available at http://dlrc:50030, the NameNode web interface is available at http://dlrc:50070.
More informationSoftware Construction
Software Construction Debugging and Exceptions Jürg Luthiger University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Learning Target You know the proper usage
More informationX05. An Overview of Source Code Scanning Tools. Loulwa Salem. Las Vegas, NV. IBM Corporation 2006. IBM System p, AIX 5L & Linux Technical University
X05 An Overview of Source Code Scanning Tools Loulwa Salem Las Vegas, NV Objectives This session will introduce better coding practices and tools available to aid developers in producing more secure code.
More information4. Test Design Techniques
4. Test Design Techniques Hans Schaefer hans.schaefer@ieee.org http://www.softwaretesting.no/ 2006-2010 Hans Schaefer Slide 1 Contents 1. How to find test conditions and design test cases 2. Overview of
More informationUsing Files as Input/Output in Java 5.0 Applications
Using Files as Input/Output in Java 5.0 Applications The goal of this module is to present enough information about files to allow you to write applications in Java that fetch their input from a file instead
More informationEvaluation of AgitarOne
Carnegie Mellon University, School of Computer Science Master of Software Engineering Evaluation of AgitarOne Analysis of Software Artifacts Final Project Report April 24, 2007 Edited for public release
More informationFast string matching
Fast string matching This exposition is based on earlier versions of this lecture and the following sources, which are all recommended reading: Shift-And/Shift-Or 1. Flexible Pattern Matching in Strings,
More informationData Intensive Computing Handout 6 Hadoop
Data Intensive Computing Handout 6 Hadoop Hadoop 1.2.1 is installed in /HADOOP directory. The JobTracker web interface is available at http://dlrc:50030, the NameNode web interface is available at http://dlrc:50070.
More informationOutline. Computer Science 331. Stack ADT. Definition of a Stack ADT. Stacks. Parenthesis Matching. Mike Jacobson
Outline Computer Science 1 Stacks Mike Jacobson Department of Computer Science University of Calgary Lecture #12 1 2 Applications Array-Based Linked List-Based 4 Additional Information Mike Jacobson (University
More informationLessons Learned in Software Testing
Lessons Learned in Software Testing An excellent book covering a range of testing topics Practical rather than academic In the next few lectures, we ll discuss some of the key lessons from this book, and
More informationFirst Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science
First Java Programs V. Paúl Pauca Department of Computer Science Wake Forest University CSC 111D Fall, 2015 Hello World revisited / 8/23/15 The f i r s t o b l i g a t o r y Java program @author Paul Pauca
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 informationFCCS Tutorial INSTRUCTOR S GUIDE
FCCS Tutorial INSTRUCTOR S GUIDE To download and/or view the Fuel Characteristic Classification System (FCCS) tutorial, please visit the tutorial webpage at: http://www.fs.fed.us/pnw/fera/products/software_tutorials.html
More informationEclipse Help
Software configuration management We ll start with the nitty gritty and then get more abstract. Configuration and build Perdita Stevens School of Informatics University of Edinburgh 1. Version control
More informationIntroduction to Programming System Design. CSCI 455x (4 Units)
Introduction to Programming System Design CSCI 455x (4 Units) Description This course covers programming in Java and C++. Topics include review of basic programming concepts such as control structures,
More informationRuby in the context of scientific computing
Ruby in the context of scientific computing 16 January 2014 1/24 Overview Introduction Characteristics and Features Closures Ruby and Scientific Computing SciRuby Bioruby Conclusion References 2/24 Introduction
More information02-201: Programming for Scientists
1. Course Information 1.1 Course description 02-201: Programming for Scientists Carl Kingsford Fall 2015 Provides a practical introduction to programming for students with little or no prior programming
More informationThe first program: Little Crab
CHAPTER 2 The first program: Little Crab topics: concepts: writing code: movement, turning, reacting to the screen edges source code, method call, parameter, sequence, if-statement In the previous chapter,
More informationOn the Brittleness of Software and the Infeasibility of Security Metrics
On the Brittleness of Software and the Infeasibility of Security Metrics Steven M. Bellovin http://www.cs.columbia.edu/~smb Columbia University August 1, 2006 1 / 9 If you can not measure it, you can not
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 informationA Short Course in Logic Zeno s Paradox
1 Grappling with Good Arguments A Short Course in Logic Zeno s Paradox We ve seen that if we decide that an argument is good then we should be inclined to believe that the ultimate conclusion is true.
More information2 Introduction to Nintex Workflow
2 Introduction to Nintex Workflow What is Nintex Workflow? Nintex Workflow is a product created by Nintex, their started in Australia and are now based in the USA. They have also locations in England,
More informationBLOCK OCCUPANCY DETECTOR WITH SEMAPHORE OPERATION BOD1/DAP4-BR
BLOCK OCCUPANCY DETECTOR WITH SEMAPHORE OPERATION BOD1/DAP4-BR This Block Occupancy Detector recognises the current drawn by moving trains within a block, and can operate a number of built-in programs
More informationCIS 192: Lecture 13 Scientific Computing and Unit Testing
CIS 192: Lecture 13 Scientific Computing and Unit Testing Lili Dworkin University of Pennsylvania Scientific Computing I Python is really popular in the scientific and statistical computing world I Why?
More informationSystem Level Integration and Test Leveraging Software Unit Testing Techniques
System Level Integration and Test Leveraging Software Unit Testing Techniques Ryan J. Melton Ball Aerospace & Technologies Corp. Boulder, CO ABSTRACT Ever try to decipher or debug a huge automated test
More information2 The first program: Little Crab
2 The first program: Little Crab topics: concepts: writing code: movement, turning, reacting to the screen edges source code, method call, parameter, sequence, if statement In the previous chapter, we
More informationDhany Saputra. Summary. Experience. Doctoral Candidate in Bioinformatics dhany.saputra@gmail.com
Dhany Saputra Doctoral Candidate in Bioinformatics dhany.saputra@gmail.com Summary I'm writing a PhD thesis at the Center for Biological Sequence Analysis, Technical University of Denmark. I have experiences
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 informationFully Automated Static Analysis of Fedora Packages
Fully Automated Static Analysis of Fedora Packages Red Hat Kamil Dudka August 9th, 2014 Abstract There are static analysis tools (such as Clang or Cppcheck) that are able to find bugs in Fedora packages
More informationDATEX II User Support
DATEX II User Support Interactive Session Results www.easyway-its.eu Group 1 What is the best support system you ever experienced? Direct contact with responsable person, (not clear if there is a particulary
More informationPython Programming: An Introduction to Computer Science
Python Programming: An Introduction to Computer Science Chapter 7 Decision Structures Python Programming, 1/e 1 Objectives To understand the programming pattern simple decision and its implementation using
More informationNumerical Analysis. Professor Donna Calhoun. Fall 2013 Math 465/565. Office : MG241A Office Hours : Wednesday 10:00-12:00 and 1:00-3:00
Numerical Analysis Professor Donna Calhoun Office : MG241A Office Hours : Wednesday 10:00-12:00 and 1:00-3:00 Fall 2013 Math 465/565 http://math.boisestate.edu/~calhoun/teaching/math565_fall2013 What is
More informationAutomatic promotion and versioning with Oracle Data Integrator 12c
Automatic promotion and versioning with Oracle Data Integrator 12c Jérôme FRANÇOISSE Rittman Mead United Kingdom Keywords: Oracle Data Integrator, ODI, Lifecycle, export, import, smart export, smart import,
More informationApplied Software Project Management
Applied Software Project Management Introduction http://www.stellman-greene.com 1 Why do software projects fail? People begin programming before they understand the problem Everyone likes to feel that
More informationFrom Raw Data to. Actionable Insights with. MATLAB Analytics. Learn more. Develop predictive models. 1Access and explore data
100 001 010 111 From Raw Data to 10011100 Actionable Insights with 00100111 MATLAB Analytics 01011100 11100001 1 Access and Explore Data For scientists the problem is not a lack of available but a deluge.
More informationExtreme Programming and Embedded Software Development
Extreme Programming and Embedded Software Development By James Grenning Every time I do a project, it seems we don t get the hardware until late in the project. This limits the progress the team can make.
More informationCHAPTER 01 THE SCOPE OF SOFTWARE ENGINEERING
Lecture Software Engineering CHAPTER 01 THE SCOPE OF SOFTWARE ENGINEERING Lecture Software Engineering Topics Introduction Historical Aspects Economic Aspects Requirements, Analysis, and Design Aspects
More informationRepoGuard Validation Framework for Version Control Systems
RepoGuard Validation Framework for Version Control Systems Remidi09 (2009-07-13, Limerick) Malte Legenhausen, Stefan Pielicke German Aerospace Center (DLR), Cologne http://www.dlr.de/sc Slide 1 Remidi09
More informationSorting. Lists have a sort method Strings are sorted alphabetically, except... Uppercase is sorted before lowercase (yes, strange)
Sorting and Modules Sorting Lists have a sort method Strings are sorted alphabetically, except... L1 = ["this", "is", "a", "list", "of", "words"] print L1 ['this', 'is', 'a', 'list', 'of', 'words'] L1.sort()
More informationLab 2.1 Tracking Down the Bugs
Lab 2.1 Tracking Down the Bugs Chapter 7 (To Err is Human ) discusses strategies for debugging finding and fixing problems with IT systems. In this lab, we focus on the early stages of debugging, where
More informationShould Business Move To The Cloud
MIS 220 Class Jiangpeng Li, Roy Prof. Wang Case Study 2 Should Business Move To The Cloud 1. What business benefits do cloud computing services provide? What problems do they solve? Cloud computing is
More informationHoare-Style Monitors for Java
Hoare-Style Monitors for Java Theodore S Norvell Electrical and Computer Engineering Memorial University February 17, 2006 1 Hoare-Style Monitors Coordinating the interactions of two or more threads can
More informationReport on the Examination
Version 1.0 0712 General Certificate of Education (A-level) June Computing COMP1 (Specification 2510) Unit 1: Problem Solving, Programming, Data Representation and Practical Exercise Report on the Examination
More information3 Extending the Refinement Calculus
Building BSP Programs Using the Refinement Calculus D.B. Skillicorn? Department of Computing and Information Science Queen s University, Kingston, Canada skill@qucis.queensu.ca Abstract. We extend the
More informationPython as a Tool for Squeezing More Learning into Mathematical Physics: Powerful, Versatile, and Free. Geoffrey Poore Assistant Professor of Physics
Python as a Tool for Squeezing More Learning into Mathematical Physics: Powerful, Versatile, and Free Geoffrey Poore Assistant Professor of Physics Python as a Tool for Squeezing More Learning into Mathematical
More informationAdapting C++ Exception Handling to an Extended COM Exception Model
Adapting C++ Exception Handling to an Extended COM Exception Model Bjørn Egil Hansen DNV AS, DT 990 Risk Management Software Palace House, 3 Cathedral Street, London SE1 9DE, UK Bjorn.Egil.Hansen@dnv.com
More informationShow me the tests! Writing Automated Tests for Drupal
DEV TRACK LEE ROWLANDS FEBRUARY 8 2013 Show me the tests! Writing Automated Tests for Drupal Me Lee Rowlands - @larowlan Senior Drupal Developer with PreviousNext Working with Drupal 4+ years Maintainer
More informationBuildBot. S.Cozzini/A.Messina/G.Giuliani. And Continuous Integration. RegCM4 experiences. Warning: Some slides/ideas. <willie@issdu.com.
BuildBot And Continuous Integration RegCM4 experiences S.Cozzini/A.Messina/G.Giuliani Warning: Some slides/ideas stolen by Willie Agenda How do we use BuildBot here? What is BuildBot?
More informationSecure Programming with Static Analysis. Jacob West jacob@fortify.com
Secure Programming with Static Analysis Jacob West jacob@fortify.com Software Systems that are Ubiquitous Connected Dependable Complexity U Unforeseen Consequences Software Security Today The line between
More informationModern Web Application Framework Python, SQL Alchemy, Jinja2 & Flask
Modern Web Application Framework Python, SQL Alchemy, Jinja2 & Flask Devert Alexandre December 29, 2012 Slide 1/62 Table of Contents 1 Model-View-Controller 2 Flask 3 First steps 4 Routing 5 Templates
More informationSoftware Configuration Management
Software Configuration Management 1 Software Configuration Management Four aspects Version control Automated build Change control Release Supported by tools Requires expertise and oversight More important
More informationI don t intend to cover Python installation, please visit the Python web site for details.
Python Related Information I don t intend to cover Python installation, please visit the Python web site for details. http://www.python.org/ Before you start to use the Python Interface plugin make sure
More informationCS1102: Adding Error Checking to Macros
CS1102: Adding Error Checking to Macros Kathi Fisler, WPI October 6, 2008 1 Typos in State Machines The point of creating macros for state machines is to hide language details from the programmer. Ideally,
More informationIntroduction to Python
1 Daniel Lucio March 2016 Creator of Python https://en.wikipedia.org/wiki/guido_van_rossum 2 Python Timeline Implementation Started v1.0 v1.6 v2.1 v2.3 v2.5 v3.0 v3.1 v3.2 v3.4 1980 1991 1997 2004 2010
More information1. A is a tax system which has higher tax rates on people with lower incomes.
Homework 15 1. A is a tax system which has higher tax rates on people with lower incomes. A. regressive tax B. progressive tax C. flat tax D. a value added tax 2. The is calculated by taking the total
More informationProject Management Tools
Project Management Tools Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar SAPM Spring 2006: Tools 1 Automating Drudgery Most of the techniques in this course can benefit from
More informationGenerate Android App
Generate Android App This paper describes how someone with no programming experience can generate an Android application in minutes without writing any code. The application, also called an APK file can
More informationRobustness Testing of the Microsoft Win32 API http://ballista.org
Robustness Testing of the Microsoft Win32 API http://ballista.org Charles P. Shelton cshelton@cmu.edu Philip Koopman koopman@cmu.edu - (412) 268-5225 - http://www.ices.cmu.edu/koopman Kobey DeVale,QVWLWXWH
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 informationThe way to good code
Refactoring from handcraft to machines August 14, 2007 And not about silly star wars toys! Agenda 1 Introduction 2 Bad Code 3 Refactoring 4 Thanks and Questions Who we are Mirko Stocker Leo Büttiker Studied
More informationHow To Write A Test Engine For A Microsoft Microsoft Web Browser (Php) For A Web Browser For A Non-Procedural Reason)
Praspel: A Specification Language for Contract-Driven Testing in PHP Ivan Enderlin Frédéric Dadeau Alain Giorgetti Abdallah Ben Othman October 27th, 2011 Meetings: LTP MTVV Ivan Enderlin, Frédéric Dadeau,
More informationChapter 8 Software Testing
Chapter 8 Software Testing Summary 1 Topics covered Development testing Test-driven development Release testing User testing 2 Program testing Testing is intended to show that a program does what it is
More informationIntroduction to Scientific Computing
Introduction to Scientific Computing what you need to learn now to decide what you need to learn next Bob Dowling University Computing Service rjd4@cam.ac.uk 1. Why this course exists 2. Common concepts
More informationCS 106 Introduction to Computer Science I
CS 106 Introduction to Computer Science I 01 / 21 / 2014 Instructor: Michael Eckmann Today s Topics Introduction Homework assignment Review the syllabus Review the policies on academic dishonesty and improper
More informationKernel Types System Calls. Operating Systems. Autumn 2013 CS4023
Operating Systems Autumn 2013 Outline 1 2 Types of 2.4, SGG The OS Kernel The kernel is the central component of an OS It has complete control over everything that occurs in the system Kernel overview
More informationHow to Design and Create Your Own Custom Ext Rep
Combinatorial Block Designs 2009-04-15 Outline Project Intro External Representation Design Database System Deployment System Overview Conclusions 1. Since the project is a specific application in Combinatorial
More informationWriting in the Computer Science Major
Writing in the Computer Science Major Table of Contents Introduction... 2 Statement of Purpose... 2 Revision History... 2 Writing Tasks in Computer Science... 3 Documentation... 3 Planning to Program:
More informationRigorous Software Development CSCI-GA 3033-009
Rigorous Software Development CSCI-GA 3033-009 Instructor: Thomas Wies Spring 2013 Lecture 5 Disclaimer. These notes are derived from notes originally developed by Joseph Kiniry, Gary Leavens, Erik Poll,
More informationUsing Excel for Statistical Analysis
Using Excel for Statistical Analysis You don t have to have a fancy pants statistics package to do many statistical functions. Excel can perform several statistical tests and analyses. First, make sure
More informationTest Plan Airline Reservation System
Airline Reservation System Submitted in partial fulfillment of the requirements of the degree of Master of Software Engineering Kaavya Kuppa CIS 895 MSE Project Department of Computing and Information
More informationSurvey of Unit-Testing Frameworks. by John Szakmeister and Tim Woods
Survey of Unit-Testing Frameworks by John Szakmeister and Tim Woods Our Background Using Python for 7 years Unit-testing fanatics for 5 years Agenda Why unit test? Talk about 3 frameworks: unittest nose
More informationPart II. Managing Issues
Managing Issues Part II. Managing Issues If projects are the most important part of Redmine, then issues are the second most important. Projects are where you describe what to do, bring everyone together,
More informationSpecification and Analysis of Contracts Lecture 1 Introduction
Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider gerardo@ifi.uio.no http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.
More informationManaging XML Documents Versions and Upgrades with XSLT
Managing XML Documents Versions and Upgrades with XSLT Vadim Zaliva, lord@crocodile.org 2001 Abstract This paper describes mechanism for versioning and upgrding XML configuration files used in FWBuilder
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 informationChapter 14. Programming and Languages. McGraw-Hill/Irwin. Copyright 2008 by The McGraw-Hill Companies, Inc. All rights reserved.
Chapter 14 Programming and Languages McGraw-Hill/Irwin Copyright 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Competencies (Page 1 of 2) Describe the six steps of programming Discuss design
More informationWrestling with Python Unit testing. Warren Viant
Wrestling with Python Unit testing Warren Viant Assessment criteria OCR - 2015 Programming Techniques (12 marks) There is an attempt to solve all of the tasks using most of the techniques listed. The techniques
More information<Insert Picture Here> What's New in NetBeans IDE 7.2
Slide 1 What's New in NetBeans IDE 7.2 The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated
More information