Announcement. SOFT1902 Software Development Tools. Today s Lecture. Version Control. Multiple iterations. What is Version Control
|
|
|
- Ronald Webb
- 10 years ago
- Views:
Transcription
1 SOFT1902 Software Development Tools Announcement SOFT1902 Quiz 1 in lecture NEXT WEEK School of Information Technologies 1 2 Today s Lecture Yes: we have evolved to the point of using tools Version Control Automatic Documentation Managing Testing Debugging IDEs Version Control If C gives you enough rope to hang yourself with, think of Subversion as a sort of rope storage facility Brian W. Fitzpatrick, one of the authors of Subversion; Multiple iterations What is Version Control Software emerges in many stages and iterations. This might be from agile development, discovery of bugs, extensions, and keeping up with changing environments. Version control is one of the key tools of group software development: it enables developers to keep track of releases, share code among themselves, and archive code and any other text files (e.g. documentation, LaTeX...) It is very very useful
2 Flavours of version control Models of version control Microsfot Word track changes Keeping multiple copies CVS (Concurrent Version System) Subversion (not an acronym). Visual SourceSafe...and others lock-modify-unlock copy-modify-merge 7 8 File system File sharing In a simple file system where anyone reads and writes it is not possible to keep track of versions, despite the best of intentions. A situation to avoid! With this model, developers can undo each other s work Lock-Modify-Unlock Copy-Modify-Merge 1 Developers lock files, make changes, then commit them. This can be slow, unnecessary (if both developers are working on different parts of the file) and misleading: dependencies can be violated (if one person uses a file someone else is changing). Two developers check out the same file & make changes. Once one commits the changes, the other is out of date
3 Copy-Modify-Merge 2 Consistency through VC The versions are compared and merged by a developer; Then it is published for all. Some installations of version control can force coding styles JStyle is an automated tool for following conventions such as (but costs money) unit testing but you shouldn t need these. Should you? CVS or SVN? Further benefits CVS = Concurrent Version System SVN = Subversion Both have advantages but SVN is preferred (by me): plain text archives (as of version 1.2) can move folders/directories slightly nicer more esoteric features like branching (not detailed here). Version Control also enables roll-backs to earlier versions when something really goes wrong! You can use it for your text files too! handy places to look CVS: homepage manual Automatic Documentation SVN: Javadoc and Doxygen homepage book
4 When you remember about documentation What to automatically document Automatic documentation is very useful for saving time. You put comments in your code; you should use them. /** Javadoc comments look like this. (And so do Doxygen comments.) */ /// one-liner comments can be handy Not everything! But anything that is needed by a client (programmer) who is calling the public methods in your explain the meaning of arguments and return conditions are essential pieces of knowledge, not just for collaborative projects Commenting practise Commenting practise Comments should clarify and explain. Scalability needs to be calculated for method calls: it's easier when they're all documented. It is not true that good code should need no comments! It is not true that everything should be commented. int putpowers(double x, int n, double[] result) /** Put positive powers of the input number n into x is positive or zero, n is positive, result is of length result[i] contains x^(i+1), for i = 0..(n-1). */ { double current = x; // assign current to value x for (int i = 0; i < n; i++) { result[i] = current; current = current * x; // now current = x^(i+1) Automatic documentation example: Powers.java Using Javadoc import java.util.*; public class Powers { public Powers() { int putpowers(double x, int n, double[] result) /** Put positive powers of the input number n into x is positive or zero, n is positive, result is of length result[i] contains x^(i+1), for i = 0..(n-1). */ { double current = x; // assign current to value x for (int i = 0; i < n; i++) { result[i] = current; current = current * x; // now current = x^(i+1) 23 ~> emacs Powers.java ~> javadoc Powers.java Loading source file Powers.java... Constructing Javadoc information... Standard Doclet version 1.5.0_06 Building tree for all the packages and classes... Generating Powers.html... Generating package-frame.html... Generating package-summary.html... Generating package-tree.html... Generating constant-values.html... Building index for all the packages and classes... Generating overview-tree.html... Generating index-all.html... Generating deprecated-list.html... Building index for all classes... Generating allclasses-frame.html... Generating allclasses-noframe.html... Generating index.html... Generating help-doc.html... Generating stylesheet.css... ~> 24 4
5 hierarchy graphs Javadoc creates html pages describing your whole program, with all inheritance, methods, variables, and comments... This is a file hierarchy for some C++ code hierarchy graphs This is a class hierarchy for some C++ code Doxygen also handles pre- and post- conditions LaTeX Managing Testing because you can't prove the nonexistence of bugs Doxygen can produce LaTeX and rtf documents too
6 Contents Terminology Terminology: Black box, White box (e.g., unit testing), Test coverage Unit testing Assertion (v useful) Testing harness Test cases should be easy to re-use (Advanced Topic 10.1 in Big Java (2nd ed)) Numeric class example (pg 374) Oracles The test suite Regression testing Testing Tools: JUnit (free from built in to BlueJ and Eclipse) Black box testing: don't look inside the code akin to beta-release White box: look inside and use program structure includes Unit Testing (if you actually look inside!) Test coverage: the proportion of a program's code that has been tested Unit Testing Verifying the output A unit test is test of a single method or closely related group of methods. Unit tests typically have a wrapper called a "harness". When you write a method you may as well write your unit test at the same time. JUnit can help you here by providing a simple and convenient interface to your testing methods. How to test your method is working? Suppose you are solving an equation (for x): then just substitute the value of x into that equation and see if it's true: testing mysqrt(2.0), equation is x 2 = 2. x = = mysqrt fails the test Oracles Rounding error An alternative is to find an oracle: another method that works, which is more reliable (though may be slower). E.g., compare mysqrt(2.0) with Java built-in pow(2.0, 0.5) (= ). Oracles are not always easy to find! Rounding error can suggest spurious bugs: don't be too hasty claiming things are not equal! You can use approximation where appropriate. BigJava provides a Numeric class you may find useful
7 Numeric class Testing suite and regression public class Numeric { /** From Big Java pg 374 */ public static boolean approxequal(double x, double y) { final double EPSILON=1E-12; return Math.abs(x-y) <= EPSILON; Never throw anything away. When you create a (unit) test, keep it! Often when you fix something else, an old bug may creep back... You can accumulate a suite of tests. Re-running previous tests after changes is called regression testing Make it easy on yourself JUnit Tests need to be easily repeatable. Manual testing of many cases is slow and difficult to repeat. You can hard-code test cases in your testing classes, or read a set of test cases from an input file: java MyProgram < testdata.txt JUnit is free from and is built in to BlueJ and Eclipse. For each class you build, you also build a tester that extends TestCase from the junit.framework package. For each test case define a method beginning with test, like testsimpleinput JUnit example JUnit output import junit.framework.testcase; JUnit runs all the tests and returns a summary. public class RootApproximatorTest extends TestCase { public void testsimplecase() { double x = 4; RootApproximator a = new RootApproximator(x); double r = a.getroot(); asserttrue(numeric.approxequal(r, 2)); public testboundarycase() { // more testing here... // more test cases... source:
8 Contents Debugging you and your Mortein General advice: consider boundary (also called 'corner') cases Trace through problem areas Output messages Log messages: use Logger class Use a debugger! Eclipse, JSwat Basic tools Breakpoints, steps, inspection Flashy tricks: Conditional breaks Change variables on the fly Change code on the fly General Advice Tracing It is much easier to prove bugs exist than that they don't! It is in general not possible to write bug-free code (first time). One of commonest techniques you will use is tracing through your code. (Yes, there's a reason we teach you to trace code!) You can often find errors quickly this way but you need to pay close attention! Step through your code slowly and make sure every part is correct Judicious use of println Logger Another simple debugging method is printing out interim results and data. Put println("...") statements where you suspect there to be errors. Disadvantages: you have to take out the printlns later it slows down the program and can flood you with unnecessary verbiage. You can keep a log file with Logger.global.info("message");...which prints by default. Alternatively set Logger.global.setLevel(Level.OFF); at the beginning of main(). Don't forget to turn off logging prior to release!
9 assert assert Java provides an assert keyword: int putpowers(double x, int n, double[] result) /** Put positive powers of the input number n into x is positive or zero, n is positive, result is of length result[i] contains x^(i+1), for i = 0..(n-1). */ { assert x >= 0; // we expect x to be non-negative assert n >= 0; // n must not be negative either. double current = x; // assign current to value x for (int i = 0; i < n; i++) { result[i] = current; current = current * x; // now current = x^(i+1) The assert keyword will cause a runtime error if the following statement is false. assert is enabled with java -enableassertions MyProg java -ea MyProg otherwise the default is not to check assertions Debuggers Standard debugging features For bigger projects it's good to use a dedicated debugger. Some IDEs have debuggers built-in; there are other debugger-only applications. Debuggers give a broad view of your code and enable to you stop wherever you want. breakpoint: a position in code where execution will halt. You can continue on after inspecting the state of variables; step into: go into methods (the smallest step possible); step over: go to the next line, over method calls; step out: go back up the program stack (via the completion of the current method) Flashy debugging tricks conditional breakpoints: set a condition such that if the condition is met, execution pauses. watch points: watch a location in memory (such as for a particular variable) and stop if it changes. SLOW! change variables: change the value of a variable (dangerous!) Building Big Projects when vi(m) and emacs aren't enough
10 ant ant build file ant is the make of Java. This sentence makes sense. ant is a tool for the creation of big projects: create an XML description of the project with all dependencies <project name="myproject" default="dist" basedir="."> <description> simple example build file </description> <property name="src" location="src"/> <!-- set global properties for this build --> <property name="build" location="build"/> <property name="dist" location="dist"/> <target name="init"> <tstamp/> <!-- Create the time stamp --> <mkdir dir="${build"/> <!-- Create the build directory structure used by compile --> </target> <target name="compile" depends="init" description="compile the source " > <javac srcdir="${src" destdir="${build"/> <!-- Compile the java code from ${src into ${build --> </target> <target name="dist" depends="compile description="generate the distribution" > <mkdir dir="${dist/lib"/> <!-- Create the distribution directory --> <jar jarfile="${dist/lib/myproject-${dstamp.jar" basedir="${build"/> <!-- Put everything in ${build into the MyProject-${DSTAMP.jar file --> </target> <target name="clean description="clean up" > <delete dir="${build"/> <!-- Delete the ${build and ${dist directory trees --> <delete dir="${dist"/> </target> </project> define dependencies among logical components (compile depends on init); define targets to compile larger components (including the complete project) using ant BlueJ Once your build file is correct with all dependencies, type ant <target> e.g. ant clean ant compile...and sit back. Available from: Platforms: Windows, Mac OS X,.jar Features: free, simple to use, can and run bare methods BlueJ summary BlueJ was conceived at U. Syd, developed at Monash, and is now maintained from Kent and Deakin Universities. It is specifically for teaching Object Oriented Programming with Java to novices. It s not as sophisticated as Eclipse but is easy to use
11 Eclipse Eclipse is a powerful open-source development environment. Available from (current version 3.2) Platforms: just about everything Features very nice for Java! quite nice for C/C++ uses external compilers built-in debugger Javadoc refactoring plug-ins for Subversion, other languages Good for multiple large projects Summary Version Control Essential for collaborative projects; SVN is good, use it! Automatic Documentation Good for APIs Managing Testing Test, test, test.. Unit Testing (as in JUnit) Debugging takes up lots of time Big Projects: ant, BlueJ, Eclipse And for next week... Monday: GUIs Thursday: SOFT1902 Quiz! Yay! on all that stuff up to last week 65 11
CS 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
Automatic 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,
Test Driven Development
Test Driven Development Introduction Test Driven development (TDD) is a fairly recent (post 2000) design approach that originated from the Extreme Programming / Agile Methodologies design communities.
Unit Testing & JUnit
Unit Testing & JUnit Lecture Outline Communicating your Classes Introduction to JUnit4 Selecting test cases UML Class Diagrams Rectangle height : int width : int resize(double,double) getarea(): int getperimeter():int
A Practical Guide to Test Case Types in Java
Software Tests with Faktor-IPS Gunnar Tacke, Jan Ortmann (Dokumentversion 203) Overview In each software development project, software testing entails considerable expenses. Running regression tests manually
Unit 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
Designing 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
Coding in Industry. David Berry Director of Engineering Qualcomm Cambridge Ltd
Coding in Industry David Berry Director of Engineering Qualcomm Cambridge Ltd Agenda Potted history Basic Tools of the Trade Test Driven Development Code Quality Performance Open Source 2 Potted History
Content. Development Tools 2(63)
Development Tools Content Project management and build, Maven Version control, Git Code coverage, JaCoCo Profiling, NetBeans Static Analyzer, NetBeans Continuous integration, Hudson Development Tools 2(63)
Table 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
Approach of Unit testing with the help of JUnit
Approach of Unit testing with the help of JUnit Satish Mishra [email protected] About me! Satish Mishra! Master of Electronics Science from India! Worked as Software Engineer,Project Manager,Quality
Java CPD (I) Frans Coenen Department of Computer Science
Java CPD (I) Frans Coenen Department of Computer Science Content Session 1, 12:45-14:30 (First Java Programme, Inheritance, Arithmetic) Session 2, 14:45-16:45 (Input and Programme Constructs) Materials
JavaScript Testing. Beginner's Guide. Liang Yuxian Eugene. Test and debug JavaScript the easy way PUBLISHING MUMBAI BIRMINGHAM. k I I.
JavaScript Testing Beginner's Guide Test and debug JavaScript the easy way Liang Yuxian Eugene [ rwtmm k I I PUBLISHING I BIRMINGHAM MUMBAI loading loading runtime Preface 1 Chapter 1: What is JavaScript
Tutorial 5: Developing Java applications
Tutorial 5: Developing Java applications p. 1 Tutorial 5: Developing Java applications Georgios Gousios [email protected] Department of Management Science and Technology Athens University of Economics and
Outline. 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
Effective unit testing with JUnit
Effective unit testing with JUnit written by Eric M. Burke [email protected] Copyright 2000, Eric M. Burke and All rights reserved last revised 12 Oct 2000 extreme Testing 1 What is extreme Programming
Extreme 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.
Monitoring, Tracing, Debugging (Under Construction)
Monitoring, Tracing, Debugging (Under Construction) I was already tempted to drop this topic from my lecture on operating systems when I found Stephan Siemen's article "Top Speed" in Linux World 10/2003.
Version control. HEAD is the name of the latest revision in the repository. It can be used in subversion rather than the latest revision number.
Version control Version control is a powerful tool for many kinds of work done over a period of time, including writing papers and theses as well as writing code. This session gives a introduction to a
1.00 Lecture 1. Course information Course staff (TA, instructor names on syllabus/faq): 2 instructors, 4 TAs, 2 Lab TAs, graders
1.00 Lecture 1 Course Overview Introduction to Java Reading for next time: Big Java: 1.1-1.7 Course information Course staff (TA, instructor names on syllabus/faq): 2 instructors, 4 TAs, 2 Lab TAs, graders
Chapter 3. Input and output. 3.1 The System class
Chapter 3 Input and output The programs we ve looked at so far just display messages, which doesn t involve a lot of real computation. This chapter will show you how to read input from the keyboard, use
Modern Software Development Tools on OpenVMS
Modern Software Development Tools on OpenVMS Meg Watson Principal Software Engineer 2006 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Topics
Software 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
First 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
Introduction 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,
Fail early, fail often, succeed sooner!
Fail early, fail often, succeed sooner! Contents Beyond testing Testing levels Testing techniques TDD = fail early Automate testing = fail often Tools for testing Acceptance tests Quality Erja Nikunen
CSE 403. Performance Profiling Marty Stepp
CSE 403 Performance Profiling Marty Stepp 1 How can we optimize it? public static String makestring() { String str = ""; for (int n = 0; n < REPS; n++) { str += "more"; } return str; } 2 How can we optimize
Testing, Debugging, and Verification
Testing, Debugging, and Verification Testing, Part II Moa Johansson 10 November 2014 TDV: Testing /GU 141110 1 / 42 Admin Make sure you are registered for the course. Otherwise your marks cannot be recorded.
Jenkins Continuous Build System. Jesse Bowes CSCI-5828 Spring 2012
Jenkins Continuous Build System Jesse Bowes CSCI-5828 Spring 2012 Executive summary Continuous integration systems are a vital part of any Agile team because they help enforce the ideals of Agile development
Test-Driven Development
Test-Driven Development An Introduction Mattias Ståhlberg [email protected] Debugging sucks. Testing rocks. Contents 1. What is unit testing? 2. What is test-driven development? 3. Example 4.
Java course - IAG0040. Unit testing & Agile Software Development
Java course - IAG0040 Unit testing & Agile Software Development 2011 Unit tests How to be confident that your code works? Why wait for somebody else to test your code? How to provide up-to-date examples
Software documentation systems
Software documentation systems Basic introduction to various user-oriented and developer-oriented software documentation systems. Ondrej Holotnak Ondrej Jombik Software documentation systems: Basic introduction
XP & Scrum. extreme Programming. XP Roles, cont!d. XP Roles. Functional Tests. project stays on course. about the stories
XP & Scrum Beatrice Åkerblom [email protected] extreme Programming XP Roles XP Roles, cont!d! Customer ~ Writes User Stories and specifies Functional Tests ~ Sets priorities, explains stories ~ May or
Continuous Integration and Bamboo. Ryan Cutter CSCI 5828 2012 Spring Semester
Continuous Integration and Bamboo Ryan Cutter CSCI 5828 2012 Spring Semester Agenda What is CI and how can it help me? Fundamentals of CI Fundamentals of Bamboo Configuration / Price Quick example Features
Source Control Systems
Source Control Systems SVN, Git, GitHub SoftUni Team Technical Trainers Software University http://softuni.bg Table of Contents 1. Software Configuration Management (SCM) 2. Version Control Systems: Philosophy
Software Development Tools
Software Development Tools COMP220/COMP285 Sebastian Coope More on Automated Testing and Continuous Integration These slides are mainly based on Java Tools for Extreme Programming R.Hightower & N.Lesiecki.
ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)
ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I) Who am I? Lo Chi Wing, Peter Lecture 1: Introduction to Android Development Email: [email protected] Facebook: http://www.facebook.com/peterlo111
Professional. SlickEdif. John Hurst IC..T...L. i 1 8 О 7» \ WILEY \ Wiley Publishing, Inc.
Professional SlickEdif John Hurst IC..T...L i 1 8 О 7» \ WILEY \! 2 0 0 7 " > Wiley Publishing, Inc. Acknowledgments Introduction xiii xxv Part I: Getting Started with SiickEdit Chapter 1: Introducing
Programming 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
Development Environment and Tools for Java. Brian Hughes IBM
Development Environment and Tools for Java Brian Hughes IBM 1 Acknowledgements and Disclaimers Availability. References in this presentation to IBM products, programs, or services do not imply that they
Hypercosm. Studio. www.hypercosm.com
Hypercosm Studio www.hypercosm.com Hypercosm Studio Guide 3 Revision: November 2005 Copyright 2005 Hypercosm LLC All rights reserved. Hypercosm, OMAR, Hypercosm 3D Player, and Hypercosm Studio are trademarks
tools that make every developer a quality expert
tools that make every developer a quality expert Google: www.google.com Copyright 2006-2010, Google,Inc.. All rights are reserved. Google is a registered trademark of Google, Inc. and CodePro AnalytiX
Software Engineering for LabVIEW Applications. Elijah Kerry LabVIEW Product Manager
Software Engineering for LabVIEW Applications Elijah Kerry LabVIEW Product Manager 1 Ensuring Software Quality and Reliability Goals 1. Deliver a working product 2. Prove it works right 3. Mitigate risk
Jos Warmer, Independent [email protected] www.openmodeling.nl
Domain Specific Languages for Business Users Jos Warmer, Independent [email protected] www.openmodeling.nl Sheet 2 Background Experience Business DSLs Insurance Product Modeling (structure) Pattern
Visual Basic Programming. An Introduction
Visual Basic Programming An Introduction Why Visual Basic? Programming for the Windows User Interface is extremely complicated. Other Graphical User Interfaces (GUI) are no better. Visual Basic provides
Rails Cookbook. Rob Orsini. O'REILLY 8 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo
Rails Cookbook Rob Orsini O'REILLY 8 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo Table of Contents Foreword : ; xi Preface ; ;... xiii 1. Getting Started 1 1.1 Joining the Rails Community
GDB Tutorial. A Walkthrough with Examples. CMSC 212 - Spring 2009. Last modified March 22, 2009. GDB Tutorial
A Walkthrough with Examples CMSC 212 - Spring 2009 Last modified March 22, 2009 What is gdb? GNU Debugger A debugger for several languages, including C and C++ It allows you to inspect what the program
Beginning POJOs. From Novice to Professional. Brian Sam-Bodden
Beginning POJOs From Novice to Professional Brian Sam-Bodden Contents About the Author Acknowledgments Introduction.XIII xv XVII CHAPTER1 Introduction The Java EE Market Case Study: The TechConf Website...
JUnit. Introduction to Unit Testing in Java
JUnit Introduction to Unit Testing in Java Testing, 1 2 3 4, Testing What Does a Unit Test Test? The term unit predates the O-O era. Unit natural abstraction unit of an O-O system: class or its instantiated
Continuous Integration with Jenkins. Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8 dt08ps5]@student.lth.
1 Continuous Integration with Jenkins Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8 dt08ps5]@student.lth.se Faculty of Engineering, Lund Univeristy (LTH) March 5, 2013 Abstract
Some Scanner Class Methods
Keyboard Input Scanner, Documentation, Style Java 5.0 has reasonable facilities for handling keyboard input. These facilities are provided by the Scanner class in the java.util package. A package is a
Best Practices For PL/SQL Development in Oracle Application Express
Oracle PL/SQL and APEX Best Practices For PL/SQL Development in Oracle Application Express Steven Feuerstein [email protected] PL/SQL Evangelist Quest Software Resources for PL/SQL Developers
SOFTWARE TESTING TRAINING COURSES CONTENTS
SOFTWARE TESTING TRAINING COURSES CONTENTS 1 Unit I Description Objectves Duration Contents Software Testing Fundamentals and Best Practices This training course will give basic understanding on software
Version Control with Subversion
Version Control with Subversion Introduction Wouldn t you like to have a time machine? Software developers already have one! it is called version control Version control (aka Revision Control System or
Lab work Software Testing
Lab work Software Testing 1 Introduction 1.1 Objectives The objective of the lab work of the Software Testing course is to help you learn how you can apply the various testing techniques and test design
CS 451 Software Engineering Winter 2009
CS 451 Software Engineering Winter 2009 Yuanfang Cai Room 104, University Crossings 215.895.0298 [email protected] 1 Testing Process Testing Testing only reveals the presence of defects Does not identify
Capabilities of a Java Test Execution Framework by Erick Griffin
Capabilities of a Java Test Execution Framework by Erick Griffin Here we discuss key properties and capabilities of a Java Test Execution Framework for writing and executing discrete Java tests for testing
Documentation and Project Organization
Documentation and Project Organization Software Engineering Workshop, December 5-6, 2005 Jan Beutel ETH Zürich, Institut TIK December 5, 2005 Overview Project Organization Specification Bug tracking/milestones
Database Migration Plugin - Reference Documentation
Grails Database Migration Plugin Database Migration Plugin - Reference Documentation Authors: Burt Beckwith Version: 1.4.0 Table of Contents 1 Introduction to the Database Migration Plugin 1.1 History
CISC 275: Introduction to Software Engineering. Lab 5: Introduction to Revision Control with. Charlie Greenbacker University of Delaware Fall 2011
CISC 275: Introduction to Software Engineering Lab 5: Introduction to Revision Control with Charlie Greenbacker University of Delaware Fall 2011 Overview Revision Control Systems in general Subversion
Two Best Practices for Scientific Computing
Two Best Practices for Scientific Computing Version Control Systems & Automated Code Testing David Love Software Interest Group University of Arizona February 18, 2013 How This Talk Happened Applied alumnus,
Introduction to Automated Testing
Introduction to Automated Testing What is Software testing? Examination of a software unit, several integrated software units or an entire software package by running it. execution based on test cases
Continuous Integration. CSC 440: Software Engineering Slide #1
Continuous Integration CSC 440: Software Engineering Slide #1 Topics 1. Continuous integration 2. Configuration management 3. Types of version control 1. None 2. Lock-Modify-Unlock 3. Copy-Modify-Merge
GLOBAL CONSULTING SERVICES TOOLS FOR WEBMETHODS. 2015 Software AG. All rights reserved. For internal use only
GLOBAL CONSULTING SERVICES TOOLS FOR WEBMETHODS CONSULTING TOOLS VALUE CREATING ADD-ONS REDUCE manual effort time effort risk 6 READY-TO- USE TOOLS MORE COMING SOON SIMPLE PRICING & INSTALLATION INCREASE
Testing Automation for Distributed Applications By Isabel Drost-Fromm, Software Engineer, Elastic
Testing Automation for Distributed Applications By Isabel Drost-Fromm, Software Engineer, Elastic The challenge When building distributed, large-scale applications, quality assurance (QA) gets increasingly
Test Driven Development Part III: Continuous Integration Venkat Subramaniam [email protected] http://www.agiledeveloper.com/download.
Test Driven Development Part III: Continuous Integration Venkat Subramaniam [email protected] http://www.agiledeveloper.com/download.aspx Abstract In this final part of the three part series on
Fundamentals of Java Programming
Fundamentals of Java Programming This document is exclusive property of Cisco Systems, Inc. Permission is granted to print and copy this document for non-commercial distribution and exclusive use by instructors
Revision control systems (RCS) and
Revision control systems (RCS) and Subversion Problem area Software projects with multiple developers need to coordinate and synchronize the source code Approaches to version control Work on same computer
What Is Specific in Load Testing?
What Is Specific in Load Testing? Testing of multi-user applications under realistic and stress loads is really the only way to ensure appropriate performance and reliability in production. Load testing
Debugging Java Applications
Debugging Java Applications Table of Contents Starting a Debugging Session...2 Debugger Windows...4 Attaching the Debugger to a Running Application...5 Starting the Debugger Outside of the Project's Main
Integrated Error-Detection Techniques: Find More Bugs in Java Applications
Integrated Error-Detection Techniques: Find More Bugs in Java Applications Software verification techniques such as pattern-based static code analysis, runtime error detection, unit testing, and flow analysis
Software Quality Exercise 2
Software Quality Exercise 2 Testing and Debugging 1 Information 1.1 Dates Release: 12.03.2012 12.15pm Deadline: 19.03.2012 12.15pm Discussion: 26.03.2012 1.2 Formalities Please submit your solution as
Unit 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,
Plugin JUnit. Contents. Mikaël Marche. November 18, 2005
Plugin JUnit Mikaël Marche November 18, 2005 JUnit is a Java API enabling to describe unit tests for a Java application. The JUnit plugin inside Salomé-TMF enables one to execute automatically JUnit tests
No no-argument constructor. No default constructor found
Every software developer deals with bugs. The really tough bugs aren t detected by the compiler. Nasty bugs manifest themselves only when executed at runtime. Here is a list of the top ten difficult and
The ROI of Test Automation
The ROI of Test Automation by Michael Kelly www.michaeldkelly.com Introduction With the exception of my first project team out of college, in every project team since, I ve had to explain either what automated
Java Power Tools. John Ferguson Smart. ULB Darmstadt 1 PI. O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo
Java Power Tools John Ferguson Smart ULB Darmstadt 1 PI O'REILLY 4 Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo Table of Contents Foreword Preface Introduction xvii xix xxxiii Parti. Build
Lab 0 (Setting up your Development Environment) Week 1
ECE155: Engineering Design with Embedded Systems Winter 2013 Lab 0 (Setting up your Development Environment) Week 1 Prepared by Kirill Morozov version 1.2 1 Objectives In this lab, you ll familiarize yourself
Build management & Continuous integration. with Maven & Hudson
Build management & Continuous integration with Maven & Hudson About me Tim te Beek [email protected] Computer science student Bioinformatics Research Support Overview Build automation with Maven Repository
RUnit - A Unit Test Framework for R
RUnit - A Unit Test Framework for R Thomas König, Klaus Jünemann, and Matthias Burger Epigenomics AG November 5, 2015 Contents 1 Introduction 2 2 The RUnit package 4 2.1 Test case execution........................
Visual Logic Instructions and Assignments
Visual Logic Instructions and Assignments Visual Logic can be installed from the CD that accompanies our textbook. It is a nifty tool for creating program flowcharts, but that is only half of the story.
CSE 308. Coding Conventions. Reference
CSE 308 Coding Conventions Reference Java Coding Conventions googlestyleguide.googlecode.com/svn/trunk/javaguide.html Java Naming Conventions www.ibm.com/developerworks/library/ws-tipnamingconv.html 2
<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
Advanced Software Testing
Johan Seland Advanced Software Testing Geilo Winter School 2013 1 Solution Example for the Bowling Game Kata Solution is in the final branch on Github git clone git://github.com/johanseland/bowlinggamekatapy.git
TESTING 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
Outlook Today. Microsoft Outlook a different way to look at E-MailE. By Microsoft.com
Outlook Today Microsoft Outlook a different way to look at E-MailE By Microsoft.com What to do, What to do How many times have you received a message from your system administrator telling you that you're
Team Name : PRX Team Members : Liang Yu, Parvathy Unnikrishnan Nair, Reto Kleeb, Xinyi Wang
Test Design Document Authors Team Name : PRX Team Members : Liang Yu, Parvathy Unnikrishnan Nair, Reto Kleeb, Xinyi Wang Purpose of this Document This document explains the general idea of the continuous
CSCI E 98: Managed Environments for the Execution of Programs
CSCI E 98: Managed Environments for the Execution of Programs Draft Syllabus Instructor Phil McGachey, PhD Class Time: Mondays beginning Sept. 8, 5:30-7:30 pm Location: 1 Story Street, Room 304. Office
The Benefits of Modular Programming
CHAPTER TWO The Benefits of Modular Programming Copyright Sun Microsystems, 2007 2.1 Distributed Development Nobody writes software entirely in-house anymore. Outside the world of embedded systems, almost
Unit Testing webmethods Integrations using JUnit Practicing TDD for EAI projects
TORRY HARRIS BUSINESS SOLUTIONS Unit Testing webmethods Integrations using JUnit Practicing TDD for EAI projects Ganapathi Nanjappa 4/28/2010 2010 Torry Harris Business Solutions. All rights reserved Page
