SlideShare a Scribd company logo
1 of 31
Copyright 2014, Simplilearn, All rights reserved.1
PMI® & ACP are the registered marks of Project Management Institute, Inc. Copyright 2014, Simplilearn, All rights reserved.
Agile Quality
PMI®—Agile Certified Practitioner (PMI-ACP)®
Copyright 2014, Simplilearn, All rights reserved.2
● Explain Agile embeds quality throughout the project lifecycle
● Describe Agile Test-First Development and its processes
● Explain Agile Acceptance Test-Driven Development and its stages
● Define the criteria for Done in Agile
● Identify the best practices of Continuous Integration
After completing
this lesson, you will
be able to:
Objectives
Copyright 2014, Simplilearn, All rights reserved.3
Quality is defined as “conformance to requirements and fitness of use”. Quality can be broadly
classified into the following two categories:
Quality in Agile
Poor quality work results in unreliable products, but more critically, it results in products that are far
less responsive to future customer needs.!
Technical quality is intrinsic
or internal and enables
continuous delivery of value
over time.
Customer quality
Customer quality is extrinsic
or external and delivers
value in the short term.
Technical quality
Copyright 2014, Simplilearn, All rights reserved.4
The objective of an iteration in Agile must be to produce code that is of ‘near releasable’ or
‘potentially shippable’ quality. This requires the code to have passed through the verification and
validation steps.
Agile Frequent Verification and Validation
Verification is looking for defects in the product to analyze how it differs from intended
functionality. Product inspection and peer review can be done to test the product against the stated
requirements. Unit or statistical or system tests will be the final measure to help remove defects.
Validation is repeatedly checking with the stakeholders if the product meets their requirements.
Selected users can perform acceptance testing of ready components or UI prototypes that wire
together before writing the code pieces.
Copyright 2014, Simplilearn, All rights reserved.5
An iteration in agile development will produce artifacts (typically code, but could be documents)
that require verification and validation.
● For requirements and design, the verification and validation is the result of peer reviews with
team members and with the customer.
● For coding, verification and validation is done by code reviews, unit testing, and functional and
non-functional testing.
Agile Frequent Verification and Validation (contd.)
Copyright 2014, Simplilearn, All rights reserved.6
Test-First Development (TFD) is also known as Test-Driven
Development (TDD) or test-first programming.
● It was first introduced with Extreme Programming (XP).
● It is an evolutionary (iterative and incremental) approach to
programming where Agile software developers must first write
a test before they write code to make the test pass.
● This develops a rich collection of tests for all code developed.
● These tests are executed by the Integration Server every time a
code is compiled.
● The more tests available, the more ‘courage’ testers
(developers) have to refactor.
Test-First Development
Copyright 2014, Simplilearn, All rights reserved.7
The steps involved in TFD process are as
follows:
Test-First Development (contd.)
Copyright 2014, Simplilearn, All rights reserved.8
The advantages of TDD are as follows:
● TDD ensures developers to do detailed design just in time (JIT) before writing the code.
● It ensures that agile developers have testing code available to validate their work, ensuring that
they test as often and early as possible.
● It allows developers to refactor their code to keep it in the highest quality possible, as the test
suite will detect if they have ‘broken’ anything as the result of refactoring.
● TDD substantially reduces the incidence of defects [Janzen & Saiedian].
● It improves design, documents public interfaces, and guards against future mistakes.
Advantages of TDD
Copyright 2014, Simplilearn, All rights reserved.9
Acceptance Test Driven Development (ATDD) focuses on writing requirements in a testable form.
● Unit tests in TDD focus on building the code right; Acceptance Tests focus on building the right
code.
● Each requirement is expressed in terms of inputs and expected outputs.
● ATDD requirements are documented in Wiki pages that can be executed once the code is
complete.
● ATDD involves creating tests before code, and those tests represent expectations of behavior the
software should have.
● Acceptance tests are ‘black box’ tests. They test the behavior of functionality of the system.
● Unit tests are ‘white box’ test. They test the internals of the system.
Acceptance Test Driven Development
Copyright 2014, Simplilearn, All rights reserved.10
The ATDD Cycle comprises four stages, discuss, distill, develop, and demo.
ATDD Cycle
Demo
Discuss
Develop
Distill
● A discussion is held with the business
stakeholder, requesting the features.
● An understanding of the stakeholder
expectations is established.
● Acceptance tests in collaboration with
the stakeholder can then be created.
● The tests are captured in a format that
works with the test automation
framework.
● A variety of test automation frameworks
that support defining the tests before the
implementation: FIT, Fitnesse,
Concordian, and Robot Framework.
While implementing the code, developers
will follow the Test Driven Development
techniques of writing tests,
● watching them fail,
● write codes,
● watch the tests pass, refactor, etc.
● Acceptance tests for all the completed
stories are executed to demonstrate that
they have passed.
● Manual exploratory testing to reveal gaps
in the acceptance criteria and to discover
defects that might occur when multiple
user stories are executed in a scenario.
Copyright 2014, Simplilearn, All rights reserved.11
IBM team has sustained the use of TDD for five years and over ten releases of a Java-implemented
product. A set of experiments was conducted with professional programmers to validate the
effectiveness of TDD.
Experiment 1: Develop a short program in Java to automate the scoring of a bowling game.
The results of the experiment conducted are given below:
Effectiveness of TDD—Experiment
Team using TDD Technique
● Developers took 16% more time to write the tests and
then develop the code
● Passed 18% more functional black box test cases
● Developers came up with good quality automated test
cases
Team not using TDD Technique
● Developers took relatively less time to develop the code
● Passed relatively fewer black box test cases
● Developers did not write any worthwhile automated test
cases
Copyright 2014, Simplilearn, All rights reserved.12
TDD practice Test-last practice
Development Time and Quality
Development time Quality
Effectiveness of TDD—Experiment (contd.)
Experiment 2: To determine the effectiveness of TDD, each
practitioner was asked to complete a programming task using
both TDD practice and test-last practice, each taking
approximately 5 hours.
Result: TDD requires more development time. But the
improved quality could offset this initial increase in
development time. The test-last practice resulted in poor
quality, though the initial time taken is less.
Conclusion: Agile focusses on value delivery rather than tasks
completed. The TDD technique leads developers to design
precise and accurate test cases.
Copyright 2014, Simplilearn, All rights reserved.13
Every project will have its own definition of Done. It’s important for the team to agree to the
definition of Done and commit to it. Often, the definition of Done is an Information Radiator that is
posted in the team room.
Definition of ‘Done’ should include the following criteria:
● It has been tested and has passed user acceptance or client approval.
● It has passed an in-house iteration review.
● It is of a ‘shippable’ or ‘deliverable’ quality.
Definition of Done
Copyright 2014, Simplilearn, All rights reserved.14
Following is a sample checklist for story completion criteria. Teams must come up with their own
checklists, before marking a story ‘complete’.
Checklist for Story Completion
Story is tested.
Functional code is written.
Design is complete and refactoring is done.
Story is integrated across different components.
Story is integrated into the build system and is a
part of the build.
Story is available through the installer.
Story can be migrated if required.
Story is reviewed by stakeholders and confirmed
that it meets their requirements.
All the identified bugs have been fixed.
Customers have accepted that the story is
complete.
Copyright 2014, Simplilearn, All rights reserved.15
Continuous Integration is one of the twelve practices of Extreme programming.
● It is an approach that keeps all the code integrated and builds release infrastructure along with
the rest of the application.
● It can often be used as a visual information radiator by attaching lava lamps or some other
signaling device to the integration server. The red lava indicates the build is broken and the green
lava lamp means the build is successful.
Continuous Integration
Copyright 2014, Simplilearn, All rights reserved.16
Best practices of Continuous Integration are as follows:
Best Practices of Continuous Integration
Copyright 2014, Simplilearn, All rights reserved.17
Quiz
Copyright 2014, Simplilearn, All rights reserved.18
QUIZ
a.
b.
c.
d.
Which of the following is not true about Test-First Development?
1
Is an evolutionary approach to programming where agile software developers must
first write a test that fails before they write new functional code.
It involves updating the functional code if the new test is passed.
It passes user acceptance or client approval.
It is also known as Test-Driven Development (TDD).
Copyright 2014, Simplilearn, All rights reserved.19
QUIZ
a.
b.
c.
d.
1
Answer: d.
Explanation: It passes user acceptance or client approval is the definition of ‘Done’ and not
Test-Driven Development.
Which of the following is not true about Test-First Development?
It is also known as Test-Driven Development (TDD).
Is an evolutionary approach to programming where agile software developers must
first write a test that fails before they write new functional code.
It involves updating the functional code if the new test is passed.
It passes user acceptance or client approval.
Copyright 2014, Simplilearn, All rights reserved.20
QUIZ
a.
b.
c.
d.
2
Distill, Develop, Discuss, Demo
Discuss, Develop, Demo, Acceptance
Develop, Distill, Demo, Acceptance
Discuss, Distill, Develop, Demo
Which of the following correctly states the components and sequence of the ATDD
cycle?
Copyright 2014, Simplilearn, All rights reserved.21
QUIZ
a.
b.
c.
d.
2
Answer: a.
Explanation: Discuss, Distill, Develop, and Demo are the four stages in the ATDD cycle.
Which of the following correctly states the components and sequence of the ATDD
cycle?
Distill, Develop, Discuss, Demo
Discuss, Develop, Demo, Acceptance
Develop, Distill, Demo, Acceptance
Discuss, Distill, Develop, Demo
Copyright 2014, Simplilearn, All rights reserved.22
QUIZ
a.
b.
c.
d.
3
Video
Value
Demo
Product
What does customer quality deliver?
Copyright 2014, Simplilearn, All rights reserved.23
QUIZ
a.
b.
c.
d.
3
Answer: c.
Explanation: Customer quality delivers value.
What does customer quality deliver?
Video
Value
Demo
Product
Copyright 2014, Simplilearn, All rights reserved.24
QUIZ
a.
b.
c.
d.
4
It has been tested and has not passed user acceptance or client approval.
It has been tested and has passed user acceptance or client approval.
It is “shippable” or “deliverable”.
When code is developed.
What of the following does not mean done?
Copyright 2014, Simplilearn, All rights reserved.25
QUIZ
a.
b.
c.
d.
4
Answer: a.
Explanation: Only the code being completed does not signify the completion or done.
What of the following does not mean done?
It has been tested and has not passed user acceptance or client approval.
It has been tested and has passed user acceptance or client approval.
It is “shippable” or “deliverable”.
When code is developed.
Copyright 2014, Simplilearn, All rights reserved.26
QUIZ
a.
b.
c.
d.
5
It ensures that their code is always defect free.
It reduces the questions from management on whether the code has been tested
properly.
It reduces the re-work developers would have to do and gives them the courage to refactor.
It prevents them from avoiding the difficult task of writing tests.
How does TDD help developers?
Copyright 2014, Simplilearn, All rights reserved.27
QUIZ
a.
b.
c.
d.
5
Answer: d.
Explanation: Refactoring is most effective with Test Driven Development.
How does TDD help developers?
It ensures that their code is always defect free.
It reduces the questions from management on whether the code has been tested
properly.
It reduces the re-work developers would have to do and gives them the courage to refactor.
It prevents them from avoiding the difficult task of writing tests.
Copyright 2014, Simplilearn, All rights reserved.28
QUIZ
a.
b.
c.
d.
6
No, information radiators are for project progress indicators only.
Yes, but only if each team member agrees to update a whiteboard with status every
time they commit code.
Yes, information from Continuous Integration can be radiated using osmosis.
Yes, lava lamps can be used to show the status of the builds by wiring them to the
integration server.
Can Continuous Integration have an Information Radiator?
Copyright 2014, Simplilearn, All rights reserved.29
QUIZ
a.
b.
c.
d.
6
Answer: a.
Explanation: Many development teams have hooked their integration server to lava lamps,
with green lava lamps for success and red for failure.
Can Continuous Integration have an Information Radiator?
No, information radiators are for project progress indicators only.
Yes, but only if each team member agrees to update a whiteboard with status every
time they commit code.
Yes, information from Continuous Integration can be radiated using osmosis.
Yes, lava lamps can be used to show the status of the builds by wiring them to the
integration server.
Copyright 2014, Simplilearn, All rights reserved.30
● Customer quality delivers value in the short term while technical quality
enables continuous delivery of value over time.
● The objective of an iteration in Agile must be to produce code that is of
‘near releasable’ or ‘potentially shippable’ quality. This requires the code to
have passed through the verification and validation steps.
● TDD is an iterative and incremental approach to programming where Agile
software developers must first write a test before they write code to make
the test pass.
● ATDD focuses on writing requirements in a testable form.
● For a story to be done, it has to be tested, passed user acceptance test and
an in-house iteration review, and should be of a ‘shippable’ or ‘deliverable’
quality.
● Continuous Integration is an approach that keeps all the code integrated
and builds release infrastructure along with rest of the application.
Summary
Here is a quick
recap of what was
covered in this
lesson:
Copyright 2014, Simplilearn, All rights reserved.31
Copyright 2014, Simplilearn, All rights reserved.PMI® & ACP are the registered marks of Project Management Institute, Inc.
THANK YOU

