Improve your tests with Mutation Testing. Nicolas Fränkel
|
|
|
- Gladys Jenkins
- 10 years ago
- Views:
Transcription
1 Improve your tests with Mutation Testing Nicolas Fränkel
2 Me, Myself and I Developer & Architect As Consultant Teacher/trainer Blogger Speaker Book 2
3 Shameless 3
4 My 4
5 Many kinds of testing Unit Testing Integration Testing End-to-end Testing Performance Testing Penetration Testing Exploratory Testing 5
6 Their only single goal Ensure the Quality of the production 6
7 The problem How to check the Quality of the testing 7
8 Code coverage Code coverage is a measure used to describe the degree to which the source code of a program is tested --Wikipedia 8
9 Measuring Code Coverage Check whether a source code line is executed during a test Or Branch 9
10 Computing Code Coverage CC = L executed L total *100 CC: Code Coverage (in percent) L executed : Number of executed lines of code L total : Number of total lines of 10
11 Java Tools for Code Coverage JaCoCo Clover Cobertura 11
12 100% Code Coverage? Is 100% code coverage realistic? Of course it is. If you can write a line of code, you can write another that tests it. Robert Martin (Uncle Bob) 12
13 Assert-less public void add_should_add() { new Math().add(1, 1); } But, where is the assert? As long as the Code Coverage is 13
14 Code coverage as a measure of test quality Any metric can be gamed! Code coverage is a metric Code coverage can be gamed On purpose Or by 14
15 Code coverage as a measure of test quality Code Coverage lulls you into a false sense of 15
16 The problem still stands Code coverage cannot ensure test quality Is there another way? Mutation Testing to the 16
17 The Cast William Stryker Original Source Code Jason Stryker Modified Source Code a.k.a The 17
18 public class Math { public int add(int i1, int i2) { return i1 + i2; } } public class Math { public int add(int i1, int i2) { return i1 - i2; } 18
19 Standard testing Execute 19
20 Mutation testing MUTATION Execute SAME 20
21 Mutation testing Execute SAME Test Mutant Killed Execute SAME Test Mutant 21
22 Killed or Surviving? Surviving means changing the source code did not change the test result It s bad! Killed means changing the source code changed the test result It s 22
23 Test the code public class Math { public int add(int i1, int i2) { return i1 + i2; } } Execute public void add_should_add() { new Math().add(1, 1); 23
24 Surviving mutant public class Math { public int add(int i1, int i2) { return i1 - i2; } } Execute SAME public void add_should_add() { new Math().add(1, 1); 24
25 Test the code public class Math { public int add(int i1, int i2) { return i1 + i2; } } Execute public void add_should_add() { int sum = new Math().add(1, 1); Assert.assertEquals(sum, 2); 25
26 Killed mutant public class Math { public int add(int i1, int i2) { return i1 - i2; } } Execute SAME public void add_should_add() { int sum = new Math().add(1, 1); Assert.assertEquals(sum, 2); 26
27 Mutation Testing in Java PIT is a tool for Mutation testing Available as Command-line tool Ant target Maven 27
28 Mutators Mutators are patterns applied to source code to produce 28
29 PIT mutators sample Name Example source Result Conditionals Boundary > >= Negate Conditionals ==!= Remove Conditionals foo == bar true Math + - Increments foo++ foo-- Invert Negatives -foo foo Inline Constant static final FOO= 42 static final FOO = 43 Return Values return true return false Void Method Call System.out.println("foo") Non Void Method Call long t = System.currentTimeMillis() long t = 0 Constructor Call Date = new Date() Date d = null; 29
30 Important mutators Conditionals Boundary Probably a potential serious bug smell if (foo > 30
31 Important mutators Void Method Call Assert.checkNotNull() 31
32 Remember It s not because the IDE generates code safely that it will never change equals() 32
33 False positives Mutation Testing is not 100% bulletproof Might return false positives Be 33
34 Enough 34
35 Simple PIT plugin call mvn \ org.pitest:pitest-maven:mutationcoverage \ 35
36 Excluding some classes mvn \ org.pitest:pitest-maven:mutationcoverage \ -DexcludedClasses=\ org.joda.money.testbigmoney,\ org.joda.money.testcurrencyunit,\ org.joda.money.testmoney \ 36
37 Reports for Sonar mvn \ org.pitest:pitest-maven:mutationcoverage \ -DexcludedClasses=\ org.joda.money.testbigmoney,\ org.joda.money.testcurrencyunit,\ org.joda.money.testmoney \ -DoutputFormats=XML \ 37
38 Sending data to Sonar mvn sonar:sonar \ 38
39 Drawbacks Slow Sluggish Crawling Sulky Lethargic 39
40 Metrics (kind of) On joda-money mvn clean test-compile mvn surefire:test Total time: s mvn pit-test... Total time:
41 Why so slow? Analyze test code For each class under test For each mutator Create mutation For each mutation Run test Analyze result Aggregate 41
42 Workarounds This is not acceptable in a normal test run But there are 42
43 Set mutators <configuration> <mutators> <mutator> CONSTRUCTOR_CALLS </mutator> <mutator> NON_VOID_METHOD_CALLS </mutator> </mutators> 43
44 Set target classes <configuration> <targetclasses> <param>ch.frankel.pit*</param> </targetclasses> 44
45 Set target tests <configuration> <targettests> <param>ch.frankel.pit*</param> </targettests> 45
46 Dependency distance 1 46
47 Limit dependency distance <configuration> <maxdependencydistance> 4 </maxdependencydistance> 47
48 Limit number of mutations <configuration> <maxmutationsperclass> 10 </maxmutationsperclass> 48
49 Use 49
50 PIT extension points Must be packaged in JAR Have Implementation-Vendor and Implementation-Title in MANIFEST.MF that match PIT s Set on the classpath Use Java s Service Provider 50
51 Service Provider Inversion of control Since Java 1.3! Text file located in META- INF/services Interface Name of the file Implementation class Content of the 51
52 Sample structure JAR 52
53 Service Provider 53
54 Service Provider sample ServiceLoader<ISample> loaders = ServiceLoader.load(ISample.class); for (ISample sample: loaders) { } // Use the 54
55 Output formats Out-of-the-box HTML XML 55
56 Output formats <configuration> <outputformats> <outputformat>xml</outputformat> <outputformat>html</outputformat> </outputformats> 56
57 @nicolas_frankel 57
58 Mutation Filter Remove mutations from the list of available mutations for a 58
59 @nicolas_frankel 59
60 @nicolas_frankel 60
61 Don t bind to test phase! <plugin> <groupid>org.pitest</groupid> <artifactid>pitest-maven</artifactid> <executions> <execution> <goals> <goal>mutationcoverage</goal> </goals> <phase>test</phase> </execution> </executions> 61
62 Use scmmutationcoverage mvn \ org.pitest:pitest-maven:scmmutationcoverage \ 62
63 Do use on Continuous Integration servers mvn \ org.pitest:pitest-maven:mutationcoverage \ 63
64 Is Mutation Testing the Silver Bullet? Sorry, no! It only Checks the relevance of your unit tests Points out potential 64
65 What it doesn t do Validate the assembled application Integration Testing Check the performance Performance Testing Look out for display bugs Etc. End-to-end 65
66 Testing is about ROI Don t test to achieve 100% coverage Test because it saves money in the long run Prioritize: Business-critical code Complex 66
67
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)
Improving Software Quality with the Continuous Integration Server Hudson. Dr. Ullrich Hafner Avaloq Evolution AG 8911
Improving Software Quality with the Continuous Integration Server Hudson Dr. Ullrich Hafner Avaloq Evolution AG 8911 AGENDA 2 > INTRODUCTION TO CI AND HUDSON > USING STATIC ANALYSIS IN PROJECTS > DEMO
TeamCity A Professional Solution for Delivering Quality Software, on Time
TeamCity A Professional Solution for Delivering Quality Software, on Time Vaclav Pech Senior Software Developer JetBrains, Inc. About Us Vaclav Pech Professional software developer for 9 years IntelliJ
Jenkins User Conference Herzelia, July 5 2012 #jenkinsconf. Testing a Large Support Matrix Using Jenkins. Amir Kibbar HP http://hp.
Testing a Large Support Matrix Using Jenkins Amir Kibbar HP http://hp.com/go/oo About Me! 4.5 years with HP! Almost 3 years System Architect! Out of which 1.5 HP OO s SA! Before that a Java consultant
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
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
CI/CD Cheatsheet. Lars Fabian Tuchel Date: 18.March 2014 DOC:
CI/CD Cheatsheet Title: CI/CD Cheatsheet Author: Lars Fabian Tuchel Date: 18.March 2014 DOC: Table of Contents 1. Build Pipeline Chart 5 2. Build. 6 2.1. Xpert.ivy. 6 2.1.1. Maven Settings 6 2.1.2. Project
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
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
Software infrastructure for Java development projects
Tools that can optimize your development process Software infrastructure for Java development projects Presentation plan Software Development Lifecycle Tools What tools exist? Where can tools help? Practical
Comparing the effectiveness of automated test generation tools EVOSUITE and Tpalus
Comparing the effectiveness of automated test generation tools EVOSUITE and Tpalus A THESIS SUBMITTED TO THE FACULTY OF THE GRADUATE SCHOOL UNIVERSITY OF MINNESOTA BY Sai Charan Raj Chitirala IN PARTIAL
Builder User Guide. Version 6.0.1. Visual Rules Suite - Builder. Bosch Software Innovations
Visual Rules Suite - Builder Builder User Guide Version 6.0.1 Bosch Software Innovations Americas: Bosch Software Innovations Corp. 161 N. Clark Street Suite 3500 Chicago, Illinois 60601/USA Tel. +1 312
Upping the game. Improving your software development process
Upping the game Improving your software development process John Ferguson Smart Principle Consultant Wakaleo Consulting Email: [email protected] Web: http://www.wakaleo.com Twitter: wakaleo Presentation
Sonatype CLM for Maven. Sonatype CLM for Maven
Sonatype CLM for Maven i Sonatype CLM for Maven Sonatype CLM for Maven ii Contents 1 Introduction 1 2 Creating a Component Index 3 2.1 Excluding Module Information Files in Continuous Integration Tools...........
Java Forum Nord 2015. Dirk Mahler
by Java Forum Nord 2015 Dirk Mahler Black Boxes Called Artifacts Software As A Graph jqassistant Let s Explore Libraries! 2 Yes We Scan Software Analysis Using jqassistant 3 Artifact Result of a build/integration
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
Software project management. and. Maven
Software project management and Maven Problem area Large software projects usually contain tens or even hundreds of projects/modules Will become messy if the projects don t adhere to some common principles
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
Continuous Integration Multi-Stage Builds for Quality Assurance
Continuous Integration Multi-Stage Builds for Quality Assurance Dr. Beat Fluri Comerge AG ABOUT MSc ETH in Computer Science Dr. Inform. UZH, s.e.a.l. group Over 8 years of experience in object-oriented
http://www.wakaleo.com [email protected] Java Software Quality Tools and techniques
Wakaleo Consulting O p t i m i z i n g y o u r s o f t w a r e d e v e l o p m e n t http://www.wakaleo.com [email protected] Java Software Quality Tools and techniques 1 Introduction Agenda tools
Builder User Guide. Version 5.4. Visual Rules Suite - Builder. Bosch Software Innovations
Visual Rules Suite - Builder Builder User Guide Version 5.4 Bosch Software Innovations Americas: Bosch Software Innovations Corp. 161 N. Clark Street Suite 3500 Chicago, Illinois 60601/USA Tel. +1 312
Maven2. Configuration and Build Management. Robert Reiz
Maven2 Configuration and Build Management Robert Reiz A presentation is not a documentation! A presentation should just support the speaker! PLOIN Because it's your time Seite 2 1 What is Maven2 2 Short
HP Agile Manager What we do
HP Agile Manager What we do Release planning Sprint planning Sprint execution Visibility and insight Structure release Define teams Define release scope Manage team capacity Define team backlog Manage
Sonatype CLM Enforcement Points - Continuous Integration (CI) Sonatype CLM Enforcement Points - Continuous Integration (CI)
Sonatype CLM Enforcement Points - Continuous Integration (CI) i Sonatype CLM Enforcement Points - Continuous Integration (CI) Sonatype CLM Enforcement Points - Continuous Integration (CI) ii Contents 1
Server-Side Web Development JSP. Today. Web Servers. Static HTML Directives. Actions Comments Tag Libraries Implicit Objects. Apache.
1 Pages () Lecture #4 2007 Pages () 2 Pages () 3 Pages () Serves resources via HTTP Can be anything that serves data via HTTP Usually a dedicated machine running web server software Can contain modules
Logistics. 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
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
Automated performance testing using Maven & JMeter. George Barnett, Atlassian Software Systems @georgebarnett
Automated performance testing using Maven & JMeter George Barnett, Atlassian Software Systems @georgebarnett Create controllable JMeter tests Configure Maven to create a repeatable cycle Run this build
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
Mastering Continuous Integration with Jenkins
1. Course Objectives Students will walk away with a solid understanding of how to implement a Continuous Integration (CI) environment with Jenkins, including: Setting up a production-grade instance of
Model-View-Controller. and. Struts 2
Model-View-Controller and Struts 2 Problem area Mixing application logic and markup is bad practise Harder to change and maintain Error prone Harder to re-use public void doget( HttpServletRequest request,
Paul Barham ([email protected]) Program Manager - Java. David Staheli ([email protected]) Software Development Manager - Java
Paul Barham ([email protected]) Program Manager - Java David Staheli ([email protected]) Software Development Manager - Java to empower every person and every organization on the planet to achieve
Web Frameworks and WebWork
Web Frameworks and WebWork Problem area Mixing application logic and markup is bad practise Harder to change and maintain Error prone Harder to re-use public void doget( HttpServletRequest request, HttpServletResponse
CI:IRL. By Beth Tucker Long
CI:IRL By Beth Tucker Long Who am I? Beth Tucker Long (@e3betht) Editor in Chief php[architect] magazine Freelancer under Treeline Design, LLC Stay at home mom User group organizer Madison PHP Audience
Domain Specific Languages for Selenium tests
Domain Specific Languages for Selenium tests Emily Bache, jfokus 2010 What is selenium? Selenium is a suite of tools to automate web application testing Includes Selenium RC (Remote Control) & Selenium
Unit Testing JUnit and Clover
1 Unit Testing JUnit and Clover Software Component Technology Agenda for Today 2 1. Testing 2. Main Concepts 3. Unit Testing JUnit 4. Test Evaluation Clover 5. Reference Software Testing 3 Goal: find many
<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
November 12 th 13 th London: Mastering Continuous Integration with Jenkins
1. Course Objectives Students will walk away with a solid understanding of how to implement a Continuous Integration (CI) environment, including: Setting up a production-grade instance of a Jenkins server,
Software Construction
Software Construction Martin Kropp University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Learning Target You can explain the importance of continuous integration
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
Build Management. Context. Learning Objectives
Build Management Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk Context Requirements Inception Elaboration Construction Transition Analysis Design
Hands on exercise for
Hands on exercise for João Miguel Pereira 2011 0 Prerequisites, assumptions and notes Have Maven 2 installed in your computer Have Eclipse installed in your computer (Recommended: Indigo Version) I m assuming
Evaluation 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
Debugging. Common Semantic Errors ESE112. Java Library. It is highly unlikely that you will write code that will work on the first go
Debugging ESE112 Java Programming: API, Psuedo-Code, Scope It is highly unlikely that you will write code that will work on the first go Bugs or errors Syntax Fixable if you learn to read compiler error
Developing Eclipse Plug-ins* Learning Objectives. Any Eclipse product is composed of plug-ins
Developing Eclipse Plug-ins* Wolfgang Emmerich Professor of Distributed Computing University College London http://sse.cs.ucl.ac.uk * Based on M. Pawlowski et al: Fundamentals of Eclipse Plug-in and RCP
Why Agile Works: Economics, Psychology, and Science. @MatthewRenze #PrDC16
Why Agile Works: Economics, Psychology, and Science @MatthewRenze #PrDC16 Purpose Explain why Agile practices are so successful Insights from: Economics Psychology Science Top 7 most important ideas Ideas
CONTINUOUS INTEGRATION
CONTINUOUS INTEGRATION REALISING ROI IN SOFTWARE DEVELOPMENT PROJECTS In the following pages we will discuss the policies and systems that together make up the process called Continuous Integration. This
Project 2 Database Design and ETL
Project 2 Database Design and ETL Out: October 7th, 2015 1 Introduction: What is this project all about? We ve now studied many techniques that help in modeling data (E-R diagrams), which can then be migrated
Onset Computer Corporation
Onset, HOBO, and HOBOlink are trademarks or registered trademarks of Onset Computer Corporation for its data logger products and configuration/interface software. All other trademarks are the property
Maven2 Reference. Invoking Maven General Syntax: Prints help debugging output, very useful to diagnose. Creating a new Project (jar) Example:
Maven2 Reference Invoking Maven General Syntax: mvn plugin:target [-Doption1 -Doption2 dots] mvn help mvn -X... Prints help debugging output, very useful to diagnose Creating a new Project (jar) mvn archetype:create
WIRIS quizzes web services Getting started with PHP and Java
WIRIS quizzes web services Getting started with PHP and Java Document Release: 1.3 2011 march, Maths for More www.wiris.com Summary This document provides client examples for PHP and Java. Contents WIRIS
Software project management. and. Maven
Software project management and Maven Problem area Large software projects usually contain tens or even hundreds of projects/modules Will become messy and incomprehensible ibl if the projects don t adhere
GlassFish v3. Building an ex tensible modular Java EE application server. Jerome Dochez and Ludovic Champenois Sun Microsystems, Inc.
GlassFish v3 Building an ex tensible modular Java EE application server Jerome Dochez and Ludovic Champenois Sun Microsystems, Inc. Agenda Java EE 6 and GlassFish V3 Modularity, Runtime Service Based Architecture
Introduction to Selenium Using Java Language
Introduction to Selenium Using Java Language This is a 6 weeks commitment course, 6 hours/week with 30 min break. We currently provide ONLY onsite instructor led courses for this course. Course contents
from Microsoft Office
OOoCon 2003 Migrating from Microsoft Office to OpenOffice.org/StarOffice by Frank Gamerdinger [email protected] 1 Who needs migration? OpenOffice.org & StarOffice - only the brave!(?) 2 Agenda
6.088 Intro to C/C++ Day 4: Object-oriented programming in C++ Eunsuk Kang and Jean Yang
6.088 Intro to C/C++ Day 4: Object-oriented programming in C++ Eunsuk Kang and Jean Yang Today s topics Why objects? Object-oriented programming (OOP) in C++ classes fields & methods objects representation
Glassbox: Open Source and Automated Application Troubleshooting. Ron Bodkin Glassbox Project Leader [email protected]
Glassbox: Open Source and Automated Application Troubleshooting Ron Bodkin Glassbox Project Leader [email protected] First a summary Glassbox is an open source automated troubleshooter for Java
Quality Cruising. Making Java Work for Erlang. Erik (Happi) Stenman
Quality Cruising Making Java Work for Erlang Erik (Happi) Stenman 2 Introduction Introduction I will talk about automated testing, and how to make Java do that work for you. 2 Introduction I will talk
Continuous integration in OSGi projects using Maven (v:0.1) Sergio Blanco Diez
Continuous integration in OSGi projects using Maven (v:0.1) Sergio Blanco Diez December 1, 2009 Contents 1 Introduction 2 2 Maven 4 2.1 What is Maven?..................................... 4 2.2 How does
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
Service Integration course. Cassandra
Budapest University of Technology and Economics Department of Measurement and Information Systems Fault Tolerant Systems Research Group Service Integration course Cassandra Oszkár Semeráth Gábor Szárnyas
Easing embedded Linux software development for SBCs
Page 1 of 5 Printed from: http://www.embedded-computing.com/departments/eclipse/2006/11/ Easing embedded Linux software development for SBCs By Nathan Gustavson and Eric Rossi Most programmers today leaving
Vendor: Brio Software Product: Brio Performance Suite
1 Ability to access the database platforms desired (text, spreadsheet, Oracle, Sybase and other databases, OLAP engines.) yes yes Brio is recognized for it Universal database access. Any source that is
Continuous Integration For Fusion Middleware
Continuous Integration For Fusion Middleware Mark Nelson, Architect Robert Wunderlich, Product Management Fusion Middleware September 30, 2014 CON7627 Safe Harbor Statement The following is intended to
Software Engineering I (02161)
Software Engineering I (02161) Week 8 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2015 Last Week State machines Layered Architecture: GUI Layered Architecture: Persistency
Consuming and Producing Web Services with WST and JST. Christopher M. Judd. President/Consultant Judd Solutions, LLC
Consuming and Producing Web Services with WST and JST Christopher M. Judd President/Consultant Judd Solutions, LLC Christopher M. Judd President/Consultant of Judd Solutions Central Ohio Java User Group
bbc Developing Service Providers Adobe Flash Media Rights Management Server November 2008 Version 1.5
bbc Developing Service Providers Adobe Flash Media Rights Management Server November 2008 Version 1.5 2008 Adobe Systems Incorporated. All rights reserved. Adobe Flash Media Rights Management Server 1.5
Survey 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
Announcement. SOFT1902 Software Development Tools. Today s Lecture. Version Control. Multiple iterations. What is Version Control
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
Spring Security SAML module
Spring Security SAML module Author: Vladimir Schäfer E-mail: [email protected] Copyright 2009 The package contains the implementation of SAML v2.0 support for Spring Security framework. Following
Oracle Endeca Information Discovery Integrator
Oracle Endeca Information Discovery Integrator Integrator Version 3.0.0 May 2013 Copyright and disclaimer Copyright 2003, 2013, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered
An evaluation of JavaFX as 2D game creation tool
An evaluation of JavaFX as 2D game creation tool Abstract With the current growth in the user experience,and the existence of multiple publishing platforms, the investigation of new game creation tools
Agile Development with Jazz and Rational Team Concert
Agile Development with Jazz and Rational Team Concert Mayank Parikh [email protected] Acknowledgements: Thanks to Khurram Nizami for some of the slides in this presentation Agile Values: A Foundation
Testing Tools Content (Manual with Selenium) Levels of Testing
Course Objectives: This course is designed to train the fresher's, intermediate and professionals on testing with the concepts of manual testing and Automation with Selenium. The main focus is, once the
J a v a Quiz (Unit 3, Test 0 Practice)
Computer Science S-111a: Intensive Introduction to Computer Science Using Java Handout #11 Your Name Teaching Fellow J a v a Quiz (Unit 3, Test 0 Practice) Multiple-choice questions are worth 2 points
Continuous Delivery. Alejandro Ruiz
Continuous Delivery Alejandro Ruiz True reality How the customer explained it How the project leader understood it How the analyst designed it How the programmer wrote it What the customer really needed
CSE373: Data Structures and Algorithms Lecture 3: Math Review; Algorithm Analysis. Linda Shapiro Winter 2015
CSE373: Data Structures and Algorithms Lecture 3: Math Review; Algorithm Analysis Linda Shapiro Today Registration should be done. Homework 1 due 11:59 pm next Wednesday, January 14 Review math essential
1. Use the class definition above to circle and identify the parts of code from the list given in parts a j.
public class Foo { private Bar _bar; public Foo() { _bar = new Bar(); public void foobar() { _bar.moveforward(25); 1. Use the class definition above to circle and identify the parts of code from the list
Kohsuke Kawaguchi Sun Microsystems, Inc. hk2.dev.java.net, glassfish.dev.java.net. Session ID
1 Kohsuke Kawaguchi Sun Microsystems, Inc. hk2.dev.java.net, glassfish.dev.java.net Session ID 2 What s GlassFish v3? JavaEE 6 API for REST (JAX-RS) Better web framework support (Servlet 3.0) WebBeans,
CSE 70: Software Development Pipeline Build Process, XML, Repositories
CSE 70: Software Development Pipeline Build Process, XML, Repositories Ingolf Krueger Department of Computer Science & Engineering University of California, San Diego La Jolla, CA 92093-0114, USA California
Applets, RMI, JDBC Exam Review
Applets, RMI, JDBC Exam Review Sara Sprenkle Announcements Quiz today Project 2 due tomorrow Exam on Thursday Web programming CPM and servlets vs JSPs Sara Sprenkle - CISC370 2 1 Division of Labor Java
Maven or how to automate java builds, tests and version management with open source tools
Maven or how to automate java builds, tests and version management with open source tools Erik Putrycz Software Engineer, Apption Software [email protected] Outlook What is Maven Maven Concepts and
Seminar Datenbanksysteme
University of Applied Sciences HTW Chur Master of Science in Engineering (MSE) Seminar Datenbanksysteme The LINQ-Approach in Java Student: Norman Süsstrunk Tutor: Martin Studer 18 th October 2010 Seminar
Effective feedback from quality tools during development
Effective feedback from quality tools during development EuroSTAR 2004 Daniel Grenner Enea Systems Current state Project summary of known code issues Individual list of known code issues Views targeted
