Unit testing basics & more...
|
|
- Ashley Mills
- 5 years ago
- Views:
Transcription
1 Unit testing basics & more... by Papapetrou P.Patroklos Twitter hashtag : Thessaloniki Java Meetup - December 2014
2 Agenda Unit testing introduction Differences with other types of tests Key concepts Rules - things to remember A developer s toolset Live coding - hmm unit testing actually
3 Unit testing? Why bother? Code without tests is bad code. It doesn t matter how well written it is; it doesn t matter how pretty or object-oriented or well-encapsulated it is. With tests, we can change the behavior of our code quickly and verifiably. Without them, we really don t know if our code is getting better or worse. Michael Feathers Working Effectively With Legacy Code (2004)
4 Unit testing? Why bother? Code without unit tests is like American breakfast without eggs & bacon. Patroklos Papapetrou (2014)
5
6 What is unit testing? A practice of testing certain functions and areas or units of our code.
7 Advantages Identify failures in our algorithms and/or logic Approaching development from a unit testing perspective is that you'll likely be writing code that is easy to test Prevent future changes from breaking functionality ( safety pillow )
8 Unit testing vs?? We are here
9 (Good) Unit tests characteristics Run fast Isolated Repeatable Automatable Easy to write Easy to understand
10 Unit test structure Setup 1 Prepare input 2 Invoke method 3 Tear down Assert output 4 5
11 Assertions? What is that? Assertion -> A way to validate expected output / behavior of a method Examples Assert.assertEquals (a, b) Assert.assertTrue ( bool ) Each unit test should include only one assertion
12
13 Mocks / Stubs / Fakes Simulated objects that mimic the behavior of real objects in controlled ways.
14 Best Practices - Readability Setup and teardown methods are not abused. It s better to use factory methods for readability Each test tests one thing only Check for good and consistent naming conventions Make sure that only meaningful assert messages are used, or none at all (meaningful test names are better)
15 Best Practices - Readability Asserts are separated from actions (different lines). Tests don t use magic strings and values as inputs. use the simplest inputs possible to prove your point. There is consistency in location of tests. make it easy to find related tests for a method, or a class, or a project.
16 Best Practices - Maintainability Unit tests are isolated from each other and repeatable Testing private or protected methods is not the norm (public is always better) Tests are not over-specified State-based testing is preferred over using interaction testing
17 Best Practices - Maintainability Strict mocks are used as little as possible (leads to over specification and fragile tests) There is no more than one mock per test Tests do not mix mocks and regular asserts in the same test (testing multiple things)
18 Best Practices - Maintainability Unit Tests verify mock calls only on the single mock object in the test, and not on all the fake objects in the tests Unit Tests verify only on a single call to a mock object. Verifying multiple calls on a mock object is either over specification or testing multiple things.
19 Best Practices - Trust Tests does not contain logic or dynamic values Check coverage by playing with values (booleans or constants) Unit tests are separated from integration tests Unit tests don t use things that keep changing in a unit test (like DateTime.Now ). Use fixed values.
20 Best Practices - Trust Unit tests don t assert with expected values that are created dynamically - you might be repeating production code. Unit tests should not do exception handling.
21 Java Developer s toolset Basic Framework -> JUnit VS TestNG Mocking Framework -> Mockito VS PowerMock VS EasyMock Assertions Framework -> Hamcrest Matchers VS Fest Assert VS AssertJ My Choice -> JUnit + Mockito + PowerMockito + AssertJ
22 Let s write some tests
23 References JUnit : TestNG : Mockito : PowerMock : PowerMockito : com/p/powermock/wiki/mockitousage13 EasyMock :
24 References Hamcrest Matchers : Fest Assertions : AssertJ:
Introduction to Software Engineering: Tools and Environments. Session 5. Oded Lachish
Introduction to Software Engineering: Tools and Environments Session 5 Oded Lachish Room: Mal 405 Visiting Hours: Wednesday 17:00 to 20:00 Email: oded@dcs.bbk.ac.uk Module URL: http://www.dcs.bbk.ac.uk/~oded/tools2012-2013/web/tools2012-2013.html
More informationDon t give up on mocking
Don t give up on mocking - Why do people give up? - Mocking: the big step from classic way of testing - Let s take a step back and don t give up! by Szczepan Faber (a certified mock tamer) Interaction
More informationJUnit in EDA Introduction. 2 JUnit 4.3
Lunds tekniska högskola Datavetenskap, Nov 25, 2010 Görel Hedin EDA260 Programvaruutveckling i grupp projekt Labb 3 (Test First): Bakgrundsmaterial JUnit in EDA260 1 Introduction The JUnit framework is
More informationThe Art of Unit Testing
The Art of Unit Testing with Examplee in.net Roy Oeberove 11 MANNING Greenwich (74 w. long.) Contents foreword t xv preface xvii acknowledgments xix about this book xx about the cover illustration XXIII
More informationChecking Current Code Coverage
Junit Tests Checking Current Code Coverage We use onap Sonar to track code coverage (sonar.onap.org) To see the appc coverage, click on the appc project on the front page (make sure you choose the most
More informationMOCKING TO FACILITATE UNIT TESTING. Abstract
MOCKING TO FACILITATE UNIT TESTING Abstract Unit Testing is easy if the object you're testing has no dependencies. In reality, however, objects have dependencies, often making it di!cult, if not impossible,
More informationAccessibility. Adding features to support users with impaired vision, mobility, or hearing
Accessibility Adding features to support users with impaired vision, mobility, or hearing TalkBack TalkBack is an Android screen reader made by Google. It speaks out the contents of a screen based on what
More informationUnit Testing and JUnit
Unit Testing and JUnit Moinul Hossain CS 791Z 03/02/2015 Outline What is Software Testing? What and Why Unit Testing? JUnit JUnit features and Examples Test Driven Development (TDD) What is Software Testing?
More informationThe Power of Unit Testing and it s impact on your business. Ashish Kumar Vice President, Engineering
The Power of Unit Testing and it s impact on your business Ashish Kumar Vice President, Engineering Agitar Software, 2006 1 The Power of Unit Testing Why Unit Test? The Practical Reality Where do we go
More informationTest Isolation and Mocking
Test Isolation and Mocking Technion Institute of Technology 236700 1 Author: Assaf Israel Unit Testing: Isolation The bigger the test subject the harder it is to understand the reason of a bug from a test
More informationUnit Testing & Testability
CMPT 473 Software Quality Assurance Unit Testing & Testability Nick Sumner - Fall 2014 Levels of Testing Recall that we discussed different levels of testing for test planning: Unit Tests Integration Tests
More informationMock Objects and the Mockito Testing Framework Carl Veazey CSCI Friday, March 23, 12
Mock Objects and the Mockito Testing Framework Carl Veazey CSCI 5828 Introduction Mock objects are a powerful testing pattern for verifying the behavior and interactions of systems. This presentation aims
More informationUtilizing Fast Testing to Transform Java Development into an Agile, Quick Release, Low Risk Process
Utilizing Fast Testing to Transform Java Development into an Agile, Quick Release, Low Risk Process Introduction System tests, often called slow tests, play a crucial role in nearly every Java development
More informationTesting on Android. Mobile Application Development. Jakob Mass MTAT Fall MTAT
Testing on Android Mobile Application Development MTAT.03.262 2017 Fall Jakob Mass jakob.mass@ut.ee Introduction. Perfect codewriting...or? Conventional (unit) Java testing with JUnit How is mobile/android
More informationSimplifying Development and Testing of GUIs with SAF (JSR 296) and FEST. Michael Hüttermann Training & Consulting Alex Ruiz Oracle Corporation
Simplifying Development and Testing of GUIs with SAF (JSR 296) and FEST Michael Hüttermann Training & Consulting Alex Ruiz Oracle Corporation Agenda Why do we need a Swing framework? Introducing the Swing
More informationUnit Testing. SWEN-610 Foundations of Software Engineering. Department of Software Engineering Rochester Institute of Technology
Unit Testing SWEN-610 Foundations of Software Engineering Department of Software Engineering Rochester Institute of Technology There are many levels of software testing. The developer of the software has
More informationA Guided Tour of Test Automation
A Guided Tour of Test Automation My slides are available for you at: http://idiacomputing.com/publications.html A Test, Check, or Scenario Arrange Act Assert Given When Then Arrange Given The preconditions
More informationTest-driven development
Test-driven development And how we do it at WIX Mantas Indrašius Software Engineer WIX.COM Agenda Tests overview Test-driven development (TDD) The Bowling Game demo Kickstarting a project using TDD How
More informationJunit Overview. By Ana I. Duncan
Junit Overview By Ana I. Duncan 1 What Is Junit Why Junit, Why test? Junit Lifecycle Junit Examples from CM Other Testing frameworks Resources Before After Agenda 2 JUnit is a member of the xunit testing
More informationUnit Testing. SWEN-261 Introduction to Software Engineering. Department of Software Engineering Rochester Institute of Technology
Unit Testing SWEN-261 Introduction to Software Engineering Department of Software Engineering Rochester Institute of Technology There are many levels of software testing. The developer of the software
More informationDouble Objects. Mariana Bravo Translation: Paulo Cheque. Summer 2009
Double Objects Mariana Bravo marivb@agilcoop.org.br Translation: Paulo Cheque Summer 2009 License: Creative Commons: Attribution-Share Alike 3.0 Unported http://creativecommons.org/licenses/by-sa/3.0/
More informationC07: Testing and JUnit
CISC 3120 C07: Testing and JUnit Hui Chen Department of Computer & Information Science CUNY Brooklyn College 9/19/2017 CUNY Brooklyn College 1 Outline Recap and issues Grades and feedback Assignments &
More informationPhilosophy of Unit Testing
Unit Testing in.net Philosophy of Unit Testing What? Where? Why? How? What it is not? Test individual components (units) in isolation isolate and validate verify to confirm preexisting specification. Inputs
More informationTesting beyond the default click-paths. Wim Selles & Mischa Dasberg
Testing beyond the default click-paths Wim Selles & Mischa Dasberg Content About us Test beyond the default click-paths tools Installation + coffee break Get your hands dirty About us wim Selles testing
More informationEffective Unit Testing
Effective Unit Testing A guide forjava developers LASSE KOSKELA 11 MANNING Shelter Island contents xv preface acknowledgments xvii about this book xix about the cover illustration xxiv Part 1 Foundations
More informationImport Statements, Instance Members, and the Default Constructor
Import Statements, Instance Members, and the Default Constructor Introduction In this article from my free Java 8 course, I will be discussing import statements, instance members, and the default constructor.
More information1B1b Classes in Java Part I
1B1b Classes in Java Part I Agenda Defining simple classes. Instance variables and methods. Objects. Object references. 1 2 Reading You should be reading: Part I chapters 6,9,10 And browsing: Part IV chapter
More informationTest Driven Development: Pair programming to the max. Klaas van Gend, 040coders.nl, March 15, 2018
Test Driven Development: Pair programming to the max Klaas van Gend, 040coders.nl, March 15, 2018 1 Klaas van Gend Hobby: Hobby: {040coders.nl} Hobby: 2 3 1949 1953 4 source optics 4 meter stage more optics
More informationFast, Sexy, and Svelte: Our Kind of Rails Testing. Dan Manges (ThoughtWorks) zak (unemployed)
Fast, Sexy, and Svelte: Our Kind of Rails Testing Dan Manges (ThoughtWorks) zak (unemployed) a translation without buzzwords notes short build times maintainable comprehensive coverage this talk: how to
More informationCompletely
Completely Test-Driven ian.truslove@nsidc.org @iantruslove UCAR Software Engineering Assembly, Feb 21, 2012 What s In It For Me? So, that TDD sounds great and all, but what about ? See some techniques
More informationChapter 4 Defining Classes I
Chapter 4 Defining Classes I This chapter introduces the idea that students can create their own classes and therefore their own objects. Introduced is the idea of methods and instance variables as the
More informationSoftware Engineering. Top-Down Design. Bottom-Up Design. Software Process. Top-Down vs. Bottom-Up 15/06/2011
CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2011 Thorsten Joachims Lecture 7: Software Design Software Engineering The art by which we start with a problem statement and gradually
More informationAutomated GUI testing. How to test an interactive application automatically?
Automated GUI testing How to test an interactive application automatically? Some GUI facts Software testing accounts for 50-60% of total software development costs GUIs can constitute as much as 60% of
More informationIt s good to be here... I almost wasn t. Beautiful Tests by Bruce A. Tate icanmakeitbe*er
It s good to be here... I almost wasn t. Beautiful Tests by Bruce A. Tate icanmakeitbe*er Test all of your code with beautiful, dry, fast tests Test all of your code with beautiful, dry, fast tests Many
More informationTesting Mobile Apps CS 4720 Mobile Application Development
Testing Mobile Apps Mobile Application Development Testing! The most important thing we never teach you to do! Consider how most projects go in your undergrad career: Requirements elicitation? We give
More informationCS 370 Statements D R. M I C H A E L J. R E A L E F A L L
CS 370 Statements D R. M I C H A E L J. R E A L E F A L L 2 0 1 5 Overview In these slides, we ll talk about good practices related to programming statements: Organizing straight-line code Using conditionals
More informationCS159. Nathan Sprague. September 30, 2015
CS159 Nathan Sprague September 30, 2015 Testing Happens at Multiple Levels Unit Testing - Test individual classes in isolation. Focus is on making sure that each method works according to specification.
More informationAgenda. JUnit JaCoCo Project. CSE 4321, Jeff Lei, UTA
Agenda JUnit JaCoCo Project 1 JUnit Introduction A JUnit Example Major APIs Practical Tips 2 Unit Testing Test individual units of source code in isolation Procedures, functions, methods, and classes Engineers
More informationSoftware LEIC/LETI. Lecture 5
Software Engineering @ LEIC/LETI Lecture 5 Last Lecture Verification and Validation Reviews and Inspections Software Testing Coverage Statement, branch, and path coverage Equivalence partitioning Boundary
More informationMockito is a mocking framework that tastes really good.
Mockito Mockito is a mocking framework that tastes really good. It lets you write beautiful tests with clean & simple API. Mockito doesn't give you ha angover because the tests are very readable and they
More informationAfter completing Matchers, you will be able to: Describe the advantages of encapsulating verification logic in
CHAPTER 3 MATCHERS OBJECTIVES After completing Matchers, you will be able to: Describe the advantages of encapsulating verification logic in matchers. Use built-in matchers from the Hamcrest library. Create
More informationSoftware Engineering I (02161)
Software Engineering I (02161) Week 3 Assoc. Prof. Hubert Baumeister DTU Compute Technical University of Denmark Spring 2013 Recap Requirements Engineering user- / system requirements functional- / non-functional
More informationTesting. UW CSE 160 Winter 2016
Testing UW CSE 160 Winter 2016 1 Testing Programming to analyze data is powerful It s useless (or worse!) if the results are not correct Correctness is far more important than speed 2 Famous examples Ariane
More informationBeyond JUnit: Introducing TestNG The Next Generation in Testing
Beyond JUnit: Introducing TestNG The Next Generation in Testing Hani Suleiman CTO Formicary http://www.formicary.net hani@formicary.net TS 3097 2006 JavaOne SM Conference Session TS-3097 Testing Renewed
More informationProgrammieren II. Unit Testing & Test-Driven Development. Alexander Fraser.
Programmieren II Unit Testing & Test-Driven Development Alexander Fraser fraser@cl.uni-heidelberg.de (Based on material from Lars Vogel and T. Bögel) July 2, 2014 1 / 62 Outline 1 Recap 2 Testing - Introduction
More informationCS201 - Assignment 3, Part 1 Due: Friday February 28, at the beginning of class
CS201 - Assignment 3, Part 1 Due: Friday February 28, at the beginning of class One of the keys to writing good code is testing your code. This assignment is going to introduce you and get you setup to
More information05. SINGLETON PATTERN. One of a Kind Objects
BIM492 DESIGN PATTERNS 05. SINGLETON PATTERN One of a Kind Objects Developer: What use is that? Guru: There are many objects we only need one of: thread pools, caches, dialog boxes, objects that handle
More informationCOMP1730/COMP6730 Programming for Scientists. Testing and Debugging.
COMP1730/COMP6730 Programming for Scientists Testing and Debugging. Overview * Testing * Debugging * Defensive Programming Overview of testing * There are many different types of testing - load testing,
More informationThese are notes for the third lecture; if statements and loops.
These are notes for the third lecture; if statements and loops. 1 Yeah, this is going to be the second slide in a lot of lectures. 2 - Dominant language for desktop application development - Most modern
More information3 Continuous Integration 3. Automated system finding bugs is better than people
This presentation is based upon a 3 day course I took from Jared Richardson. The examples and most of the tools presented are Java-centric, but there are equivalent tools for other languages or you can
More information2 Steps Building the Coding and Testing Infrastructure
CSI 333 Prog. HW/SW Interface Projects 5 Spring 2007 Professor Chaiken Simple Recursive Regular Expression Matcher in ASM Due: Oct 23 and Oct 30 (see below) The numbered items specify what will be graded
More informationTest Execution and Automation. CSCE Lecture 15-03/20/2018
Test Execution and Automation CSCE 747 - Lecture 15-03/20/2018 Executing Tests We ve covered many techniques to derive test cases. How do you run them on the program? You could run the code and check results
More informationTest First Software Development
Test First Software Development Jacob Kristhammar Roger Schildmeijer D04, Lund Institute of Technology, Sweden {d04jk d04rp}@student.lth.se 2008-02-06 Abstract In this in-depth study we will try to explain
More informationFunctional Testing (Testování funkčnosti)
Functional Testing (Testování funkčnosti) http://d3s.mff.cuni.cz Pavel Parízek parizek@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Nástroje pro vývoj software Functional
More informationFriendship in Service of Testing
Friendship in Service of Testing Gábor Márton, martongabesz@gmail.com Zoltán Porkoláb, gsd@elte.hu 1 / 47 Agenda Introduction, principals Case study Making the example better Vision 2 / 47 Functional Programming
More informationArray Based Lists. Collections
Array Based Lists Reading: RS Chapter 15 1 Collections Data structures stores elements in a manner that makes it easy for a client to work with the elements Specific collections are specialized for particular
More informationTools for Unit Test - JUnit
Tools for Unit Test - JUnit Conrad Hughes School of Informatics Slides thanks to Stuart Anderson 15 January 2010 Software Testing: Lecture 2 1 JUnit JUnit is a framework for writing tests Written by Erich
More informationJUnit tes)ng. Elisa Turrini
JUnit tes)ng Elisa Turrini Automated Tes)ng Code that isn t tested doesn t work Code that isn t regression tested suffers from code rot (breaks eventually) If it is not automated it is not done! Boring
More informationTopics covered. Introduction to JUnit JUnit: Hands-on session Introduction to Mockito Mockito: Hands-on session. JUnit & Mockito 2
JUnit & Mockito 1 Topics covered Introduction to JUnit JUnit: Hands-on session Introduction to Mockito Mockito: Hands-on session JUnit & Mockito 2 Introduction to JUnit JUnit & Mockito 3 What is JUnit?
More informationPieter van den Hombergh Stefan Sobek. April 18, 2018
Pieter van den Hombergh Stefan Sobek Fontys Hogeschool voor Techniek en Logistiek April 18, 2018 /FHTenL April 18, 2018 1/13 To mock or not to mock In many cases, a class (system under test or SUT) does
More informationTesters can write good code too. Corina
Testers can write good code too Corina Pip https://iamalittletester.wordpress.com/ Twitter: Blog: https://iamalittletester.wordpress.com/ Travel blog: https://travelwithcori.wordpress.com/ Photos: https://www.flickr.com/photos/capreoara
More informationJava Programming Training for Experienced Programmers (5 Days)
www.peaklearningllc.com Java Programming Training for Experienced Programmers (5 Days) This Java training course is intended for students with experience in a procedural or objectoriented language. It
More informationAnnotations in Java (JUnit)
Annotations in Java (JUnit) Produced by: Eamonn de Leastar (edeleastar@wit.ie) Dr. Siobhán Drohan (sdrohan@wit.ie) Department of Computing and Mathematics http://www.wit.ie/ What are Annotations? They
More informationThe one bit everyone forgets: with JUnit. John Stegeman Xchanging
The one bit everyone forgets: Testing your ADF application with JUnit http://groups.google.com/group/adf-methodology ADF EMG A place to discuss best practices and methodologies for JDeveloper ADF enterprise
More informationComp215: Enums / Testing
Comp215: Enums / Testing Dan S. Wallach (Rice University) Copyright 2015, Dan S. Wallach. All rights reserved. edu.rice.regex.namedmatcher You first write something like this: enum TokenType implements
More informationSpock - The Logical Enterprise Testing Tool
NFJS Software Symposium Series 2013 Spock - The Logical Enterprise Testing Tool Ken Sipe About Speaker http://kensipe.blogspot.com/ http://del.icio.us/kensipe twitter: @kensipe ken.sipe@gmail.com Developer:
More informationAll code must follow best practices. Part (but not all) of this is adhering to the following guidelines:
Java Coding Guidelines Version 1.3.2 All code must follow best practices. Part (but not all) of this is adhering to the following guidelines: Development For code development, I recommend the following
More informationAPI Design as if Unit Testing Mattered. Michael Feathers Object Mentor, Inc Miami, FL
API Design as if Unit Testing Mattered Michael Feathers Object Mentor, Inc Miami, FL mfeathers@objectmentor.com Problem: How do you gain control over code? Easy in pure code System Environment What if
More informationCMSC 132: OBJECT-ORIENTED PROGRAMMING II
CMSC 132: OBJECT-ORIENTED PROGRAMMING II Program Testing Department of Computer Science University of Maryland, College Park Debugging Is Harder Than Coding! Debugging is twice as hard as writing the code
More informationTest Driven Development (TDD), and Working with Legacy Code Using C# Workshop ( 4 days)
Test Driven Development (TDD), and Working with Legacy Code Using C# Workshop ( 4 days) HOTEL DUBAI GRAND April 16 to 19-2018 Monday to Thursday ) (4 days) 9 am to 4 pm ISIDUS TECH TEAM FZE PO Box 9798
More informationJUnit Testing Framework Architecture
JUnit Testing Framework Architecture Unit under test (usually a class or a small number of classes) Test environment (fixture) Program state (e.g., some collection of variables/objects that will be used
More informationTools for Unit Test JUnit
Tools for Unit Test JUnit Stuart Anderson JUnit is a framework for writing tests JUnit 1 Written by Erich Gamma (Design Patterns) and Kent Beck (extreme Programming) JUnit uses Java s reflection capabilities
More informationTesting with JUnit 1
Testing with JUnit 1 What are we doing here? Learning the mechanics of how to write tests in Java using JUnit Without considering issues like coverage Using JUnit is sometimes called unit testing Unit
More informationCSE 143. Computer Programming II
Adam Blank Lecture 17 Winter 2015 CSE 143 Computer Programming II CSE 143: Computer Programming II Recursive Backtracking Recursive Backtracking Outline 1 Sentence Splitter 2 Playing With Boolean Expressions
More informationCSE 142/143 Unofficial Commenting Guide Eric Arendt, Alyssa Harding, Melissa Winstanley
CSE 142/143 Unofficial Commenting Guide Eric Arendt, Alyssa Harding, Melissa Winstanley In Brief: What You Need to Know to Comment Methods in CSE 143 Audience o A random person you don t know who wants
More information15-498: Distributed Systems Project #1: Design and Implementation of a RMI Facility for Java
15-498: Distributed Systems Project #1: Design and Implementation of a RMI Facility for Java Dates of Interest Assigned: During class, Friday, January 26, 2007 Due: 11:59PM, Friday, February 13, 2007 Credits
More informationCSE 403 Lecture 16. Continuous Integration; Integration Testing. Reading:
CSE 403 Lecture 16 Continuous Integration; Integration Testing Reading: Continuous Integration (Fowler) The Art of Unit Testing, Ch. 1, 3, 4-5 (Osherove) Code Complete, Ch. 29 (McConnell) slides created
More informationRails + Legacy Databases Brian Hogan - RailsConf 2009 twitter: bphogan IRC: hoganbp
Rails + Legacy Databases Brian Hogan - RailsConf 2009 twitter: bphogan IRC: hoganbp So the main thing I want you to take away from this talk is... Please don t do it! Questions? Just kidding. The point
More informationAnders Fröberg TDDD80 STORAGE AND TESTING
Anders Fröberg anders.froberg@liu.se TDDD80 STORAGE AND TESTING 1 Agenda: Test Unit testing vs Traditional Testing Debugging and Refactoring Deployment (Test Driven Development (TDD)) (Acceptance Test
More informationConstruction: High quality code for programming in the large
Construction: High quality code for programming in the large Paul Jackson School of Informatics University of Edinburgh What is high quality code? High quality code does what it is supposed to do......
More information16.410: Jump Starting With Java
16.410: Jump Starting With Java by Robert Effinger and Shannon Dong Introduction This jumpstart shows you the basics of getting Java started, running simple programs, and simple editing and debugging.
More informationCS 112 Introduction to Computing II. Wayne Snyder Computer Science Department Boston University
CS 112 Introduction to Computing II Wayne Snyder Department Boston University Today: Java expressions and operators concluded Java Statements: Conditionals: if/then, if/then/else Loops: while, for Next
More informationFramework for Enhancing the Performance of Unit Testing in Java Based Projects
Framework for Enhancing the Performance of Unit Testing in Java Based Projects Thesis submitted in partial fulfillment of the requirements for the award of degree of Master of Engineering in Computer Science
More informationSTQA Mini Project No. 1
STQA Mini Project No. 1 R (2) C (4) V (2) T (2) Total (10) Dated Sign 1.1 Title Mini-Project 1: Create a small application by selecting relevant system environment/ platform and programming languages.
More informationCS201 - Assignment 3, Part 2 Due: Wednesday March 5, at the beginning of class
CS201 - Assignment 3, Part 2 Due: Wednesday March 5, at the beginning of class For this assignment we will be developing a text-based Tic Tac Toe game 1. The key to this assignment is that we re going
More informationWhat is it? CMSC 433 Programming Language Technologies and Paradigms Spring Approach 1. Disadvantage of Approach 1
CMSC 433 Programming Language Technologies and Paradigms Spring 2007 Singleton Pattern Mar. 13, 2007 What is it? If you need to make sure that there can be one and only one instance of a class. For example,
More informationWant Better Software? TEST it! (and thenwrite it) Tame defects before they appear You Rise/Bugs Fall
Want Better Software? TEST it! (and thenwrite it) Tame defects before they appear You Rise/Bugs Fall Introduction TDD had its origins as an integral part of Extreme Programming TDD, BDD, DDD and the coming
More informationPhake - PHP Mocking Framework Documentation
Phake - PHP Mocking Framework Documentation Release 1.0.3 Mike Lively Sep 06, 2017 Contents 1 Introduction to Phake 1 2 Getting Started 5 2.1 Composer Install.............................................
More informationEECS 280 C++ Coding Standards
EECS 280 C++ Coding Standards The goal of coding standards is to make code easier to understand and maintain. Refer to these guidelines as you are writing code, not just at the end, to develop good coding
More informationComputer Science 210 Data Structures Siena College Fall Topic Notes: Complexity and Asymptotic Analysis
Computer Science 210 Data Structures Siena College Fall 2017 Topic Notes: Complexity and Asymptotic Analysis Consider the abstract data type, the Vector or ArrayList. This structure affords us the opportunity
More informationMock Objects and Distributed Testing
Mock Objects and Distributed Testing Making a Mockery of your Software Brian Gilstrap Once, said the Mock Turtle at last, with a deep sigh, I was a real Turtle. (Alice In Wonderland, Lewis Carroll) The
More informationEffective Testing with API Simulation and (Micro)Service Virtualisation
Effective Testing with API Simulation and (Micro)Service Virtualisation Andrew Morgan Daniel Bryant @Spectolabs 1 tl;dr Testing distributed systems is hard Many of us building distributed systems (microservices)
More informationOverview. Iteration 4 kinds of loops. Infinite Loops. for while do while foreach
Repetition Overview Iteration 4 kinds of loops for while do while foreach Infinite Loops Iteration One thing that computers do well is repeat commands Programmers use loops to accomplish this 4 kinds of
More informationUnit Testing J2EE from JRuby. Evan Light
Unit Testing J2EE from JRuby Evan Light http://evan.tiggerpalace.com Who I am Professional developer since 1996 Java since 1999 J2EE since 2000 Ruby since 2006 Some yutz with Keynote and a remote control
More informationTEST DRIVEN DEVELOPMENT
PERSONAL SOFTWARE ENGINEERING PROJECT: TEST DRIVEN DEVELOPMENT Kirsi Männistö kirsi.mannisto@welho.com 60114V PSEA_Test_driven_development.rtf Page 1 of 1 RoadRunners Change history Version Description
More informationWeek 7. Statically-typed OO languages: C++ Closer look at subtyping
C++ & Subtyping Week 7 Statically-typed OO languages: C++ Closer look at subtyping Why talk about C++? C++ is an OO extension of C Efficiency and flexibility from C OO program organization from Simula
More informationManaging Complexity. Programming is more than just syntax. 23-Nov-15
Managing Complexity Programming is more than just syntax 23-Nov-15 Learning things that matter Things change rapidly in computer science Languages go in and out of popularity, operating systems change,
More informationStage 11 Array Practice With. Zip Code Encoding
A Review of Strings You should now be proficient at using strings, but, as usual, there are a few more details you should know. First, remember these facts about strings: Array Practice With Strings are
More informationAdvanced Java Testing. What s next?
Advanced Java Testing What s next? Vincent Massol, February 2018 Agenda Context & Current status quo Coverage testing Testing for backward compatibility Mutation testing Environment testing Context: XWiki
More information2/12/17. Goals of this Lecture. Historical context Princeton University Computer Science 217: Introduction to Programming Systems
Princeton University Computer Science 217: Introduction to Programming Systems The C Programming Language Part 1 For Your Amusement C is quirky, flawed, and an enormous success. While accidents of history
More information