More Related Content

What's hot

PMI-ACP Lesson 12 Knowledge and Skills Nugget 4
PMI-ACP Lesson 12 Knowledge and Skills Nugget 4PMI-ACP Lesson 12 Knowledge and Skills Nugget 4
PMI-ACP Lesson 12 Knowledge and Skills Nugget 4Thanh Nguyen
 
PMI-ACP Lesson 02 Agile Communication
PMI-ACP Lesson 02 Agile CommunicationPMI-ACP Lesson 02 Agile Communication
PMI-ACP Lesson 02 Agile CommunicationThanh Nguyen
 
PMI-ACP Lesson 03 Nugget 1 Agile Planning, Monitoring and Adopting
PMI-ACP Lesson 03 Nugget 1 Agile Planning, Monitoring and AdoptingPMI-ACP Lesson 03 Nugget 1 Agile Planning, Monitoring and Adopting
PMI-ACP Lesson 03 Nugget 1 Agile Planning, Monitoring and AdoptingThanh Nguyen
 
PMI-ACP Lesson 04 Nugget 2 Agile Estimation
PMI-ACP Lesson 04 Nugget 2 Agile EstimationPMI-ACP Lesson 04 Nugget 2 Agile Estimation
PMI-ACP Lesson 04 Nugget 2 Agile EstimationThanh Nguyen
 
