8. Quality Assurance
|
|
- Geraldine Park
- 6 years ago
- Views:
Transcription
1 8. Quality Assurance Prof. Dr. Dirk Riehle, M.B.A. Friedrich Alexander-University Erlangen-Nürnberg Version of Agile Methods by Dirk Riehle is licensed under a Creative Commons Attribution- ShareAlike 3.0 Unported License. Based on a work at dirkriehle.com.
2 Focus of Quality Assurance Chapter 1 / 2 Good Enough? 2012 Dirk Riehle - All Rights Reserved 2
3 Focus of Quality Assurance Chapter 2 / 2 Scope Time Quality Cost 2012 Dirk Riehle - All Rights Reserved 3
4 Content of Quality Assurance Chapter 1. Quality Assurance Quality and quality assurance Types of tests and testing Traditional vs. agile QA 2. Principles General principles Coding guidelines Collective code ownership 3. Programming Refactoring Test-first programming Test-driven Development 4. Team Collaboration Configuration management Build management Continuous integration Pair programming 2012 Dirk Riehle - All Rights Reserved 4
5 Quality (Definition) Definition (Relative) The quality of a software system is the degree to which it conforms to its stakeholders' (sponsors, users, developers) expectations. Conformance Verified against specification Problematic if there is none Allows for good enough As established in feedback loop Definition (Absolute) The quality of a software system is the preferential ordering defined by its stakeholders when compared with alternative options. Preference Better user experience More complete functionality Less bugs, more robust Better maintainable 2012 Dirk Riehle - All Rights Reserved 5
6 Quality Assurance (Definition) Definition Quality assurance is the process of ensuring that a software system has a defined degree of quality. Assurance Process Overall quality is typically realized by assuring the quality of the individual practices and Process Practices A.k.a. constructive, internal Conformance with definition External validation (CMMI) Constituent Parts A.k.a. external assurance Mostly, artifact testing constituent parts that are used to create and make up the system Dirk Riehle - All Rights Reserved 6
7 Software Testing Component Tests A component test tests an isolated component, verifying it against specified component behavior. Acceptance Tests An acceptance test tests a system as a whole, verifying it against specified functional requirements. Black-box Tests A black-box test derives its test functions and values from the specification of the system. White-box Tests A white-box test derives its test functions and values from an analysis of the systems internals. And many other types of tests 2012 Dirk Riehle - All Rights Reserved 7
8 Traditional vs. Agile Quality Assurance Traditional QA SD and QA are separate groups, separate people SD and QA follow different schedules SD and QA are frequently at odds with each other Agile Methods QA SD and QA are one group of people SD and QA work is integrated with each other Same person does SD and QA for one feature 2012 Dirk Riehle - All Rights Reserved 8
9 Traditional to Scrum Role Mapping Traditional Scrum Product Manager Product Owner Engineering Manager Software Developer QA Engineer Team Member Scrum Master 2012 Dirk Riehle - All Rights Reserved 9
10 Agile Peer Review 1. General Principles 2. Coding Guidelines 3. Collective Code Ownership 4. Pair Programming 2012 Dirk Riehle - All Rights Reserved 10
11 Dilbert on Pair Programming 2012 Dirk Riehle - All Rights Reserved 11
12 Pair Programming (Practice) Definition Pair programming is programming carried out by pairs of programmers, where one programmer implements, and the other programmer reviews. Properties Similar situations Programmer and reviewer Driver and co-driver Pilot and navigator Effectiveness The effectiveness is debated. One study shows that one pair is more effective than two individual programmers [L1] Dirk Riehle - All Rights Reserved 12
13 Pair Programming (Continued) Find comfortable partner Switch roles often Communicate regularly Don't force it for small stuff Don't overheat, take a break Switch partners at times 2012 Dirk Riehle - All Rights Reserved 13
14 Agile vs. Open Source Review Process Agile Methods Coding Guidelines Code more often read than written Make it easy to get acquainted Open Source Coding Guidelines Code more often read than written Showing respect for project Collective Code Ownership Development is feature by feature Typically co-located development Everyone has write access Individual Code Ownership Development is module by module Typically distributed development Strictly regulated write access Pair Programming Changes are reviewed directly Everyone's a peer Patch Review Changes are submitted for review Two-class reviewing hierarchy 2012 Dirk Riehle - All Rights Reserved 14
15 Test-Driven Development 1. Refactoring 2. Test-First Programming 3. Test-Driven Development 2012 Dirk Riehle - All Rights Reserved 15
16 Test-First (Practice) [B1] Definition Test-first is a programming practice in which developers iterate over an 1. add new or enhance test 2. make test work loop, where programming application functionality is a byproduct of making the tests work. Properties Clarifies code functionality and interfaces Improves code quality through second use scenario Builds up test suite for continuous integration (later) 2012 Dirk Riehle - All Rights Reserved 16
17 Test-First (Example) public class TagsTest extends TestCase { public void testastag() { assertequals(tags.astag("flo wer"), "flower"); 1 public class Tags { public static String astag(string n) { return "flower"; public class TagsTest extends TestCase { public void testastag() { assertequals(tags.astag("flo wer"), "flower"); assertequals(tags.astag(" 35j lnm#&in>b << f2"), "35jlnminbf2"); assertequals(tags.astag(",,,,,,"), ""); 2 public class Tags { public static String astag(string n) { StringBuffer result = new StringBuffer(n.length()); for (int i = 0; i < n.length(); i++) { char c = n.charat(i); return result.tostring(); 2012 Dirk Riehle - All Rights Reserved 17
18 Test-First Rules 1 / 2 Only write new code when a test fails Then, eliminate waste 2012 Dirk Riehle - All Rights Reserved 18
19 Test-First Rules 2 / 2 1. Red 2. Green 3. Refactor 2012 Dirk Riehle - All Rights Reserved 19
20 Tool Support Demo for Test-First with JUnit 2012 Dirk Riehle - All Rights Reserved 20
21 Tool Support for Test-First Programming JUnit Is a unit testing framework Supports tests and test suites Supports test setup/fixtures Is small and easy to learn Is not just for unit tests Alternatives TestNG (Java Unit Testing) xunit (other languages) JUnitMax (commercial) (Selenium) JUnit popularized unit testing: Never in the field of software development have so many owed so much to so few lines of code. [M1] 2012 Dirk Riehle - All Rights Reserved 21
22 JUnit Key Concepts Test Case Is a test method Uses assertions etc. Test Suite Is a grouping mechanism Builds a tree of test cases Test Failure Test failure indicates failing test Test error indicates bug Setup Methods Create simple test setup Are before and after method Test Setup Create complex test setup Are realized as Decorator Test Result Collects test failures Is a Collecting Parameter 2012 Dirk Riehle - All Rights Reserved 22
23 JUnit Runtime Instantiation A test suite groups a set of further test suites or test cases The unit test hierarchy typically mirrors the package structure Tests can be run starting with any node in the hierarchy :TS :TS :TS :TS :TS :TC :TC :TC :TC :TC 2012 Dirk Riehle - All Rights Reserved 23
24 TagsTest (TestCase Class, JUnit 3.8) public class TagsTest extends TestCase { public static void main(string[] args) { junit.textui.testrunner.run(tagstest.class); public TagsTest(String name) { super(name); public void setup() { // no setup public void testastag() { assertequals(tags.astag("flo wer"), "flower"); assertequals(tags.astag(" 35j lnm#&in>b << f2"), "35jlnminbf2"); assertequals(tags.astag(",,,,,,"), ""); public void testasstring() { Tags tags1 = new Tags("tag1, tag2"); assertsame(tags1.getsize(), 2); assertequals(tags1.asstring(), "tag1, tag2"); assertequals(tags1.asstring(true, '+'), "tag1 + tag2"); 2012 Dirk Riehle - All Rights Reserved 24
25 Test Hierarchy (TestSuite Class, JUnit 3.8) public class TestRunner { static public void run(class testclass) { run(new TestSuite(testClass)); public class TestSuite implements Test { private Vector ftests= new Vector(10); public TestSuite(final Class theclass) { Class superclass= theclass; Vector names= new Vector(); while (Test.class.isAssignableFrom(superClass)) { Method[] methods= superclass.getdeclaredmethods(); for (int i= 0; i < methods.length; i++) { addtestmethod(methods[i], names, theclass); superclass= superclass.getsuperclass(); if (ftests.size() == 0) { addtest(warning("no tests found in "+theclass.getname())); 2012 Dirk Riehle - All Rights Reserved 25
26 JUnit 3.8 Design [R2] 2012 Dirk Riehle - All Rights Reserved 26
27 How to Write a Test? 1 / 2 A rrange setup A ct on functions A ssert values 2012 Dirk Riehle - All Rights Reserved 27
28 How to Write a Test? 2 / 2 Unit Testing Test all functions Think from features Cover all edge cases Acceptance Testing Think from user interface Test all relevant parameters Cover all edge cases 2012 Dirk Riehle - All Rights Reserved 28
29 Tell a Friend (Acceptance Test Example) public class TellFriendTest extends TestCase { protected UserSession session; protected WebFormHandler handler; public void setup() { ModelMain.configureWebPartTemplateServer(); Wahlzeit.configurePartHandlers(); session = new UserSession("testContext"); session.setconfiguration(languageconfigs.get(language.english)); ContextManager.setThreadLocalContext(session); public void testtellfriendpost() { Address from = Address.getFromString("info@wahlzeit.org"); Address to = Address.getFromString("fan@yahoo.com"); Server.setInstance(new Mock Server(from, to, bcc, subject, body)); Map<String, String> args = new HashMap<String, String>(); args.put(tellfriendformhandler. _from, from.asstring()); args.put(tellfriendformhandler. _to, to.asstring()); handler.handlepost(session, args); 2012 Dirk Riehle - All Rights Reserved 29
30 Tell a Friend (Acceptance Test Example) public class TellFriendTest extends TestCase { protected UserSession session; protected WebFormHandler handler; public void setup() { ModelMain.configureWebPartTemplateServer(); Wahlzeit.configurePartHandlers(); session = new UserSession("testContext"); session.setconfiguration(languageconfigs.get(language.english)); ContextManager.setThreadLocalContext(session); public void testtellfriendpost() { Address from = Address.getFromString("info@wahlzeit.org"); Address to = Address.getFromString("fan@yahoo.com"); Server.setInstance(new Mock Server(from, to, bcc, subject, body)); Map<String, String> args = new HashMap<String, String>(); args.put(tellfriendformhandler. _from, from.asstring()); args.put(tellfriendformhandler. _to, to.asstring()); handler.handlepost(session, args); RATHER PAINFUL 2012 Dirk Riehle - All Rights Reserved 30
31 Refactoring and Test-First Programming A code smells code doesn't smell anymore R Test Suite tests fail Implementation A R tests succeed A R 2012 Dirk Riehle - All Rights Reserved 31
32 Roman Numerals Example CMLXXIV 100 less than 1000 plus 50 plus 10 plus 10 plus 1 less than 5 = Dirk Riehle - All Rights Reserved 32
33 Roman Numerals Explained Base Values 'I' = 1 'V' = 5 'X' = 10 'L' = 50 'C' = 100 'D' = 500 'M' = 1000 Parsing Rules Smaller base cases to the right are added to value Smaller base cases to the left are subtracted Rule 2 takes precedence over rule Dirk Riehle - All Rights Reserved 33
34 Video on Test-Driven Development Roman Numerals (Johannes Link on Test-Driven Development) 2012 Dirk Riehle - All Rights Reserved 34
35 Video Lessons Observations 1 / 2 Implements tests first, functions second Provides trivial implementations first Incrementally provides full implementations Programs with no slack at all, only progress Observations 2 / 2 Uses many IDE refactoring functions Views test code and function code in parallel windows Uses JUnitMax for unobtrusive feedback Deletes code after finishing coding kata 2012 Dirk Riehle - All Rights Reserved 35
36 Advanced Test-First Practices 1 / 2 Test Execution Define context With test setups Create test databases Use test data builders Reset data to clean state With test doubles Test Psychology Cope with run-time Create different setups Create different test suites Use null objects Use stub objects Use mock objects 2012 Dirk Riehle - All Rights Reserved 36
37 Advanced Test-First Practices 2 / 2 Testing Concurrency Derive invariants Don't overspecify / constrain Testing Legacy Code Define component boundary Instantiate with test doubles Use modern tools Use locks, conditions, etc. Avoid signal(), wait() Still, this is hard to do right! Use proactive mechanisms Test against expected behavior May not need to understand code If you have to refactor code Write unit tests first Refactor in small steps 2012 Dirk Riehle - All Rights Reserved 37
38 Test-Driven Development (TDD) Definition Test-driven development is a development process that follows the test-first practice to implement a product requirements document like Scrum's product backlog. Please note: Test-first is the original test-driven development. The additional focus on working off a PRD is mine (DR). Properties TDD grows the product incrementally and steadily TDD teams can release after every feature implementation TDD creates code of pristine (and lean) quality 2012 Dirk Riehle - All Rights Reserved 38
39 Test-Driven Development Illustrated feature n+2 feature n+1 on to next feature enhance test suite feature n test suite n implementation n feature n-1 feature n-2 test suite n-1 test suite n-2 implementation n-1 implementation n Dirk Riehle - All Rights Reserved 39
40 Test-Driven Development Core Process 1. Translate partial or full feature description into test suite 2. Implement feature to fulfill ( green-bar ) test suite 3. Revise test suite from new insights 4. Refactor test suite to keep design and code clean 5. Refactor implementation to keep design and code clean 6. Move on when test suite is complete and all tests succeed 3 6 feature 1 2 test suite implementation Dirk Riehle - All Rights Reserved 40
41 Quiz: Test-First Programming 1. You are programming a unit test for the Money.divideBy() method. Should you also test for any possible ArithmethicException? Never Always Depends 2. Your unit tests for the Money class all need a few example values to work with. Where should you create them? In each test case method In the test class' setup method In a separate test setup class 2012 Dirk Riehle - All Rights Reserved 41
42 Agile Team Collaboration 1. Configuration Management 2. Build Management 3. Continuous Integration 2012 Dirk Riehle - All Rights Reserved 42
43 Continuous Integration (Practice) Definition Continuous integration is a defined code integration process, where 1. Developers push regularly 2. Every push triggers a build 3. An executable is created 4. All tests / tools are run 5. Feedback is provided to all developers and any development manager. The goal is to receive immediate feedback if anything is wrong and to be able to pinpoint it right away. Properties Is a staged process From repository to build server From build to integration server From integration to test server Is a wholly automated process With no intervention needed Where feedback is made visible 2012 Dirk Riehle - All Rights Reserved 43
44 Tool Support for Continuous Integration Specialized tools Build tools: make, ant, Metrics tools: jdepend, Sonar, Integration tools Utilize specialized tools For example, Hudson or Jenkins Visualization tools Historical: lava lamps Today: dashboards 2012 Dirk Riehle - All Rights Reserved 44
45 Jenkins FSA! Build # Dirk Riehle - All Rights Reserved 45
46 Jenkins FSA! Changes # Dirk Riehle - All Rights Reserved 46
47 Jenkins FSA! Test Results # Dirk Riehle - All Rights Reserved 47
48 Continuous Delivery Definition Continuous delivery is a defined product delivery process, where every commit or push by a developer leads to the deployment of a new product version, if the version passes all tests. Properties Is next logical step after continuous integration Requires effective system monitoring and DevOps Is typically used in highly agile environments (websites) Continuous delivery and DevOps is a fast moving target and a possible research topic; will have to define terms like immune system Dirk Riehle - All Rights Reserved 48
49 Thank you! Questions? DR 2012 Dirk Riehle - All Rights Reserved 49
50 Contributions and Credits None yet Dirk Riehle - All Rights Reserved 50
7. Software Development
7. Software Development Prof. Dr. Dirk Riehle, M.B.A. Friedrich Alexander-University Erlangen-Nürnberg Version of 22.03.2012 Agile Methods by Dirk Riehle is licensed under a Creative Commons Attribution-
More information5. Product Management
5. Product Management Prof. Dr. Dirk Riehle, M.B.A. Friedrich Alexander-University Erlangen-Nürnberg Version of 22.03.2012 Agile Methods by Dirk Riehle is licensed under a Creative Commons Attribution-
More informationPractical Objects: Test Driven Software Development using JUnit
1999 McBreen.Consulting Practical Objects Test Driven Software Development using JUnit Pete McBreen, McBreen.Consulting petemcbreen@acm.org Test Driven Software Development??? The Unified Process is Use
More informationTuesday, November 15. Testing
Tuesday, November 15 1 Testing Testing Waterfall model show testing as an activity or box In practice, testing is performed constantly There has never been a project where there was too much testing. Products
More informationxtreme Programming (summary of Kent Beck s XP book) Stefan Resmerita, WS2015
xtreme Programming (summary of Kent Beck s XP book) 1 Contents The software development problem The XP solution The JUnit testing framework 2 The Software Development Problem 3 Risk Examples delivery schedule
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 informationChapter 9 Quality and Change Management
MACIASZEK, L.A. (2007): Requirements Analysis and System Design, 3 rd ed. Addison Wesley, Harlow England ISBN 978-0-321-44036-5 Chapter 9 Quality and Change Management Pearson Education Limited 2007 Topics
More informationPearson Education 2007 Chapter 9 (RASD 3/e)
MACIASZEK, L.A. (2007): Requirements Analysis and System Design, 3 rd ed. Addison Wesley, Harlow England ISBN 978-0-321-44036-5 Chapter 9 Quality and Change Management Pearson Education Limited 2007 Topics
More informationContinuous Integration / Continuous Testing
Bitte decken Sie die schraffierte Fläche mit einem Bild ab. Please cover the shaded area with a picture. (24,4 x 7,6 cm) Continuous Integration / Continuous Testing IIC What s SW Integration? Integration
More informationTest Driven Development. Software Engineering, DVGC18 Faculty of Economic Sciences, Communication and IT Tobias Pulls and Eivind Nordby
Test Driven Development Faculty of Economic Sciences, Communication and IT 2010-09-03 Tobias Pulls and Principle Use Executable Specifications Test Driven Development (TDD) xunit Behaviour Driven Development
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 informationAzure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region
Azure DevOps Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region What is DevOps? People. Process. Products. Build & Test Deploy DevOps is the union of people, process, and products to
More informationTest Driven Development TDD
Test Driven Development TDD Testing Testing can never demonstrate the absence of errors in software, only their presence Edsger W. Dijkstra (but it is very good at the latter). Testing If it's worth building,
More informationl e a n Lean Software Development software development Faster Better Cheaper
software development Lean Software Development Faster Better Cheaper mary@poppendieck.com Mary Poppendieck www.poppendieck.com Characteristics of Lean Companies: 1. They don t call themselves Lean The
More informationSoftware Continuous Integration & Delivery INCREASING SOFTWARE DEVELOPMENT AGILITY TO SPEED TIME TO MARKET
DAITAN WHITE PAPER Software Continuous Integration & Delivery INCREASING SOFTWARE DEVELOPMENT AGILITY TO SPEED TIME TO MARKET White Paper Contents Making software development more Agile Moving to a more
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 informationHow Can Testing Teams Play a Key Role in DevOps Adoption?
June 3, 2016 How Can Testing Teams Play a Key Role in DevOps Adoption? Sujay Honnamane QA Director @sujayh Rameshkumar Bar Sr. Automation Architect @rameshbar 2016 Cognizant Session take away DevOps Overview
More informationTechnology Background Development environment, Skeleton and Libraries
Technology Background Development environment, Skeleton and Libraries Christian Kroiß (based on slides by Dr. Andreas Schroeder) 18.04.2013 Christian Kroiß Outline Lecture 1 I. Eclipse II. Redmine, Jenkins,
More informationTest Automation Strategies in Continuous Delivery. Nandan Shinde Test Automation Architect (Tech CoE) Cognizant Technology Solutions
Test Automation Strategies in Continuous Delivery Nandan Shinde Test Automation Architect (Tech CoE) Cognizant Technology Solutions The world of application is going through a monumental shift.. Evolving
More informationVendor: The Open Group. Exam Code: OG Exam Name: TOGAF 9 Part 1. Version: Demo
Vendor: The Open Group Exam Code: OG0-091 Exam Name: TOGAF 9 Part 1 Version: Demo QUESTION 1 According to TOGAF, Which of the following are the architecture domains that are commonly accepted subsets of
More informationManual Testing. Software Development Life Cycle. Verification. Mobile Testing
10 Weeks (Weekday Batches) or 12 Weekends (Weekend batches) To become a Professional Software Tester To enable the students to become Employable Manual Testing Fundamental of Testing What is software testing?
More informationLevels of Testing Testing Methods Test Driven Development JUnit. Testing. ENGI 5895: Software Design. Andrew Vardy
Testing ENGI 5895: Software Design Andrew Vardy Faculty of Engineering & Applied Science Memorial University of Newfoundland March 6, 2017 Outline 1 Levels of Testing 2 Testing Methods 3 Test Driven Development
More informationWas gibt es Neues Better Team Work with Cloud
Was gibt es Neues Better Team Work with Cloud Dana Singleterry Produktmanager Oracle Mobility & Dev Tools, Oracle dana.singleterry@oracle.com +++ Bitte nutzen Sie die integrierte Audio-Funktion von WebEx
More informationContinuous the research Software Engineering. Cycle through Test-Driven Search the teaching
Overview 1 1. Find out why software engineering is important see some software engineering failures 2. Integrating Get acquainted with Reuse into the Rapid, the Chair of Software Engineering Continuous
More informationInverting the Pyramid
Inverting the Pyramid Naresh Jain naresh@agilefaqs.com @nashjain http://nareshjain.com Time/Money/Opportunity Cost Plan Back in the Stone-age Happiness/Excitement Design Distribute Work in Isolation Integrate
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 informationUnit Testing with JUnit and CppUnit
Unit Testing with JUnit and CppUnit Software Testing Fundamentals (1) What is software testing? The process of operating a system or component under specified conditions, observing or recording the results,
More informationCollaboration at Scale: Prioritizing a Backlog. 13-Dec-2017
Collaboration at Scale: Prioritizing a Backlog 13-Dec-2017 Collaboration at Scale Designed for Scrum-centric organizations with more than 10 Scrum teams, the Collaboration at Scale webinar series provides
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 informationFinal Paper/Best Practice/Tutorial Advantages OF BDD Testing
Final Paper/Best Practice/Tutorial Advantages OF BDD Testing Preeti Khandokar Test Manager Datamatics Global Solutions Ltd Table of Contents Table of Contents... 2 Abstract... 3 Introduction... 3 Solution:...
More informationLevels of Testing Testing Methods Test Driven Development JUnit. Testing. ENGI 5895: Software Design. Andrew Vardy
Testing ENGI 5895: Software Design Andrew Vardy Faculty of Engineering & Applied Science Memorial University of Newfoundland March 6, 2017 Outline 1 Levels of Testing 2 Testing Methods 3 Test Driven Development
More informationAutomated testing in Agile SW development
T-76.5613 Software Testing and Quality Assurance Automated testing in Agile SW development Seppo Sahi SoberIT seppo.sahi@soberit.hut.fi 2.10.2006 Introduction Agile methods have strong emphasis on practices
More information1 Copyright 2011, Oracle and/or its affiliates. All rights reserved.
1 Copyright 2011, Oracle and/or its affiliates. All rights The forthcoming is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated
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 informationAgile Software Development. Software Development Methodologies. Who am I? Waterfall. John York JOHN YORK EECS 441 FALL 2017 A BRIEF LOOK
Who am I? John York Agile Software Development JOHN YORK Director of Engineering at ProQuest Dialog Chief Technologist SpellBound AR A Computer Engineer from the University of Michigan! An agile development
More informationAgile Software Development. Software Development Methodologies. Who am I? Waterfall. John York JOHN YORK EECS 441 WINTER 2018 A BRIEF LOOK
Agile Software Development JOHN YORK EECS 441 WINTER 2018 John York Director of Engineering at ProQuest Dialog Chief Technologist SpellBound AR A Computer Engineer from the University of Michigan! An agile
More informationOptimize tomorrow today.
Applying Agile Practices to Improve Software Quality Name: Arlene Minkiewicz Chief Scientist 17000 Commerce Parkway Mt. Laurel, NJ 08054 arlene.minkiewicz@pricesystems.com Phone: 856 608-7222 Agenda Introduction
More informationSoftware Quality in a Modern Development Team. Presented by Timothy Bauguess and Marty Lewis
Software Quality in a Modern Development Team Presented by Timothy Bauguess and Marty Lewis High-Quality Software Who benefits? End users Development Stakeholders Components of Software Quality Structural
More informationICAgile Learning Roadmap Agile Testing Track
ICAgile Learning Roadmap Agile Testing Track The work in this document was facilitated by the International Consortium for Agile (ICAgile) and done by the contribution of various Agile Experts and Practitioners.
More informationFROM VSTS TO AZURE DEVOPS
#DOH18 FROM VSTS TO AZURE DEVOPS People. Process. Products. Gaetano Paternò @tanopaterno info@gaetanopaterno.it 2 VSTS #DOH18 3 Azure DevOps Azure Boards (ex Work) Deliver value to your users faster using
More informationTesting in an Agile Environment Understanding Testing role and techniques in an Agile development environment. Just enough, just in time!
Testing in an Agile Environment Understanding Testing role and techniques in an Agile development environment. Just enough, just in time! Today s Topics How the Tester s Role Changes in Agile Testing in
More informationAchieving Continuous Delivery - Micro Services. - Vikram Gadang
Achieving Continuous Delivery - Micro Services - Vikram Gadang Agenda Starting point Observations and lessons learned Architecting for CD Build pipeline strategy Testing strategy Deployment strategy State
More informationAutomated Testing of Tableau Dashboards
Kinesis Technical Whitepapers April 2018 Kinesis CI Automated Testing of Tableau Dashboards Abstract Companies make business critical decisions every day, based on data from their business intelligence
More informationContinuous Testing at Scale
Continuous Testing at Scale TAPOST Conference October 12th 2016, Riga dmitry@buzdin.lv @buzdin Dmitry Buzdin Introduction to Continuous Testing Continuous Delivery Get changes to production in fast and
More informationTest Driven Development
Test Driven Development driving the development of quality software through tests presented by Introduction and Agenda Andy Painter, Davisbase Consulting 15+ years in software development. 5+ years working
More informationAgile Manifesto & XP. Topics. Rapid software development. Agile methods. Chapter ) What is Agile trying to do?
Topics 1) What is trying to do? Manifesto & XP Chapter 3.1-3.3 2) How to choose plan-driven vs? 3) What practices go into (XP) development? 4) How to write tests while writing new code? CMPT 276 Dr. B.
More informationJUnit 4 and Java EE 5 Better Testing by Design
JUnit 4 and Java EE 5 Better Testing by Design Kent Beck Alberto Savoia Agitar Software Inc. www.agitar.com TS-1580 2006 JavaOne SM Conference Session TS-1580 Simplifying Developer Testing JUnit 4 further
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 informationTechnology Background Development environment, Skeleton and Libraries
Technology Background Development environment, Skeleton and Libraries Slides by Prof. Dr. Matthias Hölzl (based on material from Dr. Andreas Schröder) Outline Lecture 1 I. Eclipse II. Git Lecture 2 IV.
More informationAbout Us. Services CONSULTING OUTSOURCING TRAINING MENTORING STAFF AUGMENTATION 9/9/2016
About Us Incorporated in January, 2003 QA and QC in expertise focused on functional, performance and application security validation HPE Software Gold Partner, HPE Authorized Software Support Partner &
More informationKanban One-Day Workshop
Kanban One-Day Workshop Copyright Net Objectives, Inc. All Rights Reserved 2 Copyright Net Objectives, Inc. All Rights Reserved 3 Lean for Executives Product Portfolio Management Business Product Owner
More informationTesting. Topics. Types of Testing. Types of Testing
Topics 1) What are common types of testing? a) Testing like a user: through the UI. b) Testing like a dev: through the code. 2) What makes a good bug report? 3) How can we write code to test code (via
More informationExam Questions
Exam Questions 70-498 Delivering Continuous Value with Visual Studio 2012 Application Lifecycle Management https://www.2passeasy.com/dumps/70-498/ 1. You are the application architect on your team. You
More informationQMS ISO 9001:2015 CERTIFIED COMPANY Software Testing TRAINING.
QMS ISO 9001:2015 CERTIFIED COMPANY Software Testing TRAINING www.webliquidinfotech.com What you Learn: What is Software Testing? Why Testing is Important? Scope of Software Testing Objectives of Software
More informationAN ISO 9001:2008 CERTIFIED COMPANY. Software Testing TRAINING.
AN ISO 9001:2008 CERTIFIED COMPANY Software Testing TRAINING www.webliquids.com ABOUT US Who we are: WebLiquids is an ISO (9001:2008), Google, Microsoft Certified Advanced Web Educational Training Organisation.
More informationa brief introduction to creating quality software continuously Copyright 2011 Davisbase, LLC
a brief introduction to creating quality software continuously Andy Painter Agile Coach/Trainer/Consultant CSM, CSP, CSD Instructor andy@davisbase.org (704) 835-0194 Interests: Cloud Computing, Agile Development
More informationAgile Testing Practices Good Food for all Teams
Agile Testing Practices Good Food for all Teams www.netobjectives.com info@netobjectives.com 1 January 30, 2007 Abstract Agile testing practices have evolved in part as a response to short duration cycles.
More information(Complete Package) We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info
(Complete Package) WEB APP TESTING DB TESTING We are ready to serve Latest Testing Trends, Are you ready to learn? New Batches Info START DATE : TIMINGS : DURATION : TYPE OF BATCH : FEE : FACULTY NAME
More informationSoftware Design and Analysis CSCI 2040
Software Design and Analysis CSCI 2040 Introduce two important development practices in the context of the case studies: Test-Driven Development Refactoring 2 Logic is the art of going wrong with confidence
More informationReview Version Control Concepts
Review Version Control Concepts SWEN-261 Introduction to Software Engineering Department of Software Engineering Rochester Institute of Technology Managing change is a constant aspect of software development.
More informationHow to Build an Appium Continuous Testing Pipeline
How to Build an Appium Continuous Testing Pipeline Step-by-Step Tutorial November, 2017 Today s speakers Guy Arieli, CTO, Experitest Ruth Zamir Marketing Director Experitest 01 Why do we need continuous
More informationIntroduction: Manual Testing :
: What is Automation Testing? Use of Automation. Where do we use. Tools that Do Automation. Web Applications vs Standalone Applications. What is selenium? How selenium works. Manual Testing : HTML: Detailed
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) Let s see it in action (demo) Kickstarting a project using
More informationHow We Refactor, and How We Know It
Emerson Murphy-Hill, Chris Parnin, Andrew P. Black How We Refactor, and How We Know It Urs Fässler 30.03.2010 Urs Fässler () How We Refactor, and How We Know It 30.03.2010 1 / 14 Refactoring Definition
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 informationDavid Bernstein Five Development Practices Essential for Scrum Teams
David Bernstein Five Development Practices Essential for Scrum Teams 1 Welcome! I m David Scott Bernstein Software developer since 1980 Trained 8,000 developers since 1990 Published author since 2015 Website:
More informationHP APPs v.12 Solutions for Dev-Ops
HP APPs v.12 Solutions for Dev-Ops Kimberly Fort HP Software July 2014 Kimberly Fort Software Solutions Architect *5 Months with HP *17 Years experience using HP Tools & products *20 Years experience in
More informationCS 320 Introduction to Software Engineering Spring February 06, 2017
CS 320 Introduction to Software Engineering Spring 2017 February 06, 2017 Recap: Software development process models Traditional models Waterfall model Iterative and incremental Prototyping Spiral model
More informationCSE 70 Final Exam Fall 2009
Signature cs70f Name Student ID CSE 70 Final Exam Fall 2009 Page 1 (10 points) Page 2 (16 points) Page 3 (22 points) Page 4 (13 points) Page 5 (15 points) Page 6 (20 points) Page 7 (9 points) Page 8 (15
More informationSAFe Atlassian Style (Updated version with SAFe 4.5) Whitepapers & Handouts
SAFe Atlassian Style (Updated version with SAFe 4.5) Whitepapers & Handouts Exported on 09/12/2017 1 Table of Contents 1 Table of Contents...2 2 Abstract...4 3 Who uses SAFe and Why?...5 4 Understanding
More informationTEST-DRIVEN DEVELOPMENT
tdd 2003/6/10 21:42 page 5 #25 Chapter 1 TEST-DRIVEN DEVELOPMENT To vouch this, is no proof, Without more wider and more overt test -Othello,Act 1 Scene 3 William Shakespeare From programmers to users,
More informationSeven Deadly Sins of Agile Testing
Seven Deadly Sins of Agile Testing 2 About me Brad Swanson Time to market Traditional Development Analyze Implement Test Agile Development Deliverable Deliverable 3 Risk Risk traditional agile Time 4 Schedule
More informationTips from the experts: How to waste a lot of time on this assignment
Com S 227 Spring 2018 Assignment 1 100 points Due Date: Friday, September 14, 11:59 pm (midnight) Late deadline (25% penalty): Monday, September 17, 11:59 pm General information This assignment is to be
More informationUnit Testing and Test Driven Design
Unit Testing and Test Driven Design Björn Beskow Callista Enterprise AB bjorn.beskow@callista.se http://www.callista.se/enterprise CADEC 2003-01-29, Unit Testing and Test Driven Design, Slide 1 Unit Testing
More informationAgile Certifications. Dr. Vijay Kanabar Boston University
Agile Certifications Dr. Vijay Kanabar Boston University Agenda Overview of Agile Certifications Details of PMI-ACP What is Agile? New way of working. Learn specific practices. May have to push a new way
More informationTurbo boost your digital app test automation with Jenkins
Turbo boost your digital app test automation with Jenkins Step-by-Step Tutorial May, 2018 Speakers Sheli Ashkenazi Sr. Product Manager Experitest Jonathan Aharon Sr. Sales Engineer Experitest 2 01 The
More informationAbout Codefrux While the current trends around the world are based on the internet, mobile and its applications, we try to make the most out of it. As for us, we are a well established IT professionals
More informationCONFERENCE PROCEEDINGS QUALITY CONFERENCE. Conference Paper Excerpt from the 28TH ANNUAL SOFTWARE. October 18th 19th, 2010
PACIFIC NW 28TH ANNUAL SOFTWARE QUALITY CONFERENCE October 18th 19th, 2010 Conference Paper Excerpt from the CONFERENCE PROCEEDINGS Permission to copy, without fee, all or part of this material, except
More informationThe Design Patterns Matrix From Analysis to Implementation
The Design Patterns Matrix From Analysis to Implementation This is an excerpt from Shalloway, Alan and James R. Trott. Design Patterns Explained: A New Perspective for Object-Oriented Design. Addison-Wesley
More informationTesting in the Agile World
Testing in the Agile World John Fodeh Solution Architect, Global Testing Practice 2008 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Outline
More informationAutomated Acceptance Testing
Automated Acceptance Testing Björn Beskow Callista Enterprise AB bjorn.beskow@callista.se http://www.callista.se/enterprise CADEC 2004-01-28, Automated Acceptance Testing, Slide 1 Target audience and Objectives
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 informationTips from the experts: How to waste a lot of time on this assignment
Com S 227 Spring 2018 Assignment 1 80 points Due Date: Friday, February 2, 11:59 pm (midnight) Late deadline (25% penalty): Monday, February 5, 11:59 pm General information This assignment is to be done
More informationWhat is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read)
1 For the remainder of the class today, I want to introduce you to a topic we will spend one or two more classes discussing and that is source code control or version control. What is version control?
More informationThe Seven Steps to Implement DataOps
The Seven Steps to Implement Ops ABSTRACT analytics teams challenged by inflexibility and poor quality have found that Ops can address these and many other obstacles. Ops includes tools and process improvements
More informationTHE SCRUM FRAMEWORK 1
THE SCRUM FRAMEWORK 1 ROLES (1) Product Owner Represents the interests of all the stakeholders ROI objectives Prioritizes the product backlog Team Crossfunctional Self-managing Self-organizing 2 ROLES
More informationLessons Learned. Johnny Bigert, Ph.D., Skype/Microsoft October 26, 2011
Lessons Learned Johnny Bigert, Ph.D., Skype/Microsoft johnny.bigert@skype.net October 26, 2011 Why do we do the things we do? Software Development Object-orientation, design principles, timeboxing, teams,
More informationPrinciples of Software Construction: Objects, Design, and Concurrency
Principles of Software Construction: Objects, Design, and Concurrency Designing (sub-) systems Responsibility assignment Charlie Garrod Michael Hilton School of Computer Science 1 Administrivia Reading
More informationGetting Started with Rational Team Concert
Getting Started with Rational Team Concert or RTC in 16 Steps Kai-Uwe Maetzel IBM Rational Software kai-uwe_maetzel@us.ibm.com SDP 20 2009 IBM Corporation This Presentation is Good for You if You know
More informationBuilding in Quality: The Beauty of Behavior Driven Development (BDD) Larry Apke - Agile Coach
Building in Quality: The Beauty of Behavior Driven Development (BDD) Larry Apke - Agile Coach Deming on Quality Quality comes not from inspection, but from improvement of the production process. We cannot
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 informationThe main website for Henrico County, henrico.us, received a complete visual and structural
Page 1 1. Program Overview The main website for Henrico County, henrico.us, received a complete visual and structural overhaul, which was completed in May of 2016. The goal of the project was to update
More informationSterling Talent Solutions Automates DevOps and Orchestrates Data Center Operations. SaltStack Enterprise case study
Sterling Talent Solutions Automates DevOps and Orchestrates Data Center Operations SaltStack Enterprise case study SaltStack Enterprise case study Sterling Talent Solutions automates DevOps and orchestrates
More informationGETTING STARTED. Introduction to Backlog Grooming
GETTING STARTED Introduction to Backlog Grooming contents SECTION backlog grooming? SECTION 1 what is backlog grooming? 4 SECTION 2 who should be involved in a grooming session? 5 benefits of backlog grooming
More informationJBPM5 - QUICK GUIDE JBPM5 - OVERVIEW
JBPM5 - QUICK GUIDE http://www.tutorialspoint.com/jbpm5/jbpm5_quick_guide.htm Copyright tutorialspoint.com JBPM5 - OVERVIEW JBPM stands for "Java Business Process Management". It is a JBoss product which
More informationCONTINUOUS DELIVERY IN THE ORACLE CLOUD
CONTINUOUS DELIVERY IN THE ORACLE CLOUD Lykle Thijssen Bruno Neves Alves June 7, 2018 NLOUG Tech Experience Amersfoort eproseed Confidential ABOUT US Lykle Thijssen Principal Architect and Scrum Master
More informationTOOLS AND TECHNIQUES FOR TEST-DRIVEN LEARNING IN CS1
TOOLS AND TECHNIQUES FOR TEST-DRIVEN LEARNING IN CS1 ABSTRACT Test-Driven Development is a design strategy where a set of tests over a class is defined prior to the implementation of that class. The goal
More informationWhat is database continuous integration?
What is database continuous integration? Database continuous integration (CI) is the rapid integration of database schema and logic changes into application development efforts and to provide immediate
More informationTest Automation: Agile Enablement for Business Intelligence Teams
Test Automation: Agile Enablement for Business Intelligence Teams Lynn Winterboer Agile Analytics Educator & Coach @AgileLynn www.winterboeragileanalytics.com Lynn Winterboer Colorado Native Guest Ranch
More informationDisciplined Agile Delivery The Foundation for Scaling Agile
Disciplined Agile Delivery The Foundation for Scaling Agile Scott W. Ambler Senior Consulting Partner scott [at] scottambler.com @scottwambler Scott Ambler + Associates 1 Let s explore a few important
More information