testing why it should be fully integrated in the application lifecycle
Download
Skip this Video
Download Presentation
Testing , why it should be fully integrated in the application lifecycle ?

Loading in 2 Seconds...

play fullscreen
1 / 25

Testing , why it should be fully integrated in the application lifecycle ? - PowerPoint PPT Presentation


  • 75 Views
  • Uploaded on

Testing , why it should be fully integrated in the application lifecycle ?. Danny Crone - nFocus. Overview. What is testing? Where have we come from? Where are we now? Why is nFocus at MSAIC?. minimise tech support costs. prove it is secure. Why do we test?. find bugs.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Testing , why it should be fully integrated in the application lifecycle ?' - sutton


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
testing why it should be fully integrated in the application lifecycle

Testing, why it should be fully integrated in the application lifecycle?

Danny Crone - nFocus

overview
Overview
  • What is testing?
  • Where have we come from?
  • Where are we now?

Why is nFocus at MSAIC?

why do we test

minimise tech support costs

  • prove it is secure
Why do we test?
  • find bugs
  • check that changes haven’t broken it
  • to see if it is quick enough
  • prove it works
  • is it usable
  • is it reliable
  • check conformance with regulations
  • ensure we can install it
what is testing
What is testing?

Testing is many things to many different people but we believe that testing:

  • Reduces the risk of failure
  • Increases the confidence of success
  • Supplies key information to make decisions
where have we come from
Where have we come from?
  • Waterfall
  • Testing at the end
waterfall model planned
Waterfall Model (planned)

Requirements

Design

Implementation

Testing

Maintenance

waterfall model reality
Waterfall Model (reality)

Requirements

Design

Implementation

Squeeze

Testing

Squeeze

Maintenance

where have we come from1
Where have we come from?
  • Waterfall
  • Testing at the end
  • Mostly manual testing
  • Automated testing was difficult
    • Got bad press (record/playback)
  • Often seen as a cost
    • Tick in the box
    • Didn’t understand inherent value in testing
where are we now
Where are we now?
  • What is agile?
  • How do we test using agile principles?
  • What does “done” look like?
what is agile
What is agile?
  • Agile and nFocus
  • Manifesto – principles and intentions
manifesto for agile software development
Manifesto for Agile Software Development

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

That is, while there is value in the items on the right, we value the items on the left more.

what is agile1
What is agile?
  • Agile and nFocus
  • Manifesto – principles and intentions
  • Short iterations – Sprints in Scrum
  • Works for development but challenges for test
    • Growing regression bucket
    • Agile embraces change but change can de-stabilise
  • Highly people focused
how do we test using agile principles
How do we test using agile principles?
  • Plan and design for testing
    • Don’t assume it will be easy
  • Use the quadrants, Luke
agile testing quadrants
Agile Testing Quadrants

Manual

Automated

& Manual

Business-Facing

Supporting the Team

Critique Product

Tools

Automated

Technology-Facing

Original idea by Brian Marick, www.exampler.com

agile testing quadrants1
Agile Testing Quadrants

Manual

Automated

& Manual

Business-Facing

Supporting the Team

Critique Product

Tools

Automated

Technology-Facing

Original idea by Brian Marick, www.exampler.com

agile testing quadrants2
Agile Testing Quadrants

Manual

Automated

& Manual

Business-Facing

Supporting the Team

Critique Product

Tools

Automated

Technology-Facing

Original idea by Brian Marick, www.exampler.com

agile testing quadrants3
Agile Testing Quadrants

Manual

Automated

& Manual

Business-Facing

Supporting the Team

Critique Product

Tools

Automated

Technology-Facing

Original idea by Brian Marick, www.exampler.com

how do we test using agile principles1
How do we test using agile principles?
  • Automation
    • Goes someway to solve challenges
    • Automate as much as is feasibly possible
    • Just software too
    • Code architecture needs to support automation
    • Layered architectures work best
    • Bake into build and deploy process (twitter)
how do we test using agile principles2
How do we test using agile principles?
  • Manual testing
    • Exploratory testing
    • Frameworks help single definition
    • Adds value but long term becomes cost
  • Always pick the right tools for the right job
    • Is VS2010 the right tools??
what does done look like
What does “done” look like?
  • We know that testing is infinite
  • So we must prioritise
    • Most important
    • Most difficult
  • Testing forms a large part of what “done” looks like
  • Bring on the “done” thinking grid
done thinking grid
“done” thinking grid
  • Testing play a key part in “doneness”
  • User story clarity
  • Environment ready
  • Code complete
  • Automated code review
  • Functional testing
  • Tasks identified
  • Design complete
  • Unit tests executed
  • Peer review
  • Regression testing
  • Build setup changes
  • Unit test cases written
  • Refactoring
  • Code coverage
  • Performance testing
  • Product owner approval
  • Documentation
  • Code checkin
  • Burndown chart ready
  • Acceptance testing
  • Product backlog updated
  • Pre-release builds
  • Code merging and tagging
  • Release build
  • Closure
summary
Summary
  • Agile represents progress
  • Agile is a mindset that embraces change
  • Testing solves some of the agile challenges
    • “Done”, Information, Culture, Working software
  • Whole team approach to quality (test-infected)
    • Includes architects
    • Solution needs to be testable
    • Architecture needs to enable automation
  • Reflect
  • Why nFocus at MSAIC
resources
Resources
  • Agile Manifesto
    • http://agilemanifesto.org
  • Definition of Done
    • http://www.scrumalliance.org/articles/106-definition-of-done-a-reference
  • Agile testing quadrants
    • http://www.exampler.com
  • nFocus Blog
    • http://blog.nfocus.co.uk
  • Danny Crone
testing why it should be fully integrated in the application lifecycle1
Testing, why it should be fully integrated in the application lifecycle?
  • We\'ve come a long way from the days of testing coming last after report generation within the development lifecycle. Agile development practices and tooling have reaped many benefits but how do we ensure that testing is integrated end-end through out the lifecycle? How can testing become a first class citizen and what is the role of the architect in ensuring testing is made so?
ad