PMI-ACP Lesson 03 Nugget 2 Agile Planning, Monitoring and Adopting
PMI-ACP Lesson 03 Nugget 2 Agile Planning, Monitoring and AdoptingPMI-ACP Lesson 03 Nugget 2 Agile Planning, Monitoring and Adopting
PMI-ACP Lesson 03 Nugget 2 Agile Planning, Monitoring and AdoptingThanh Nguyen
 
PMI-ACP Lesson 03 Nugget 3 Agile Planning, Monitoring, and Adopting
PMI-ACP Lesson 03 Nugget 3  Agile Planning, Monitoring, and AdoptingPMI-ACP Lesson 03 Nugget 3  Agile Planning, Monitoring, and Adopting
PMI-ACP Lesson 03 Nugget 3 Agile Planning, Monitoring, and AdoptingThanh Nguyen
 
PMI ACP Classroom Question Paper with Answers
PMI ACP Classroom Question Paper with AnswersPMI ACP Classroom Question Paper with Answers
PMI ACP Classroom Question Paper with AnswersThanh Nguyen
 
PMI-ACP Lesson 08 Nugget 2 Agile & Scrum - Value-Based Prioritization
PMI-ACP Lesson 08 Nugget 2 Agile & Scrum - Value-Based PrioritizationPMI-ACP Lesson 08 Nugget 2 Agile & Scrum - Value-Based Prioritization
PMI-ACP Lesson 08 Nugget 2 Agile & Scrum - Value-Based PrioritizationThanh Nguyen
 
PMI-ACP Lesson 11 Agile Value Stream Analysis
PMI-ACP Lesson 11 Agile Value Stream AnalysisPMI-ACP Lesson 11 Agile Value Stream Analysis
PMI-ACP Lesson 11 Agile Value Stream AnalysisThanh Nguyen
 
PMI-ACP Lesson 08 Nugget 1 Agile & Scrum Value-based Prioritization
PMI-ACP Lesson 08 Nugget 1 Agile & Scrum Value-based PrioritizationPMI-ACP Lesson 08 Nugget 1 Agile & Scrum Value-based Prioritization
PMI-ACP Lesson 08 Nugget 1 Agile & Scrum Value-based PrioritizationThanh Nguyen
 
Communicating agile project status to executive managers
Communicating agile project status to executive managersCommunicating agile project status to executive managers
Communicating agile project status to executive managersAgileDad
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineeringZeeshan Masood S
 
PMI-ACP Lesson 9 Agile Risk Management
PMI-ACP Lesson 9 Agile Risk ManagementPMI-ACP Lesson 9 Agile Risk Management
PMI-ACP Lesson 9 Agile Risk ManagementThanh Nguyen
 
Scrum Master Interview Questions SlideShare
Scrum Master Interview Questions SlideShareScrum Master Interview Questions SlideShare
Scrum Master Interview Questions SlideShareInvensis Learning
 
PMI ACP Classroom Question Paper
PMI ACP Classroom Question PaperPMI ACP Classroom Question Paper
PMI ACP Classroom Question PaperThanh Nguyen
 
PMI-ACP Lesson 01 Nugget 2 Agile Methodologies-i
PMI-ACP Lesson 01 Nugget 2 Agile Methodologies-iPMI-ACP Lesson 01 Nugget 2 Agile Methodologies-i
PMI-ACP Lesson 01 Nugget 2 Agile Methodologies-iThanh Nguyen
 

What's hot (20)

PMI-ACP Lesson 12 Knowledge and Skills Nugget 4
PMI-ACP Lesson 12 Knowledge and Skills Nugget 4PMI-ACP Lesson 12 Knowledge and Skills Nugget 4
PMI-ACP Lesson 12 Knowledge and Skills Nugget 4
 
PMI-ACP Lesson 02 Agile Communication
PMI-ACP Lesson 02 Agile CommunicationPMI-ACP Lesson 02 Agile Communication
PMI-ACP Lesson 02 Agile Communication
 
PMI-ACP Lesson 03 Nugget 1 Agile Planning, Monitoring and Adopting
PMI-ACP Lesson 03 Nugget 1 Agile Planning, Monitoring and AdoptingPMI-ACP Lesson 03 Nugget 1 Agile Planning, Monitoring and Adopting
PMI-ACP Lesson 03 Nugget 1 Agile Planning, Monitoring and Adopting
 
PMI-ACP Lesson 04 Nugget 2 Agile Estimation
PMI-ACP Lesson 04 Nugget 2 Agile EstimationPMI-ACP Lesson 04 Nugget 2 Agile Estimation
PMI-ACP Lesson 04 Nugget 2 Agile Estimation
 
PMI-ACP Lesson 03 Nugget 2 Agile Planning, Monitoring and Adopting
PMI-ACP Lesson 03 Nugget 2 Agile Planning, Monitoring and AdoptingPMI-ACP Lesson 03 Nugget 2 Agile Planning, Monitoring and Adopting
PMI-ACP Lesson 03 Nugget 2 Agile Planning, Monitoring and Adopting
 
PMI-ACP Lesson 03 Nugget 3 Agile Planning, Monitoring, and Adopting
PMI-ACP Lesson 03 Nugget 3  Agile Planning, Monitoring, and AdoptingPMI-ACP Lesson 03 Nugget 3  Agile Planning, Monitoring, and Adopting
PMI-ACP Lesson 03 Nugget 3 Agile Planning, Monitoring, and Adopting
 
PMI ACP Classroom Question Paper with Answers
PMI ACP Classroom Question Paper with AnswersPMI ACP Classroom Question Paper with Answers
PMI ACP Classroom Question Paper with Answers
 
PMI-ACP Lesson 08 Nugget 2 Agile & Scrum - Value-Based Prioritization
PMI-ACP Lesson 08 Nugget 2 Agile & Scrum - Value-Based PrioritizationPMI-ACP Lesson 08 Nugget 2 Agile & Scrum - Value-Based Prioritization
PMI-ACP Lesson 08 Nugget 2 Agile & Scrum - Value-Based Prioritization
 
