Test-Driven Development
|
|
|
- Charleen King
- 10 years ago
- Views:
Transcription
1 Test-Driven Development An Introduction Mattias Ståhlberg
2 Debugging sucks. Testing rocks.
3 Contents 1. What is unit testing? 2. What is test-driven development? 3. Example 4. Writing Testable Code 5. Continuous Integration 6. Recommended reading 7. Conclusions
4 What is a Unit Test? A unit is a class or a set of related functions Smallest part that makes sense to test Tests that the unit does what the programmer intended Tests the unit s public interface Written contract that the production code must satisfy Requires an automatic unit testing framework
5 Java Example with public void shouldcalculateaveragespeed() { Track track = new Track(); track.addpoint(0, 0, 0); track.addpoint(0, 1, 1); track.addpoint(1, 1, 2); track.addpoint(1, 0, 3); track.addpoint(0, 0, 4); assertequals(1, track.averagespeed()); public void averagespeedshouldthrowexceptiononzerodistance() { Track track = new Track(); track.averagespeed(); }
6 Advantages of Unit-Tested Code Gives courage to modify and improve (refactor) the code Knowledge that the code works Problems solved early in the development phase Documents the code Little or no need for debugging Reduced need for costly manual testing Saves time and money
7 Properties of Good Unit Tests Descriptive name Readable Focused Isolated Automatic Repeatable Fast
8 Contents 1. What is unit testing? 2. What is test-driven development? 3. Test coverage 4. Visualizing test results 5. Excuses for not testing 6. How to succeed 7. Common pitfalls 8. Recommended reading 9. Conclusion
9 What is Test-Driven Development? Test-driven is more about design than about testing A design method that renders clean, well-tested code Short iterations where unit tests, either for improvements or new functionality, are written first
10 What is Test-Driven Development? (contd.) Can also be applied to other types of tests (e.g. acceptance tests) Does not imply no formal testing Kent Beck: Never write a single line of code unless you have a failing automated test Eliminate duplication
11 Development Cycle 1. Create a new automatic test case 2. Run all tests and watch the new one fail 3. Write production code to make the test pass 4. Run all tests and watch them pass 5. Refactor the code, e.g. eliminate duplicated code 6. Start over Refactor
12 Advantages of Test-Driven Development Interfaces are tried before they exist more mature interfaces More and better tests improved quality Design and code evolved in small steps less risk, less integration problems Less risk to develop functionality that might be needed Less risk to skip testing when time is short Addictive, stimulating, and great fun Regular and frequent positive feedback
13 Test-Driven Bug Fixing 1. Create an automatic test that indicates the existence of the bug 2. Locate the bug 3. Fix the bug Ensures that the automatic tests will detect the problem if it should arise again
14 Contents 1. What is unit testing? 2. What is test-driven development? 3. Example 4. Writing Testable Code 5. Continuous Integration 6. Recommended reading 7. Conclusions
15 Live Demonstration TDD using Eclipse and JUnit
16 Contents 1. What is unit testing? 2. What is test-driven development? 3. Example 4. Writing Testable Code 5. Continuous Integration 6. Recommended reading 7. Conclusions
17 Writing testable code Use dependency injection Inject interfaces Favor object composition over class inheritance Impossible to chose different class hierarchy at testtime but easy to chose different object composition Favor polymorphism over conditional statements Leads to smaller and more focused classes, which are easier to test
18 Writing testable code (contd.) Avoid global state and singletons Cannot be replaced at test-time If you really have to have a singleton: Wrap it in a simple adapter Avoid non-private static method calls Cannot be replaced at test-time Can be wrapped in a simple adapter Strive for small and focused classes with clear responsibilities Test first!
19 Google's guide to testable code Flaw #1: Constructor does Real Work Flaw #2: Digging into Collaborators Flaw #3: Brittle Global State & Singletons Flaw #4: Class Does Too Much
20 Contents 1. What is unit testing? 2. What is test-driven development? 3. Example 4. Writing Testable Code 5. Continuous Integration 6. Recommended reading 7. Conclusions
21 Definition of Continuous Integration A fully automated and reproducible build, including testing, that runs many times a day Martin Fowler (September 2000) A software engineering practice in which isolated changes are immediately tested and reported on when they are added to a larger code base. (July 2008)
22 Continuous Integration Benefits Allows each developer to integrate daily thus reducing integration problems Provides rapid feedback on the health of the software If a defect is introduced into the code base, it can be identified and corrected as soon as possible Enables project visibility at all levels
23 Visualizing Test Results
24 Try it out! Download Hudson from $> java jar hudson.war
25 Contents 1. What is unit testing? 2. What is test-driven development? 3. Example 4. Writing Testable Code 5. Continuous Integration 6. Recommended reading 7. Conclusions
26 Recommended Reading Kent Beck: Test-Driven Development By Example Andy Hunt, Dave Thomas: Pragmatic Unit Testing in Java with Junit Martin Fowler: Refactoring: Improving the Design of Existing Code (also as printed book) Testing on the toilet
27 Contents 1. What is unit testing? 2. What is test-driven development? 3. Example 4. Writing Testable Code 5. Continuous Integration 6. Recommended reading 7. Conclusions
28 Unit testing Gives courage to refactor and improve Eliminates problems early Requires discipline Saves time and money
29 Test-driven development Is a design method Gives better unit tests Renders clean code that works Is great fun
30 Continuous Integration Brings visibility and rapid feedback to the project
JUnit. Introduction to Unit Testing in Java
JUnit Introduction to Unit Testing in Java Testing, 1 2 3 4, Testing What Does a Unit Test Test? The term unit predates the O-O era. Unit natural abstraction unit of an O-O system: class or its instantiated
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
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
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
Code Qualities and Coding Practices
Code Qualities and Coding Practices Practices to Achieve Quality Scott L. Bain and the Net Objectives Agile Practice 13 December 2007 Contents Overview... 3 The Code Quality Practices... 5 Write Tests
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
Java course - IAG0040. Unit testing & Agile Software Development
Java course - IAG0040 Unit testing & Agile Software Development 2011 Unit tests How to be confident that your code works? Why wait for somebody else to test your code? How to provide up-to-date examples
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
Agile Software Development. Venkat Subramaniam [email protected]. Agile Software Development
Agile Software Development Venkat Subramaniam [email protected] Agile Software Development - 1 Agile Software Development State of Software Development Agility Planning Daily Activity Conclusion Agile
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
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
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
Agile Testing and Extreme Programming
Agile Testing and Extreme Programming [email protected] www.pettichord.com March 2003 Copyright 2003 Bret Pettichord. All rights reserved. The Agile Alliance Values We have come to value: Individuals
Intro to scientific programming (with Python) Pietro Berkes, Brandeis University
Intro to scientific programming (with Python) Pietro Berkes, Brandeis University Next 4 lessons: Outline Scientific programming: best practices Classical learning (Hoepfield network) Probabilistic learning
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
Advanced Test-Driven Development
Corporate Technology Advanced Test-Driven Development Software Engineering 2007 Hamburg, Germany Peter Zimmerer Principal Engineer Siemens AG, CT SE 1 Corporate Technology Corporate Research and Technologies
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:
How To Be Successful At An Agile Software Engineering
"Agile Software Engineering" Overview for external offering of ASE ABAP Juergen Heymann, CPO Software Engineering There are many ingredients for successful software projects Experienced Developers Domain
Effective unit testing with JUnit
Effective unit testing with JUnit written by Eric M. Burke [email protected] Copyright 2000, Eric M. Burke and All rights reserved last revised 12 Oct 2000 extreme Testing 1 What is extreme Programming
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
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
Fail early, fail often, succeed sooner!
Fail early, fail often, succeed sooner! Contents Beyond testing Testing levels Testing techniques TDD = fail early Automate testing = fail often Tools for testing Acceptance tests Quality Erja Nikunen
Test Driven Development
Test Driven Development Introduction Test Driven development (TDD) is a fairly recent (post 2000) design approach that originated from the Extreme Programming / Agile Methodologies design communities.
Software Engineering. Top-Down Design. Bottom-Up Design. Software Process. Top-Down vs. Bottom-Up 13/02/2012
CS/ENGRD 2110 Object-Oriented Programming and Data Structures Spring 2012 Thorsten Joachims Lecture 7: Software Design Software Engineering The art by which we start with a problem statement and gradually
CSE 4415 / SWE 5415 Software Testing 2 Fall 2004 Olin Engineering Building, Room 128 Credits: 3.00
CSE 4415 / SWE 5415 Software Testing 2 Fall 2004 Olin Engineering Building, Room 128 Credits: 3.00 SOFTWARE TESTING 2. (Catalog description) Explores structural (glass box) methods for testing software.
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
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
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
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
Code Quality Assurance. Peter Kofler, Code Cop FH Technikum Wien, February 2010
Code Quality Assurance Peter Kofler, Code Cop FH Technikum Wien, February 2010 2 Peter Kofler Ph.D. (Appl. Math.) Professional Software Developer for 11 years Lead Developer at System One fanatic about
Advanced Software Testing
Johan Seland Advanced Software Testing Geilo Winter School 2013 1 Solution Example for the Bowling Game Kata Solution is in the final branch on Github git clone git://github.com/johanseland/bowlinggamekatapy.git
Outline. 1 Denitions. 2 Principles. 4 Implementation and Evaluation. 5 Debugging. 6 References
Outline Computer Science 331 Introduction to Testing of Programs Mike Jacobson Department of Computer Science University of Calgary Lecture #3-4 1 Denitions 2 3 4 Implementation and Evaluation 5 Debugging
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
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
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
Kevin Lee Technical Consultant [email protected]. As part of a normal software build and release process
Agile SCM: Realising Continuous Kevin Lee Technical Consultant [email protected] Agenda What is Continuous? Continuous in Context As part of a normal software build and release process Realising Continuous
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
Distributed Agile Development. Bapiraju Nandury Product Development Manager Bangalore Development Centre
Distributed Agile Development Bapiraju Nandury Product Development Manager Bangalore Development Centre Agenda Distributed / offshore Development Agile Methods Distributed Agile Development Goals of this
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
Methodology: Agile development of safety critical systems Annex D1.1.d to deliverable D1.1
Collaborative Large scale Integrating Project Open Platform for EvolutioNary Certification Of Safety critical Systems Methodology: Agile development of safety critical systems to deliverable D1.1 Work
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
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
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
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
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
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
Test Driven Development
Software Development Best Practices Test Driven Development http://www.construx.com 1999, 2006 Software Builders Inc. All Rights Reserved. Software Development Best Practices Test Driven Development, What
Java: Learning to Program with Robots. Chapter 11: Building Quality Software
Java: Learning to Program with Robots Chapter 11: Building Quality Software Chapter Objectives After studying this chapter, you should be able to: Identify characteristics of quality software, both from
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
Scrum: A disciplined approach to product quality and project success.
Scrum: A disciplined approach to product quality and project success. CQAA February 23, 2011 Patricia Rotman Introductions Copyright 2011-2 Alternate Titles Considered Scrum: Just do it! Scrum: It only
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
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
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
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
Coding in Industry. David Berry Director of Engineering Qualcomm Cambridge Ltd
Coding in Industry David Berry Director of Engineering Qualcomm Cambridge Ltd Agenda Potted history Basic Tools of the Trade Test Driven Development Code Quality Performance Open Source 2 Potted History
Strangling. Legacy Code
Strangling Strangling Legacy Code by Mike Thomas Introduction The dot com boom generated a lot of Web applications that suffered from poor architecture and design. While these applications may function
Igniting young minds through computer programming
Igniting young minds through computer programming igniting young minds W riting computer programs is a challenging, yet extremely satisfying personal experience that develops essential skills in logic,
Applied Software Project Management
Applied Software Project Management Introduction http://www.stellman-greene.com 1 Why do software projects fail? People begin programming before they understand the problem Everyone likes to feel that
Unit testing with JUnit and CPPUnit. Krzysztof Pietroszek [email protected]
Unit testing with JUnit and CPPUnit Krzysztof Pietroszek [email protected] Old-fashioned low-level testing Stepping through a debugger drawbacks: 1. not automatic 2. time-consuming Littering code
Quality Assurance Plan
CloudSizzle : Quality Assurance Plan Quality Assurance Plan General info Changelog 1. Introduction 2. Quality goals and risks 3. Quality Assurance practices 3.1 Testing levels 3.2 Testing - 3.2.1 Test
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
Java Unit testing with JUnit 4.x in Eclipse
Lars Vogel Version 0.2 Copyright 2007 Lars Vogel 30.06.2007 Abstract This article gives a short overview of JUnit 4.x and its usage within Eclipse. You should be able to run tests
Extreme Programming and Embedded Software Development
Extreme Programming and Embedded Software Development By James Grenning Every time I do a project, it seems we don t get the hardware until late in the project. This limits the progress the team can make.
+ Introduction to JUnit. IT323 Software Engineering II By: Mashael Al-Duwais
1 + Introduction to JUnit IT323 Software Engineering II By: Mashael Al-Duwais + What is Unit Testing? 2 A procedure to validate individual units of Source Code Example: A procedure, method or class Validating
Best Practices for Java Projects Horst Rechner
Best Practices for Java Projects Horst Rechner Abstract: The combination of automated builds with module and integration tests and centralized bug and work tracking using a combination of Eclipse, Mylyn,
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
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
Overview. What is software testing? What is unit testing? Why/when to test? What makes a good test? What to test?
Testing CMSC 202 Overview What is software testing? What is unit testing? Why/when to test? What makes a good test? What to test? 2 What is Software Testing? Software testing is any activity aimed at evaluating
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
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)
Continuous Integration For Real: The Perforce Java Platform. Hamish Reid Perforce Software Inc.
Continuous Integration For Real: The Perforce Java Platform Hamish Reid Perforce Software Inc. OVERVIEW What do we mean by Agile? Continuous Integration? Product line highlights: P4Eclipse + Mylin + MergeQuest
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
Your guide to DevOps. Bring developers, IT, and the latest tools together to create a smarter, leaner, more successful coding machine
Your guide to DevOps Bring developers, IT, and the latest tools together to create a smarter, leaner, more successful coding machine Introduction The move to DevOps involves more than new processes and
Integrated Error-Detection Techniques: Find More Bugs in Java Applications
Integrated Error-Detection Techniques: Find More Bugs in Java Applications Software verification techniques such as pattern-based static code analysis, runtime error detection, unit testing, and flow analysis
RUP. Development Process. Iterative Process (spiral) Waterfall Development Process. Agile Development Process. Well-known development processes
Well-known development processes Development Process RUP (Rational Unified Process) (Capability Maturity Model Integration) Agile / XP (extreme Programming) Waterfall Development Process Iterative Process
Chapter 8 Software Testing
Chapter 8 Software Testing Summary 1 Topics covered Development testing Test-driven development Release testing User testing 2 Program testing Testing is intended to show that a program does what it is
How To Write Unit Tests In A Continuous Integration
Continuous Integration [email protected] 1. It works on my machine. Risk 1 Lack of Deployable Software Risk 2 Lack of project visibility 2011 CTG, Inc. 9 2011 CTG, Inc. 10 Risk 3 Low quality
Software Engineering Techniques
Software Engineering Techniques Low level design issues for programming-in-the-large. Software Quality Design by contract Pre- and post conditions Class invariants Ten do Ten do nots Another type of summary
THE THREE ASPECTS OF SOFTWARE QUALITY: FUNCTIONAL, STRUCTURAL, AND PROCESS
David Chappell THE THREE ASPECTS OF SOFTWARE QUALITY: FUNCTIONAL, STRUCTURAL, AND PROCESS Sponsored by Microsoft Corporation Our world runs on software. Every business depends on it, every mobile phone
Agile Testing: The Agile Test Automation Pyramid
Agile Testing: The Agile Test Pyramid In this post, or perhaps truly an article, I want to explore a common approach for implementing an effective strategy for your overall agile automation development.
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.
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
