Software Development Practices in Project X
|
|
|
- Edmund Smith
- 9 years ago
- Views:
Transcription
1 Software Development Practices in Project X Todd A. Oliver [email protected] Aerospace Computational Design Lab Massachusetts Institute of Technology April 8, 2005 PX Development Stratagies 1/23
2 Overview Project X (PX) research and software goals Introduction to extreme programming Continuous integration PX build tools PX testing tools Conclusions and future work PX Development Stratagies 2/23
3 Project X Introduction Team Goal: To improve the aerothermal design process for complex 3D configurations by significantly reducing the time from geometry to solution at engineering-required accuracy using high-order adaptive methods Students Garrett Barter (shock capturing) Tan Bui (unsteady aero/structures) Shannon Cheng (plasma physics) Krzysztof Fidkowski (hp adaptation) James Lu (optimization and adaptation) Todd Oliver (turbulence) Mike Park (meshing/adaptation) Peter Whitney (aeroacoustics) Advisors David Darmofal Robert Haimes Jaime Peraire Karen Wilcox PX Development Stratagies 3/23
4 Goals for Software Development Practices Efficient code development Accomplish research goals as fast as possible Flexible and lightweight Little up front design required Difficult to generate specific software design and long-term plan in research setting Readable code Readable code serves as its own documentation Easier to maintain Test as much code as possible as often as possible Minimize debugging time Integrate as often as possible Avoid code integration nightmares PX Development Stratagies 4/23
5 Extreme Programming Extreme programming (XP) developed by Beck, Cunningham, and Jeffries in mid-1990s Kent Beck, Extreme Programming Explained: Embrace Change, 2000 Agile software development methodology based on four values: Communication, simplicity, feedback, courage Consists of twelve core practices: Sustainable pace, metaphor, coding standards Collective ownership, continuous integration, small releases Test-driven development, refactoring, simple design Pair programming, on-site customer, planning game PX Development Stratagies 5/23
6 XP in Scientific Computing Wood and Kleb applied XP to development of advection-diffusion solver in Ruby Wood and Kleb, Extreme Programming in a Research Environment, 2002 FAAST program at NASA Langley has incorporated XP methods into development approach Kleb et al., Collaborative Software Development in Support of Fast Adaptive AeroSpace Tools (FAAST), PX Development Stratagies 6/23
7 XP in PX Metaphor: High-order DGFEM, CFD jargon p, q, ρ, ρu, etc. Coding standard: Virtually universal header comment conventions and some standard notations, but still lacking Collective ownership: No restrictions on who can modify what, but low truck number Test-driven development: Unit testing framework recently became available, but use not widespread yet Refactoring: Performed, but typically only to improve speed or when blatantly necessary Pair programming: Used infrequently Continuous Integration: All executables are built and entire test suite run after every CVS commit PX Development Stratagies 7/23
8 Concurrent Versions System (CVS) Integration begins with software versioning system (in our case CVS) All source files stored on CVS repository All differences between versions of file also stored can always revert to old version if necessary Developers checkout the code from the repository and commit changes CVS merges changes into code Bottom line: CVS allows multiple developers to work on same code with very little chance of overwriting each other s changes or making conflicting changes. PX Development Stratagies 8/23
9 Continuous Integration Overview Developer commits change Log fail on website and send Fail Wait 5 min without new commits Pass Is the build already running? No Run the PX build and test procedure Pass Log success on website Fail (reset clock) Yes When notified Wait until current build and test finishes Notify when finished PX Development Stratagies 9/23
10 Build and Test What happens inside the build and test? Executables built Unit tests run Acceptance tests run Tools required: Build utilities (Autoconf and Automake) Unit testing framework (CuTest and PXUnit) Acceptance testing framework (runtests) PX Development Stratagies 10/23
11 Autoconf Autoconf is a tool for producing shell scripts that automatically configure software source code packages to adapt to many kinds of UNIX-like systems. GNU Autoconf Manual Developer supplies configure.ac file configure.ac contains sequence of calls to Autoconf macros, for example, AC_PROG_CC determines a C compiler to use AC_PATH_X locates X header files and libraries Running autoconf produces configure Once created configure does not depend on Autoconf PX Development Stratagies 11/23
12 Configure configure determines features of build environment, including System type (linux, cygwin, etc) Selects compilers (gcc, g77, mpicc, etc) Probes for necessary system libraries (X11, mpich, etc) Probes for necessary system headers (stdlib.h, string.h, etc) configure sets variables based on environment it finds Allows creation of portable Makefiles Creates Makefile from Makefile.in Where does the Makefile.in come from? You or... PX Development Stratagies 12/23
13 Automake Automake is a tool for automatically generating Makefile.ins from files called Makefile.am. Each Makefile.am is basically a series of make variable definitions, with rules being thrown in occasionally. GNU Automake Manual Developer supplies Makefile.ams that are converted to Makefile.ins by running automake or make dist What is make dist? Automake supplied target that creates tarball for distribution Tarball contains configure and machine independent Makefile.ins Automake also supplies other standard targets install, clean, check,... PX Development Stratagies 13/23
14 Makefile.am Example # -*- Makefile -*- if HAVE_MPI bin_programs = PXRunSolver2d PXRunParallel2d else bin_programs = PXRunSolver2d endif PXRunSolver2d_CFLAGS = -DDIM=2 -I$(top_srcdir)/include PXRunSolver2d_SOURCES = PXRunSolver.c PXRunSolver2d_LDADD = libpx2d.a libpx.a if HAVE_MPI PXRunParallel2d_CFLAGS = -DDIM=2 -DPAR=1 -I$(top_srcdir)/include PXRunParallel2d_SOURCES = PXRunSolver.c PXRunParallel2d_LDADD = libpxpar2d.a libpx.a endif PX Development Stratagies 14/23
15 Unit Testing Unit tests excercise small pieces of code in isolation from each other and the application as a whole Most easily applied to low level functions Flux calculation, viscosity calculation Useful for medium level functions if low level functions adequately tested Calculation of inviscid Galerkin residual Not applicable to highest level functions Line solver To make unit testing practical, need a unit testing framework For list of unit testing frameworks see PX Development Stratagies 15/23
16 CuTest CuTest is a C unit testing framework written by Asim Jalis CuTest provides Assert functions (e.g. CuAssertDblEquals, CuAssertStrEquals) Functions for aggregating tests into suites and running test suites Functions for recording and reporting test failures Simplicity only 2 files: CuTest.c and CuTest.h For PX purposes, CuTest drawbacks include Tests are not added to suites automatically CuTest defines structures that are required in testing code PX Development Stratagies 16/23
17 PXUnit Set of C macros and 1 shell script Eliminates CuTest drawbacks for PX developers Automates process of adding tests to suites and producing a main program Eliminates need for PX developers to interact with CuTest data structures No knowledge of CuTest required to write unit tests in PX Writes unit test Translates to CuTest Developer PXUnit CuTest Runs test and reports pass/fail to developer PX Development Stratagies 17/23
18 Unit Test Example PX_TEST( TestStaticTemperatureTrivial ){ int ierr; PX_REAL params[6] = {1.4, 1.0, 1.0, 1.0, 1.0, 1.0}; PX_REAL T; #if( SA_TURB == 1 ) PX_REAL U[5], T_U[5]; #else PX_REAL U[4], T_U[4]; #endif U[0] = 1.0; U[1] = 0.0; U[2] = 0.0; U[3] = 2.5; #if( SA_TURB == 1 ) U[4] = 1.0; #endif } ierr = PXError( PXStaticTemperature(U, params, &T, T_U) ); PXAssertIntEquals( PX_NO_ERROR, ierr ); PXAssertDblEquals( 1.0, T); PX Development Stratagies 18/23
19 Acceptance Testing Regression tests: Ensure code produces same answer as yesterday Verification tests: Ensure code produces expected order of accuracy Validation tests: Ensure code results match experimental data or analytic exact solution Only automated acceptance tests currently in PX are regression tests Regression tests controlled by two shell scripts jobtest.csh: Runs single test and reports pass/fail runtests.csh: Runs all tests and reports total number or errors Change in any output quantity (e.g. residual, force, adjoint residual, etc) of greater than 1e-13 causes failure PX Development Stratagies 19/23
20 Build and Test cvs co projectx Pass configure Pass make check (build and Pass make install Pass unit tests) runtests (acceptance tests) Fail Fail Fail Fail Fail Report failure Pass Report success PX Development Stratagies 20/23
21 Conclusions Shown that agile software development philosophy applicable in scientific computing environment Developed continuous integration procedure for use in Project X Developed build and test procedure to check code after every modification Features of the build and test procedure include: Build of all executables and libraries in Project X 214 unit tests 17 acceptance (regression) tests PX Development Stratagies 21/23
22 Possible Improvements Enforce more rigorous coding standard Expand unit test coverage and use of test-driven development Extend build and test to run automatically on multiple architectures PX Development Stratagies 22/23
23 Acknowledgments Prof. David Darmofal Garrett Barter Chris Fidkowski Mike Park PX Team PX Development Stratagies 23/23
Developing Platform Independent Software using the AutoTool Suite
Developing Platform Independent Software using the AutoTool Suite Jason But Outline Why develop Platform Independent code From the users perspective From the developers perspective The Autotools Suite
CSE 435 Software Engineering. Sept 16, 2015
CSE 435 Software Engineering Sept 16, 2015 2.1 The Meaning of Process A process: a series of steps involving activities, constraints, and resources that produce an intended output of some kind A process
Rapid software development. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1
Rapid software development Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 17 Slide 1 Objectives To explain how an iterative, incremental development process leads to faster delivery of
Introduction to extreme Programming (XP)
Introduction to extreme Programming (XP) Extreme Programming (XP) Kent Beck C3 Project Chrysler Comprehensive Compensation system. XP Values: Communication Courage Feedback Simplicity Established the Twelve
Rapid Software Development
Software Engineering Rapid Software Development Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain how an iterative, incremental development process leads to faster delivery
Ingegneria del Software Corso di Laurea in Informatica per il Management. Agile software development
Ingegneria del Software Corso di Laurea in Informatica per il Management Agile software development Davide Rossi Dipartimento di Informatica Università di Bologna The problem Efficiency: too much effort
Agile processes. Extreme Programming, an agile software development process. Extreme Programming. Risk: The Basic Problem
Agile processes Extreme Programming, an agile software development process Perdita Stevens School of Informatics University of Edinburgh What the spiral models were reaching towards was that software development
Topics covered. Agile methods Plan-driven and agile development Extreme programming Agile project management Scaling agile methods
Topics covered Chapter 3 Agile Software Development Agile methods Plan-driven and agile Extreme programming Agile project management Scaling agile methods 1 2 Need for rapid software Rapid software Changing
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
Extreme Programming, an agile software development process
Extreme Programming, an agile software development process Nigel Goddard School of Informatics University of Edinburgh Recall: Waterfall and Spiral Models Waterfall: Spiral: Split project into controlled
Agile processes. Extreme Programming, an agile software development process
Agile processes Extreme Programming, an agile software development process Nigel Goddard School of Informatics University of Edinburgh What the spiral models were reaching towards was that software development
EXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT
EXTREME PROGRAMMING AGILE METHOD USED IN PROJECT MANAGEMENT Cruceru Anca Romanian- American University, Faculty of Management- Marketing, 1B Expozitiei Blvd, Bucharest, [email protected], 0723508894
Introduction to Agile Software Development. EECS 690 Agile Software Development
Introduction to Agile Software Development EECS 690 Agile Software Development Agenda Research Consent Forms Problem with Software Engineering Motivation for Agile Methods Agile Manifesto Principles into
Agile So)ware Development
Software Engineering Agile So)ware Development 1 Rapid software development Rapid development and delivery is now often the most important requirement for software systems Businesses operate in a fast
Introduction. Motivational Principles. An Introduction to extreme Programming. Jonathan I. Maletic, Ph.D.
An Introduction to extreme Programming Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University Introduction Extreme Programming (XP) is a (very) lightweight incremental software
FUN3D v12.4 Training Session 7: Code Development
FUN3D v12.4 Training Session 7: Code Development Mike Park 1 Motivation Development of NASA Langley CFD solvers was traditionally lead by one or two people Resulted in tools that are vulnerable to the
Extreme Programming, an agile software development process
Extreme Programming, an agile software development process Paul Jackson School of Informatics University of Edinburgh Recall: Waterfall and Spiral Models Waterfall: Spiral: Split project into controlled
Xtreme RUP. Ne t BJECTIVES. Lightening Up the Rational Unified Process. 2/9/2001 Copyright 2001 Net Objectives 1. Agenda
Xtreme RUP by Ne t BJECTIVES Lightening Up the Rational Unified Process 2/9/2001 Copyright 2001 Net Objectives 1 RUP Overview Agenda Typical RUP Challenges Xtreme Programming Paradigm Document driven or
Contents. 3 Agile Modelling 31 3.1 Introduction 31 3.2 Modelling Misconceptions 31
Contents 1 Introduction 1 1.1 WhyThisBook? 1 1.2 A Bit of History 1 1.3 What Is Agile Software Development? 2 1.4 WhyBe Agile? 3 1.5 What This Book Is About? 3 1.6 Implementation Languages 3 1.7 The Structure
SOE. managing change in system development projects: configuration management
SOE managing change in system development projects: configuration management 2 3 understanding the problem of change change is one of the most fundamental characteristics in any software development process
Software development. Outline. Outline. Version control. Version control. Several users work on a same project. Collaborative software development
Software development Groupware and Collaborative Interaction Collaborative Software Development M2R Interaction - Université Paris-Sud - Année 2013-2014 Cédric Fleury ([email protected]) Several users
Development Techniques. CSE301 University of Sunderland Harry R. Erwin, PhD
Development Techniques CSE301 University of Sunderland Harry R. Erwin, PhD Sources Boehm, 1981, Software Engineering Economics, Prentice- Hall. Stephens and Rosenberg, 2003, Extreme Programming Refactored:
In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:
In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: The period of time that starts when a software product is conceived and ends when the product is no longer
Continuous Integration, Delivery and Deployment. Eero Laukkanen T-76.5613 - Software Testing and Quality Assurance P 20.11.2015
Continuous Integration, Delivery and Deployment Eero Laukkanen T-76.5613 - Software Testing and Quality Assurance P 20.11.2015 System Integration In engineering, system integration is defined as the process
How To Model In An Agile World
Modelling in an Agile World John Daniels Fastnloose Limited www.fastnloose.com John Daniels Co-founder of Fastnloose Ltd Software development by dispersed teams Co-author of UML Components & Designing
CSSE 372 Software Project Management: More Agile Project Management
CSSE 372 Software Project Management: More Agile Project Management Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: [email protected] Learning Outcomes: Plan Create a plan for
Continuous Integration: Aspects in Automation and Configuration Management
Context Continuous Integration: Aspects in and Configuration Management Christian Rehn TU Kaiserslautern January 9, 2012 1 / 34 Overview Context 1 Context 2 3 4 2 / 34 Questions Context How to do integration
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
Continuous Integration: Improving Software Quality and Reducing Risk. Preetam Palwe Aftek Limited
Continuous Integration: Improving Software Quality and Reducing Risk Preetam Palwe Aftek Limited One more title Do you love bugs? Or Are you in love with QC members? [Courtesy: Smita N] Agenda Motivation
Barely Sufficient Software Engineering: 10 Practices to Improve Your Research CSE Software
Barely Sufficient Software Engineering: 10 Practices to Improve Your Research CSE Software Special Thanks: LDRD NNSA ASC SAND#: 2009-0579 C Michael A. Heroux James M. Willenbring Sandia National Laboratories
Extreme Programming: Strengths and Weaknesses
The International Arab Conference on Information Technology (ACIT 2013) Extreme Programming: Strengths and Weaknesses Ahmad dalalah Prep. Year Deanship University of Hail, SA [email protected] Abstract:
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
Version Control! Scenarios, Working with Git!
Version Control! Scenarios, Working with Git!! Scenario 1! You finished the assignment at home! VC 2 Scenario 1b! You finished the assignment at home! You get to York to submit and realize you did not
Extreme Programming. Sergey Konovalov and Stefan Misslinger. May 23, 2006
Extreme Programming Sergey Konovalov and Stefan Misslinger May 23, 2006 1 Contents 1 Introduction 3 2 Why do we need XP? 3 3 Economics of Software Development 4 4 Extreme Programming Values 4 5 Extreme
CMMI - The AGILE Way By Hitesh Sanghavi
CMMI - The AGILE Way By Hitesh Sanghavi 1 The Maturity Levels 5 Focus on process improvement Optimizing 3 4 2 Process measured and controlled Process characterized for the organization and is proactive
Life Cycle Models. V. Paúl Pauca. CSC 331-631 Fall 2013. Department of Computer Science Wake Forest University. Object Oriented Software Engineering
Life Cycle Models V. Paúl Pauca Department of Computer Science Wake Forest University CSC 331-631 Fall 2013 Software Life Cycle The overall framework in which software is conceived, developed, and maintained.
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
Agile and Secure: Can We Be Both?
Agile and Secure: Can We Be Both? OWASP AppSec Seattle Oct 2006 Keith Landrus Director of Technology Denim Group Ltd. [email protected] (210) 572-4400 Copyright 2006 - The OWASP Foundation Permission
Selecting a Software Development Methodology based on. Organizational Characteristics. Adrienne Farrell
ATHABASCA UNIVERSITY Selecting a Software Development Methodology based on Organizational Characteristics BY Adrienne Farrell An essay submitted in partial fulfillment Of the requirements for the degree
Agile.NET Development Test-driven Development using NUnit
Agile.NET Development Test-driven Development using NUnit Jason Gorman Test-driven Development Drive the design and construction of your code on unit test at a time Write a test that the system currently
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
Efficient Automated Build and Deployment Framework with Parallel Process
Efficient Automated Build and Deployment Framework with Parallel Process Prachee Kamboj 1, Lincy Mathews 2 Information Science and engineering Department, M. S. Ramaiah Institute of Technology, Bangalore,
Software Configuration Management Practices for extreme Programming Teams
Software Configuration Management Practices for extreme Programming Teams Ulf Asklund, Lars Bendix, Torbjörn Ekman {ulf bendix torbjorn}@cs.lth.se Department of Computer Science Lund Institute of Technology
Agile QA s Revolutionary Impact on Project Management
Agile QA s Revolutionary Impact on Project Management Introduction & Agenda Rachele Maurer Agile Coach, Platinum Edge Inc. PMP, CSM, PMI-ACP Agenda A quick overview of agile Current QA practices QA using
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
INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal
INTERNATIONAL JOURNAL OF ADVANCES IN COMPUTING AND INFORMATION TECHNOLOGY An International online open access peer reviewed journal Research Article ISSN 2277 9140 ABSTRACT Analysis and tabular comparison
Co-Presented by Mr. Bill Rinko-Gay and Dr. Constantin Stanca 9/28/2011
QAI /QAAM 2011 Conference Proven Practices For Managing and Testing IT Projects Co-Presented by Mr. Bill Rinko-Gay and Dr. Constantin Stanca 9/28/2011 Format This presentation is a journey When Bill and
Chapter 13: Program Development and Programming Languages
Understanding Computers Today and Tomorrow 12 th Edition Chapter 13: Program Development and Programming Languages Learning Objectives Understand the differences between structured programming, object-oriented
Introduction to Agile Software Development Process. Software Development Life Cycles
Introduction to Agile Software Development Process Presenter: Soontarin W. (Senior Software Process Specialist) Date: 24 November 2010 AGENDA Software Development Life Cycles Waterfall Model Iterative
Deep Agile Blending Scrum and Extreme Programming. Jeff Sutherland Ron Jeffries
Deep Agile Blending Scrum and Extreme Programming Jeff Sutherland Ron Jeffries Separation of XP and Scrum Methods * Largely Historical * XP chose to write more down * XP programmer focus * Successful Scrum
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
Large Scale Systems Design G52LSS
G52LSS Lecture 3 Rapid and Agile Development Rapid Application Development Prototyping CASE Tools Agile Development Extreme Programming Learning outcomes: describe main features of methods for RAD and
History of Agile Methods
Agile Development Methods: Philosophy and Practice CPSC 315 Programming Studio Fall 2010 History of Agile Methods Particularly in 1990s, some developers reacted against traditional heavyweight software
Test Driven Development with Continuous Integration: A Literature Review
Test Driven Development with Continuous Integration: A Literature Review Sheikh Fahad Ahmad Deptt. of Computer Science & Engg. Mohd. Rizwan Beg Deptt. of Computer Science & Engg. Mohd. Haleem Deptt. of
Agile Development and Testing Practices highlighted by the case studies as being particularly valuable from a software quality perspective
Agile Development and Testing Practices highlighted by the case studies as being particularly valuable from a software quality perspective Iteration Advantages: bringing testing into the development life
In depth study - Dev teams tooling
In depth study - Dev teams tooling Max Åberg mat09mab@ Jacob Burenstam Linder ada09jbu@ Desired feedback Structure of paper Problem description Inconsistencies git story explanation 1 Introduction Hypotheses
Agile Models. Software Engineering 2004-2005. Marco Scotto ([email protected]) Software Engineering
Agile Models 2004-2005 Marco Scotto ([email protected]) Content Introduction Tame projects & wicked projects Win-Win Spiral software development model XP software development process Enforcing the
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.
Software Development Management. Mathieu Lacage - DREAM
1 Software Development Management Mathieu Lacage - DREAM 2 Facts Every piece of software is damn horrible. It is: hard to use buggy late hard to build There is a silver bullet to solve these problems.
Towards Software Configuration Management for Test-Driven Development
Towards Software Configuration Management for Test-Driven Development Tammo Freese OFFIS, Escherweg 2, 26121 Oldenburg, Germany [email protected] Abstract. Test-Driven Development is a technique where
What Does Large Mean? Copyright 2003 by N. Josuttis and J. Eckstein 3. Why is Large an Issue?
Skalierung von agilen Prozessen Ein Erfahrungsbericht OOP 2003 Jutta Eckstein Nicolai Josuttis This Talk is About Agility Large Experience Success Copyright 2003 by N. Josuttis and J. Eckstein 2 1 What
ISTQB Certified Tester. Foundation Level. Sample Exam 1
ISTQB Certified Tester Foundation Level Version 2015 American Copyright Notice This document may be copied in its entirety, or extracts made, if the source is acknowledged. #1 When test cases are designed
Developing Software in a Private workspace - 4.01 PM PMS
SBCH06.fm Page 67 Friday, October 4, 2002 4:01 PM 6 Private Workspace A government clerk s room, showing a desk with books, telephone and directory, and a desk lamp on it. Washington, D.C., 1939. Photo
using version control in system administration
LUKE KANIES using version control in system administration Luke Kanies runs Reductive Labs (http://reductivelabs.com), a startup producing OSS software for centralized, automated server administration.
Computer programs (both source and executable) Documentation (both technical and user) Data (contained within the program or external to it)
CHAPTER 27 CHANGE MANAGEMENT Overview Changes are inevitable when software is built. A primary goal of software engineering is to improve the ease with which changes can be made to software. Configuration
GNU Automake. For version 1.15, 31 December 2014. David MacKenzie Tom Tromey Alexandre Duret-Lutz Ralf Wildenhues Stefano Lattarini
GNU Automake For version 1.15, 31 December 2014 David MacKenzie Tom Tromey Alexandre Duret-Lutz Ralf Wildenhues Stefano Lattarini This manual is for GNU Automake (version 1.15, 31 December 2014), a program
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
Agile Software Development Methodologies and Its Quality Assurance
Agile Software Development Methodologies and Its Quality Assurance Aslin Jenila.P.S Assistant Professor, Hindustan University, Chennai Abstract: Agility, with regard to software development, can be expressed
Comparing Agile Software Processes Based on the Software Development Project Requirements
CIMCA 2008, IAWTIC 2008, and ISE 2008 Comparing Agile Software Processes Based on the Software Development Project Requirements Malik Qasaimeh, Hossein Mehrfard, Abdelwahab Hamou-Lhadj Department of Electrical
C3.8 CRM wing/body Case
C3.8 CRM wing/body Case 1. Code description XFlow is a high-order discontinuous Galerkin (DG) finite element solver written in ANSI C, intended to be run on Linux-type platforms. Relevant supported equation
http://www.cisjournal.org Enhancement of XP for Cloud Application Development Sara Tariq, Muhammad Mohsin Nazir, Farhat Saleemi
Enhancement of XP for Cloud Application Development Sara Tariq, Muhammad Mohsin Nazir, Farhat Saleemi Dept. of Computer Science, LCW University Lahore Pakistan Email: [email protected] ABSTRACT The
CMPT 373 Software Development Methods. Building Software. Nick Sumner [email protected] Some materials from Shlomi Fish & Kitware
CMPT 373 Software Development Methods Building Software Nick Sumner [email protected] Some materials from Shlomi Fish & Kitware What does it mean to build software? How many of you know how to build software?
Software Engineering Principles The TriBITS Lifecycle Model. Mike Heroux Ross Bartlett (ORNL) Jim Willenbring (SNL)
Software Engineering Principles The TriBITS Lifecycle Model Mike Heroux Ross Bartlett (ORNL) Jim Willenbring (SNL) TriBITS Lifecycle Model 1.0 Document Motivation for the TriBITS Lifecycle Model Overview
XP and TDD. Extreme Programming and Test Driven Development. Bertrand Meyer, Manuel Oriol Andreas Leitner. Chair of Software Engineering ETH Zurich
XP and TDD Extreme Programming and Test Driven Development Bertrand Meyer, Manuel Oriol Andreas Leitner ETH Zurich October 27, 2006 Outline Development Processes Overview Extreme Programming Test Driven
a new generation software test automation framework - CIVIM
a new generation software test automation framework - CIVIM Software Testing is the last phase in software development lifecycle which has high impact on the quality of the final product delivered to the
Software Life Cycles and Configuration Management
Theory Lecture Plan 2 Software Configuration Lecture 11 Software Engineering TDDC88/TDDC93 autumn 2008 Department of Computer and Information Science Linköping University, Sweden L1 - Course Introduction
An Introduction to Extreme Programming
An Introduction to Extreme Programming Ken Auer [email protected] http://www.rolemodelsoft.com RoleModel Software, Inc. 5004 Rossmore Dr. Fuquay-Varina, NC 27526 919-557-6352 Page 1 The Joy of Software
Expert PHP 5 Tools. Proven enterprise development tools and best practices for designing, coding, testing, and deploying PHP applications.
Expert PHP 5 Tools Proven enterprise development tools and best practices for designing, coding, testing, and deploying PHP applications Dirk Merkel PUBLISHING -J BIRMINGHAM - MUMBAI Preface Chapter 1:
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.
Human Aspects of Software Engineering: The Case of Extreme Programming
1 Human Aspects of Software Engineering: The Case of Extreme Programming Orit Hazzan 1 and Jim Tomayko 2 1 Department of Education in Technology and Science, Technion - IIT, Haifa 32000, Israel [email protected]
Benefits of Test Automation for Agile Testing
Benefits of Test Automation for Agile Testing Manu GV 1, Namratha M 2, Pradeep 3 1 Technical Lead-Testing Calsoft Labs, Bangalore, India 2 Assistant Professor, BMSCE, Bangalore, India 3 Software Engineer,
Software Configuration Management Best Practices for Continuous Integration
Software Configuration Management Best Practices for Continuous Integration As Agile software development methodologies become more common and mature, proven best practices in all phases of the software
Agile in Financial Services A Framework in Focus
Agile in Financial Services A Framework in Focus John B. Hudson, B.Sc, PMP, CSM PMI NJ Chapter February 19, 2013 19 Feb 2013 1 Objectives 1. Agile Development an Overview 2. The Agile Enterprise Infrastructure
D25-2. Agile and Scrum Introduction
D25-2 Agile and Scrum Introduction How to Use this Download This download is an overview of a discussion Intertech has with clients on Agile/Scrum This download has an overview of Agile, an overview of