PMI-ACP Lesson 11 Agile Value Stream Analysis
PMI-ACP Lesson 11 Agile Value Stream AnalysisPMI-ACP Lesson 11 Agile Value Stream Analysis
PMI-ACP Lesson 11 Agile Value Stream Analysis
 
PMI-ACP Lesson 08 Nugget 1 Agile & Scrum Value-based Prioritization
PMI-ACP Lesson 08 Nugget 1 Agile & Scrum Value-based PrioritizationPMI-ACP Lesson 08 Nugget 1 Agile & Scrum Value-based Prioritization
PMI-ACP Lesson 08 Nugget 1 Agile & Scrum Value-based Prioritization
 
Communicating agile project status to executive managers
Communicating agile project status to executive managersCommunicating agile project status to executive managers
Communicating agile project status to executive managers
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineering
 
Agile scrum induction
Agile scrum inductionAgile scrum induction
Agile scrum induction
 
PMI-ACP Lesson 9 Agile Risk Management
PMI-ACP Lesson 9 Agile Risk ManagementPMI-ACP Lesson 9 Agile Risk Management
PMI-ACP Lesson 9 Agile Risk Management
 
Scrum Master Interview Questions SlideShare
Scrum Master Interview Questions SlideShareScrum Master Interview Questions SlideShare
Scrum Master Interview Questions SlideShare
 
PMI ACP Classroom Question Paper
PMI ACP Classroom Question PaperPMI ACP Classroom Question Paper
PMI ACP Classroom Question Paper
 
Simulado Scrum master
Simulado Scrum masterSimulado Scrum master
Simulado Scrum master
 
PMI-ACP Study Guide
PMI-ACP Study GuidePMI-ACP Study Guide
PMI-ACP Study Guide
 
Why Agile
Why AgileWhy Agile
Why Agile
 
PMI-ACP Lesson 01 Nugget 2 Agile Methodologies-i
PMI-ACP Lesson 01 Nugget 2 Agile Methodologies-iPMI-ACP Lesson 01 Nugget 2 Agile Methodologies-i
PMI-ACP Lesson 01 Nugget 2 Agile Methodologies-i
 

Similar to PMI-ACP Lesson 06 Quality

Introduce Test Harness for Direct To Consumer Solutions.pdf
Introduce Test Harness for Direct To Consumer Solutions.pdfIntroduce Test Harness for Direct To Consumer Solutions.pdf
Introduce Test Harness for Direct To Consumer Solutions.pdfKnoldus Inc.
 
Accelerating tests with Cypress for a leaderboard platform
Accelerating tests with Cypress for a leaderboard platformAccelerating tests with Cypress for a leaderboard platform
Accelerating tests with Cypress for a leaderboard platformKnoldus Inc.
 
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanBehavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanQA or the Highway
 
Software Testing - Online Guide
Software Testing - Online GuideSoftware Testing - Online Guide
Software Testing - Online Guidebigspire
 
Testing strategies and best practices using MUnit
Testing strategies and best practices using MUnitTesting strategies and best practices using MUnit
Testing strategies and best practices using MUnitJimmy Attia
 
Software Test Engineer with 3.6 years of experience
Software Test Engineer with 3.6 years of experienceSoftware Test Engineer with 3.6 years of experience
Software Test Engineer with 3.6 years of experiencevijaya lakshmi
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Developmentnikhil sreeni
 
Indy meetup#7 effective unit-testing-mule
Indy meetup#7 effective unit-testing-muleIndy meetup#7 effective unit-testing-mule
Indy meetup#7 effective unit-testing-muleikram_ahamed
 
An Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdfAn Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdfKMSSolutionsMarketin
 
How to build confidence in your release cycle
How to build confidence in your release cycleHow to build confidence in your release cycle
How to build confidence in your release cycleDiUS
 
Ads n url development process document (1)
Ads n url development process document (1)Ads n url development process document (1)
Ads n url development process document (1)Saumya Sharma
 
Software Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By SrikanthSoftware Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By SrikanthSrikanth Krishnamoorthy
 
software testing and quality assurance .pdf
software testing and quality assurance .pdfsoftware testing and quality assurance .pdf
software testing and quality assurance .pdfMUSAIDRIS15
 

Similar to PMI-ACP Lesson 06 Quality (20)

Introduce Test Harness for Direct To Consumer Solutions.pdf
Introduce Test Harness for Direct To Consumer Solutions.pdfIntroduce Test Harness for Direct To Consumer Solutions.pdf
Introduce Test Harness for Direct To Consumer Solutions.pdf
 
Accelerating tests with Cypress for a leaderboard platform
Accelerating tests with Cypress for a leaderboard platformAccelerating tests with Cypress for a leaderboard platform
Accelerating tests with Cypress for a leaderboard platform
 
Test Policy and Practices
Test Policy and PracticesTest Policy and Practices
Test Policy and Practices
 
Agile Testing - What is it?
Agile Testing - What is it?Agile Testing - What is it?
Agile Testing - What is it?
 
Agile Testing
Agile Testing  Agile Testing
Agile Testing
 
Agile case studies
Agile case studiesAgile case studies
Agile case studies
 
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh EastmanBehavior Driven Development—A Guide to Agile Practices by Josh Eastman
Behavior Driven Development—A Guide to Agile Practices by Josh Eastman
 
Vandana B
Vandana BVandana B
Vandana B
 
Software Testing - Online Guide
Software Testing - Online GuideSoftware Testing - Online Guide
Software Testing - Online Guide
 
Testing strategies and best practices using MUnit
Testing strategies and best practices using MUnitTesting strategies and best practices using MUnit
Testing strategies and best practices using MUnit
 
Software Test Engineer with 3.6 years of experience
Software Test Engineer with 3.6 years of experienceSoftware Test Engineer with 3.6 years of experience
Software Test Engineer with 3.6 years of experience
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
Indy meetup#7 effective unit-testing-mule
Indy meetup#7 effective unit-testing-muleIndy meetup#7 effective unit-testing-mule
Indy meetup#7 effective unit-testing-mule
 
Agile testing
Agile testingAgile testing
Agile testing
 
An Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdfAn Ultimate Guide to Continuous Testing in Agile Projects.pdf
An Ultimate Guide to Continuous Testing in Agile Projects.pdf
 
How to build confidence in your release cycle
How to build confidence in your release cycleHow to build confidence in your release cycle
How to build confidence in your release cycle
 
Ads n url development process document (1)
Ads n url development process document (1)Ads n url development process document (1)
Ads n url development process document (1)
 
Karthik.S_Resume_Exp 4.11 yrs
Karthik.S_Resume_Exp 4.11 yrsKarthik.S_Resume_Exp 4.11 yrs
Karthik.S_Resume_Exp 4.11 yrs
 
Software Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By SrikanthSoftware Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By Srikanth
 
software testing and quality assurance .pdf
software testing and quality assurance .pdfsoftware testing and quality assurance .pdf
software testing and quality assurance .pdf
 

More from Thanh Nguyen

Building a NFT Marketplace DApp
Building a NFT Marketplace DAppBuilding a NFT Marketplace DApp
Building a NFT Marketplace DAppThanh Nguyen
 
Serverless Architecture 101 ⚡
Serverless Architecture 101 ⚡Serverless Architecture 101 ⚡
Serverless Architecture 101 ⚡Thanh Nguyen
 
The fundamentals of AWS Cloud Security 🛠⛅️🚀
The fundamentals of AWS Cloud Security 🛠⛅️🚀The fundamentals of AWS Cloud Security 🛠⛅️🚀
The fundamentals of AWS Cloud Security 🛠⛅️🚀Thanh Nguyen
 
Migrating Monolithic Applications with the Strangler Pattern
Migrating Monolithic Applications with the Strangler Pattern Migrating Monolithic Applications with the Strangler Pattern
Migrating Monolithic Applications with the Strangler Pattern Thanh Nguyen
 
E301 Elastic Beanstalk PaaS
E301 Elastic Beanstalk PaaSE301 Elastic Beanstalk PaaS
E301 Elastic Beanstalk PaaSThanh Nguyen
 
Serverless Data Lake on AWS
Serverless Data Lake on AWSServerless Data Lake on AWS
Serverless Data Lake on AWSThanh Nguyen
 
SmartChat WhatsApp-clone using AWS Amplify AppSync
SmartChat WhatsApp-clone using AWS Amplify AppSyncSmartChat WhatsApp-clone using AWS Amplify AppSync
SmartChat WhatsApp-clone using AWS Amplify AppSyncThanh Nguyen
 
Introduction to Ethereum Blockchain & Smart Contract
Introduction to Ethereum Blockchain & Smart ContractIntroduction to Ethereum Blockchain & Smart Contract
Introduction to Ethereum Blockchain & Smart ContractThanh Nguyen
 
Amazon AWS Free-Tier
Amazon AWS Free-TierAmazon AWS Free-Tier
Amazon AWS Free-TierThanh Nguyen
 
Rapid Software Development Process
Rapid Software Development ProcessRapid Software Development Process
Rapid Software Development ProcessThanh Nguyen
 
PMI-ACP Case Study
PMI-ACP Case StudyPMI-ACP Case Study
PMI-ACP Case StudyThanh Nguyen
 
PMI-ACP Lesson 10 Agile Metrics
PMI-ACP Lesson 10 Agile MetricsPMI-ACP Lesson 10 Agile Metrics
PMI-ACP Lesson 10 Agile MetricsThanh Nguyen
 

More from Thanh Nguyen (12)

Building a NFT Marketplace DApp
Building a NFT Marketplace DAppBuilding a NFT Marketplace DApp
Building a NFT Marketplace DApp
 
Serverless Architecture 101 ⚡
Serverless Architecture 101 ⚡Serverless Architecture 101 ⚡
Serverless Architecture 101 ⚡
 
The fundamentals of AWS Cloud Security 🛠⛅️🚀
The fundamentals of AWS Cloud Security 🛠⛅️🚀The fundamentals of AWS Cloud Security 🛠⛅️🚀
The fundamentals of AWS Cloud Security 🛠⛅️🚀
 
Migrating Monolithic Applications with the Strangler Pattern
Migrating Monolithic Applications with the Strangler Pattern Migrating Monolithic Applications with the Strangler Pattern
Migrating Monolithic Applications with the Strangler Pattern
 
E301 Elastic Beanstalk PaaS
E301 Elastic Beanstalk PaaSE301 Elastic Beanstalk PaaS
E301 Elastic Beanstalk PaaS
 
Serverless Data Lake on AWS
Serverless Data Lake on AWSServerless Data Lake on AWS
Serverless Data Lake on AWS
 
SmartChat WhatsApp-clone using AWS Amplify AppSync
SmartChat WhatsApp-clone using AWS Amplify AppSyncSmartChat WhatsApp-clone using AWS Amplify AppSync
SmartChat WhatsApp-clone using AWS Amplify AppSync
 
Introduction to Ethereum Blockchain & Smart Contract
Introduction to Ethereum Blockchain & Smart ContractIntroduction to Ethereum Blockchain & Smart Contract
Introduction to Ethereum Blockchain & Smart Contract
 
Amazon AWS Free-Tier
Amazon AWS Free-TierAmazon AWS Free-Tier
Amazon AWS Free-Tier
 
Rapid Software Development Process
Rapid Software Development ProcessRapid Software Development Process
Rapid Software Development Process
 
PMI-ACP Case Study
PMI-ACP Case StudyPMI-ACP Case Study
PMI-ACP Case Study
 
PMI-ACP Lesson 10 Agile Metrics
PMI-ACP Lesson 10 Agile MetricsPMI-ACP Lesson 10 Agile Metrics
PMI-ACP Lesson 10 Agile Metrics
 

Recently uploaded

Reflecting, turning experience into insight
Reflecting, turning experience into insightReflecting, turning experience into insight
Reflecting, turning experience into insightWayne Abrahams
 
From Goals to Actions: Uncovering the Key Components of Improvement Roadmaps
From Goals to Actions: Uncovering the Key Components of Improvement RoadmapsFrom Goals to Actions: Uncovering the Key Components of Improvement Roadmaps
From Goals to Actions: Uncovering the Key Components of Improvement RoadmapsCIToolkit
 
Farmer Representative Organization in Lucknow | Rashtriya Kisan Manch
Farmer Representative Organization in Lucknow | Rashtriya Kisan ManchFarmer Representative Organization in Lucknow | Rashtriya Kisan Manch
Farmer Representative Organization in Lucknow | Rashtriya Kisan ManchRashtriya Kisan Manch
 
How-How Diagram: A Practical Approach to Problem Resolution
How-How Diagram: A Practical Approach to Problem ResolutionHow-How Diagram: A Practical Approach to Problem Resolution
How-How Diagram: A Practical Approach to Problem ResolutionCIToolkit
 
Fifteenth Finance Commission Presentation
Fifteenth Finance Commission PresentationFifteenth Finance Commission Presentation
Fifteenth Finance Commission Presentationmintusiprd
 
Board Diversity Initiaive Launch Presentation
Board Diversity Initiaive Launch PresentationBoard Diversity Initiaive Launch Presentation
Board Diversity Initiaive Launch Presentationcraig524401
 
Call Us🔝⇛+91-97111🔝47426 Call In girls Munirka (DELHI)
Call Us🔝⇛+91-97111🔝47426 Call In girls Munirka (DELHI)Call Us🔝⇛+91-97111🔝47426 Call In girls Munirka (DELHI)
Call Us🔝⇛+91-97111🔝47426 Call In girls Munirka (DELHI)jennyeacort
 
Unlocking Productivity and Personal Growth through the Importance-Urgency Matrix
Unlocking Productivity and Personal Growth through the Importance-Urgency MatrixUnlocking Productivity and Personal Growth through the Importance-Urgency Matrix
Unlocking Productivity and Personal Growth through the Importance-Urgency MatrixCIToolkit
 
LPC Warehouse Management System For Clients In The Business Sector
LPC Warehouse Management System For Clients In The Business SectorLPC Warehouse Management System For Clients In The Business Sector
LPC Warehouse Management System For Clients In The Business Sectorthomas851723
 
Beyond the Five Whys: Exploring the Hierarchical Causes with the Why-Why Diagram
Beyond the Five Whys: Exploring the Hierarchical Causes with the Why-Why DiagramBeyond the Five Whys: Exploring the Hierarchical Causes with the Why-Why Diagram
Beyond the Five Whys: Exploring the Hierarchical Causes with the Why-Why DiagramCIToolkit
 
原版1:1复刻密西西比大学毕业证Mississippi毕业证留信学历认证
原版1:1复刻密西西比大学毕业证Mississippi毕业证留信学历认证原版1:1复刻密西西比大学毕业证Mississippi毕业证留信学历认证
原版1:1复刻密西西比大学毕业证Mississippi毕业证留信学历认证jdkhjh
 
Introduction to LPC - Facility Design And Re-Engineering
Introduction to LPC - Facility Design And Re-EngineeringIntroduction to LPC - Facility Design And Re-Engineering
Introduction to LPC - Facility Design And Re-Engineeringthomas851723
 
Motivational theories an leadership skills
Motivational theories an leadership skillsMotivational theories an leadership skills
Motivational theories an leadership skillskristinalimarenko7
 
Measuring True Process Yield using Robust Yield Metrics
Measuring True Process Yield using Robust Yield MetricsMeasuring True Process Yield using Robust Yield Metrics
Measuring True Process Yield using Robust Yield MetricsCIToolkit
 
Management and managerial skills training manual.pdf
Management and managerial skills training manual.pdfManagement and managerial skills training manual.pdf
Management and managerial skills training manual.pdffillmonipdc
 
Simplifying Complexity: How the Four-Field Matrix Reshapes Thinking
Simplifying Complexity: How the Four-Field Matrix Reshapes ThinkingSimplifying Complexity: How the Four-Field Matrix Reshapes Thinking
Simplifying Complexity: How the Four-Field Matrix Reshapes ThinkingCIToolkit
 
LPC Operations Review PowerPoint | Operations Review
LPC Operations Review PowerPoint | Operations ReviewLPC Operations Review PowerPoint | Operations Review
LPC Operations Review PowerPoint | Operations Reviewthomas851723
 

Recently uploaded (18)

Reflecting, turning experience into insight
Reflecting, turning experience into insightReflecting, turning experience into insight
Reflecting, turning experience into insight
 
From Goals to Actions: Uncovering the Key Components of Improvement Roadmaps
From Goals to Actions: Uncovering the Key Components of Improvement RoadmapsFrom Goals to Actions: Uncovering the Key Components of Improvement Roadmaps
From Goals to Actions: Uncovering the Key Components of Improvement Roadmaps
 
Farmer Representative Organization in Lucknow | Rashtriya Kisan Manch
Farmer Representative Organization in Lucknow | Rashtriya Kisan ManchFarmer Representative Organization in Lucknow | Rashtriya Kisan Manch
Farmer Representative Organization in Lucknow | Rashtriya Kisan Manch
 
How-How Diagram: A Practical Approach to Problem Resolution
How-How Diagram: A Practical Approach to Problem ResolutionHow-How Diagram: A Practical Approach to Problem Resolution
How-How Diagram: A Practical Approach to Problem Resolution
 
Fifteenth Finance Commission Presentation
Fifteenth Finance Commission PresentationFifteenth Finance Commission Presentation
Fifteenth Finance Commission Presentation
 
sauth delhi call girls in Defence Colony🔝 9953056974 🔝 escort Service
sauth delhi call girls in Defence Colony🔝 9953056974 🔝 escort Servicesauth delhi call girls in Defence Colony🔝 9953056974 🔝 escort Service
sauth delhi call girls in Defence Colony🔝 9953056974 🔝 escort Service
 
Board Diversity Initiaive Launch Presentation
Board Diversity Initiaive Launch PresentationBoard Diversity Initiaive Launch Presentation
Board Diversity Initiaive Launch Presentation
 
Call Us🔝⇛+91-97111🔝47426 Call In girls Munirka (DELHI)
Call Us🔝⇛+91-97111🔝47426 Call In girls Munirka (DELHI)Call Us🔝⇛+91-97111🔝47426 Call In girls Munirka (DELHI)
Call Us🔝⇛+91-97111🔝47426 Call In girls Munirka (DELHI)
 
Unlocking Productivity and Personal Growth through the Importance-Urgency Matrix
Unlocking Productivity and Personal Growth through the Importance-Urgency MatrixUnlocking Productivity and Personal Growth through the Importance-Urgency Matrix
Unlocking Productivity and Personal Growth through the Importance-Urgency Matrix
 
LPC Warehouse Management System For Clients In The Business Sector
LPC Warehouse Management System For Clients In The Business SectorLPC Warehouse Management System For Clients In The Business Sector
LPC Warehouse Management System For Clients In The Business Sector
 
Beyond the Five Whys: Exploring the Hierarchical Causes with the Why-Why Diagram
Beyond the Five Whys: Exploring the Hierarchical Causes with the Why-Why DiagramBeyond the Five Whys: Exploring the Hierarchical Causes with the Why-Why Diagram
Beyond the Five Whys: Exploring the Hierarchical Causes with the Why-Why Diagram
 
原版1:1复刻密西西比大学毕业证Mississippi毕业证留信学历认证
原版1:1复刻密西西比大学毕业证Mississippi毕业证留信学历认证原版1:1复刻密西西比大学毕业证Mississippi毕业证留信学历认证
原版1:1复刻密西西比大学毕业证Mississippi毕业证留信学历认证
 
Introduction to LPC - Facility Design And Re-Engineering
Introduction to LPC - Facility Design And Re-EngineeringIntroduction to LPC - Facility Design And Re-Engineering
Introduction to LPC - Facility Design And Re-Engineering
 
Motivational theories an leadership skills
Motivational theories an leadership skillsMotivational theories an leadership skills
Motivational theories an leadership skills
 
Measuring True Process Yield using Robust Yield Metrics
Measuring True Process Yield using Robust Yield MetricsMeasuring True Process Yield using Robust Yield Metrics
Measuring True Process Yield using Robust Yield Metrics
 
Management and managerial skills training manual.pdf
Management and managerial skills training manual.pdfManagement and managerial skills training manual.pdf
Management and managerial skills training manual.pdf
 
Simplifying Complexity: How the Four-Field Matrix Reshapes Thinking
Simplifying Complexity: How the Four-Field Matrix Reshapes ThinkingSimplifying Complexity: How the Four-Field Matrix Reshapes Thinking
Simplifying Complexity: How the Four-Field Matrix Reshapes Thinking
 
LPC Operations Review PowerPoint | Operations Review
LPC Operations Review PowerPoint | Operations ReviewLPC Operations Review PowerPoint | Operations Review
LPC Operations Review PowerPoint | Operations Review
 

PMI-ACP Lesson 06 Quality

  • 1. Copyright 2014, Simplilearn, All rights reserved.1 PMI® & ACP are the registered marks of Project Management Institute, Inc. Copyright 2014, Simplilearn, All rights reserved. Agile Quality PMI®—Agile Certified Practitioner (PMI-ACP)®
  • 2. Copyright 2014, Simplilearn, All rights reserved.2 ● Explain Agile embeds quality throughout the project lifecycle ● Describe Agile Test-First Development and its processes ● Explain Agile Acceptance Test-Driven Development and its stages ● Define the criteria for Done in Agile ● Identify the best practices of Continuous Integration After completing this lesson, you will be able to: Objectives
  • 3. Copyright 2014, Simplilearn, All rights reserved.3 Quality is defined as “conformance to requirements and fitness of use”. Quality can be broadly classified into the following two categories: Quality in Agile Poor quality work results in unreliable products, but more critically, it results in products that are far less responsive to future customer needs.! Technical quality is intrinsic or internal and enables continuous delivery of value over time. Customer quality Customer quality is extrinsic or external and delivers value in the short term. Technical quality
  • 4. Copyright 2014, Simplilearn, All rights reserved.4 The objective of an iteration in Agile must be to produce code that is of ‘near releasable’ or ‘potentially shippable’ quality. This requires the code to have passed through the verification and validation steps. Agile Frequent Verification and Validation Verification is looking for defects in the product to analyze how it differs from intended functionality. Product inspection and peer review can be done to test the product against the stated requirements. Unit or statistical or system tests will be the final measure to help remove defects. Validation is repeatedly checking with the stakeholders if the product meets their requirements. Selected users can perform acceptance testing of ready components or UI prototypes that wire together before writing the code pieces.
  • 5. Copyright 2014, Simplilearn, All rights reserved.5 An iteration in agile development will produce artifacts (typically code, but could be documents) that require verification and validation. ● For requirements and design, the verification and validation is the result of peer reviews with team members and with the customer. ● For coding, verification and validation is done by code reviews, unit testing, and functional and non-functional testing. Agile Frequent Verification and Validation (contd.)
  • 6. Copyright 2014, Simplilearn, All rights reserved.6 Test-First Development (TFD) is also known as Test-Driven Development (TDD) or test-first programming. ● It was first introduced with Extreme Programming (XP). ● It is an evolutionary (iterative and incremental) approach to programming where Agile software developers must first write a test before they write code to make the test pass. ● This develops a rich collection of tests for all code developed. ● These tests are executed by the Integration Server every time a code is compiled. ● The more tests available, the more ‘courage’ testers (developers) have to refactor. Test-First Development
  • 7. Copyright 2014, Simplilearn, All rights reserved.7 The steps involved in TFD process are as follows: Test-First Development (contd.)
  • 8. Copyright 2014, Simplilearn, All rights reserved.8 The advantages of TDD are as follows: ● TDD ensures developers to do detailed design just in time (JIT) before writing the code. ● It ensures that agile developers have testing code available to validate their work, ensuring that they test as often and early as possible. ● It allows developers to refactor their code to keep it in the highest quality possible, as the test suite will detect if they have ‘broken’ anything as the result of refactoring. ● TDD substantially reduces the incidence of defects [Janzen & Saiedian]. ● It improves design, documents public interfaces, and guards against future mistakes. Advantages of TDD
  • 9. Copyright 2014, Simplilearn, All rights reserved.9 Acceptance Test Driven Development (ATDD) focuses on writing requirements in a testable form. ● Unit tests in TDD focus on building the code right; Acceptance Tests focus on building the right code. ● Each requirement is expressed in terms of inputs and expected outputs. ● ATDD requirements are documented in Wiki pages that can be executed once the code is complete. ● ATDD involves creating tests before code, and those tests represent expectations of behavior the software should have. ● Acceptance tests are ‘black box’ tests. They test the behavior of functionality of the system. ● Unit tests are ‘white box’ test. They test the internals of the system. Acceptance Test Driven Development
  • 10. Copyright 2014, Simplilearn, All rights reserved.10 The ATDD Cycle comprises four stages, discuss, distill, develop, and demo. ATDD Cycle Demo Discuss Develop Distill ● A discussion is held with the business stakeholder, requesting the features. ● An understanding of the stakeholder expectations is established. ● Acceptance tests in collaboration with the stakeholder can then be created. ● The tests are captured in a format that works with the test automation framework. ● A variety of test automation frameworks that support defining the tests before the implementation: FIT, Fitnesse, Concordian, and Robot Framework. While implementing the code, developers will follow the Test Driven Development techniques of writing tests, ● watching them fail, ● write codes, ● watch the tests pass, refactor, etc. ● Acceptance tests for all the completed stories are executed to demonstrate that they have passed. ● Manual exploratory testing to reveal gaps in the acceptance criteria and to discover defects that might occur when multiple user stories are executed in a scenario.
  • 11. Copyright 2014, Simplilearn, All rights reserved.11 IBM team has sustained the use of TDD for five years and over ten releases of a Java-implemented product. A set of experiments was conducted with professional programmers to validate the effectiveness of TDD. Experiment 1: Develop a short program in Java to automate the scoring of a bowling game. The results of the experiment conducted are given below: Effectiveness of TDD—Experiment Team using TDD Technique ● Developers took 16% more time to write the tests and then develop the code ● Passed 18% more functional black box test cases ● Developers came up with good quality automated test cases Team not using TDD Technique ● Developers took relatively less time to develop the code ● Passed relatively fewer black box test cases ● Developers did not write any worthwhile automated test cases
  • 12. Copyright 2014, Simplilearn, All rights reserved.12 TDD practice Test-last practice Development Time and Quality Development time Quality Effectiveness of TDD—Experiment (contd.) Experiment 2: To determine the effectiveness of TDD, each practitioner was asked to complete a programming task using both TDD practice and test-last practice, each taking approximately 5 hours. Result: TDD requires more development time. But the improved quality could offset this initial increase in development time. The test-last practice resulted in poor quality, though the initial time taken is less. Conclusion: Agile focusses on value delivery rather than tasks completed. The TDD technique leads developers to design precise and accurate test cases.
  • 13. Copyright 2014, Simplilearn, All rights reserved.13 Every project will have its own definition of Done. It’s important for the team to agree to the definition of Done and commit to it. Often, the definition of Done is an Information Radiator that is posted in the team room. Definition of ‘Done’ should include the following criteria: ● It has been tested and has passed user acceptance or client approval. ● It has passed an in-house iteration review. ● It is of a ‘shippable’ or ‘deliverable’ quality. Definition of Done
  • 14. Copyright 2014, Simplilearn, All rights reserved.14 Following is a sample checklist for story completion criteria. Teams must come up with their own checklists, before marking a story ‘complete’. Checklist for Story Completion Story is tested. Functional code is written. Design is complete and refactoring is done. Story is integrated across different components. Story is integrated into the build system and is a part of the build. Story is available through the installer. Story can be migrated if required. Story is reviewed by stakeholders and confirmed that it meets their requirements. All the identified bugs have been fixed. Customers have accepted that the story is complete.
  • 15. Copyright 2014, Simplilearn, All rights reserved.15 Continuous Integration is one of the twelve practices of Extreme programming. ● It is an approach that keeps all the code integrated and builds release infrastructure along with the rest of the application. ● It can often be used as a visual information radiator by attaching lava lamps or some other signaling device to the integration server. The red lava indicates the build is broken and the green lava lamp means the build is successful. Continuous Integration
  • 16. Copyright 2014, Simplilearn, All rights reserved.16 Best practices of Continuous Integration are as follows: Best Practices of Continuous Integration
  • 17. Copyright 2014, Simplilearn, All rights reserved.17 Quiz
  • 18. Copyright 2014, Simplilearn, All rights reserved.18 QUIZ a. b. c. d. Which of the following is not true about Test-First Development? 1 Is an evolutionary approach to programming where agile software developers must first write a test that fails before they write new functional code. It involves updating the functional code if the new test is passed. It passes user acceptance or client approval. It is also known as Test-Driven Development (TDD).
  • 19. Copyright 2014, Simplilearn, All rights reserved.19 QUIZ a. b. c. d. 1 Answer: d. Explanation: It passes user acceptance or client approval is the definition of ‘Done’ and not Test-Driven Development. Which of the following is not true about Test-First Development? It is also known as Test-Driven Development (TDD). Is an evolutionary approach to programming where agile software developers must first write a test that fails before they write new functional code. It involves updating the functional code if the new test is passed. It passes user acceptance or client approval.
  • 20. Copyright 2014, Simplilearn, All rights reserved.20 QUIZ a. b. c. d. 2 Distill, Develop, Discuss, Demo Discuss, Develop, Demo, Acceptance Develop, Distill, Demo, Acceptance Discuss, Distill, Develop, Demo Which of the following correctly states the components and sequence of the ATDD cycle?
  • 21. Copyright 2014, Simplilearn, All rights reserved.21 QUIZ a. b. c. d. 2 Answer: a. Explanation: Discuss, Distill, Develop, and Demo are the four stages in the ATDD cycle. Which of the following correctly states the components and sequence of the ATDD cycle? Distill, Develop, Discuss, Demo Discuss, Develop, Demo, Acceptance Develop, Distill, Demo, Acceptance Discuss, Distill, Develop, Demo
  • 22. Copyright 2014, Simplilearn, All rights reserved.22 QUIZ a. b. c. d. 3 Video Value Demo Product What does customer quality deliver?
  • 23. Copyright 2014, Simplilearn, All rights reserved.23 QUIZ a. b. c. d. 3 Answer: c. Explanation: Customer quality delivers value. What does customer quality deliver? Video Value Demo Product
  • 24. Copyright 2014, Simplilearn, All rights reserved.24 QUIZ a. b. c. d. 4 It has been tested and has not passed user acceptance or client approval. It has been tested and has passed user acceptance or client approval. It is “shippable” or “deliverable”. When code is developed. What of the following does not mean done?
  • 25. Copyright 2014, Simplilearn, All rights reserved.25 QUIZ a. b. c. d. 4 Answer: a. Explanation: Only the code being completed does not signify the completion or done. What of the following does not mean done? It has been tested and has not passed user acceptance or client approval. It has been tested and has passed user acceptance or client approval. It is “shippable” or “deliverable”. When code is developed.
  • 26. Copyright 2014, Simplilearn, All rights reserved.26 QUIZ a. b. c. d. 5 It ensures that their code is always defect free. It reduces the questions from management on whether the code has been tested properly. It reduces the re-work developers would have to do and gives them the courage to refactor. It prevents them from avoiding the difficult task of writing tests. How does TDD help developers?
  • 27. Copyright 2014, Simplilearn, All rights reserved.27 QUIZ a. b. c. d. 5 Answer: d. Explanation: Refactoring is most effective with Test Driven Development. How does TDD help developers? It ensures that their code is always defect free. It reduces the questions from management on whether the code has been tested properly. It reduces the re-work developers would have to do and gives them the courage to refactor. It prevents them from avoiding the difficult task of writing tests.
  • 28. Copyright 2014, Simplilearn, All rights reserved.28 QUIZ a. b. c. d. 6 No, information radiators are for project progress indicators only. Yes, but only if each team member agrees to update a whiteboard with status every time they commit code. Yes, information from Continuous Integration can be radiated using osmosis. Yes, lava lamps can be used to show the status of the builds by wiring them to the integration server. Can Continuous Integration have an Information Radiator?
  • 29. Copyright 2014, Simplilearn, All rights reserved.29 QUIZ a. b. c. d. 6 Answer: a. Explanation: Many development teams have hooked their integration server to lava lamps, with green lava lamps for success and red for failure. Can Continuous Integration have an Information Radiator? No, information radiators are for project progress indicators only. Yes, but only if each team member agrees to update a whiteboard with status every time they commit code. Yes, information from Continuous Integration can be radiated using osmosis. Yes, lava lamps can be used to show the status of the builds by wiring them to the integration server.
  • 30. Copyright 2014, Simplilearn, All rights reserved.30 ● Customer quality delivers value in the short term while technical quality enables continuous delivery of value over time. ● The objective of an iteration in Agile must be to produce code that is of ‘near releasable’ or ‘potentially shippable’ quality. This requires the code to have passed through the verification and validation steps. ● TDD is an iterative and incremental approach to programming where Agile software developers must first write a test before they write code to make the test pass. ● ATDD focuses on writing requirements in a testable form. ● For a story to be done, it has to be tested, passed user acceptance test and an in-house iteration review, and should be of a ‘shippable’ or ‘deliverable’ quality. ● Continuous Integration is an approach that keeps all the code integrated and builds release infrastructure along with rest of the application. Summary Here is a quick recap of what was covered in this lesson:
  • 31. Copyright 2014, Simplilearn, All rights reserved.31 Copyright 2014, Simplilearn, All rights reserved.PMI® & ACP are the registered marks of Project Management Institute, Inc. THANK YOU