• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Gabriele Lana: Testing Web Applications
 

Gabriele Lana: Testing Web Applications

on

  • 6,604 views

 

Statistics

Views

Total Views
6,604
Views on SlideShare
6,554
Embed Views
50

Actions

Likes
5
Downloads
192
Comments
1

2 Embeds 50

http://www.phpday.it 47
http://www.slideshare.net 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • The usage of imagery in this slideshow is very effective. You have done a fantastic job here friend.
    Teisha
    http://dashinghealth.com http://healthimplants.com
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Gabriele Lana: Testing Web Applications Gabriele Lana: Testing Web Applications Presentation Transcript

    • Testing Web Applications Gabriele Lana www.gabrielelana.it info@gabrielelana.it
    • Debug Sucks Test Rocks
    • Why Test Automation?
    • Prevent Change
    • Hard To Change Costo Costo x Modifica nel Tempo Tempo
    • Always Change 60%-80% of all software is developed after first release to production
    • Reject Change Costo x Modifica Costo Insostenibile E' impossibile lavorarci! Rifacciamolo! Tempo
    • Automatic Test What = Test How = Code
    • Embrace Change Costo Tempo
    • Embrace Change = Sostenibilità
    • Bug Fixing
    • Bug Fix Costo #Bugs
    • #Bugs? Costo Totale = Costo (Numero Bugs)? X (Costo del singolo Bug) #Bugs
    • How Hard To Fix?
    • How Hard To Fix? Costo Costo Totale = (Numero Bugs)? X (Costo del singolo Bug)? #Bugs
    • Bug Repellent
    • Automatic Test Costo Lines Of Code
    • Automatic Test Costo Lines Of Code
    • Defect Prevention = Prevedibilità
    • Defect != Bug
    • Planning
    • Feedback
    • Sensing Code (Unit Tests)
    • Sensing Architecture (Functional Tests)
    • Sensing Product (Acceptance Tests)
    • Do Learn Sense
    • Feedback = Governabilità
    • Automatic Tests => Sostenibilità Prevedibilità Governabilità
    • Test Automation Lifecycle
    • Fixture All the things we need to have in place in order to run a test and expect a particular outcome
    • 1: Fixture SetUp Fixture Fixture SetUp
    • SUT The “System Under Test”, whatever thing we are testing
    • 2: Exercise SUT Fixture Fixture SetUp Exercise SUT SUT
    • 3: Verify Result Fixture Fixture SetUp Exercise SUT SUT Verify Result
    • 4: Fixture TearDown Fixture Fixture SetUp Exercise SUT SUT Verify Result Fixture TearDown
    • Test Automation Identity
    • Tools
    • Who? What? Why?
    • Who? Chi lo scrive? A chi da valore? Chi lo legge?
    • What? Quali sono le Qual'è il SUT? condizioni?
    • Why? Qual'è lo scopo? Cosa voglio verificare? Quali informazioni voglio avere?
    • Unit Tests
    • Who? Developers
    • What? Unit Of Code
    • Why? Verify Code Behaviour, Code Documentation
    • Unit Test Test Function • Method • Unit Procedure • ... •
    • Unit Test Database • File System Test • Configuration • X OS • Unit
    • Unit Test Test X Network X Unit
    • Unit Test Test X X X Unit Unit
    • Tools Simple Test (http://www.lastcraft.com/simple_test.php) PHPUnit (http://www.phpunit.de)
    • 1: Fixture SetUp
    • 2: Exercise SUT
    • 3: Verify Result
    • 4: Fixture TearDown
    • If total() < 100 then no discount If daysUntilLastSelling() > 30 then no discount If daysUntilLastSelling() < 30 and total() > 100 then discount
    • New Requirement
    • If total() < 100 then no discount If daysUntilLastSelling() > 30 then no discount If daysUntilLastSelling() < 30 and total() > 100 then discount
    • Embrace Change?
    • Test Behaviour Not Code
    • If total() < 100 then no discount If daysUntilLastSelling() > 30 then no discount If daysUntilLastSelling() < 30 and total() > 100 then discount
    • If total() < 100 then no discount If daysUntilLastSelling() > 30 then no discount If daysUntilLastSelling() < 30 and total() > 100 then discount
    • If total() < 100 then no discount If daysUntilLastSelling() > 30 then no discount If daysUntilLastSelling() < 30 and total() > 100 then discount
    • Why? Test Driven Development = Code Design
    • Code Coverage
    • Integration Tests
    • Who? Developers
    • What? Units Of Code
    • Why? Verify Code Behaviour, Code Documentation, Code Design
    • Database Tests
    • Who? Developers, DBA
    • What? Stored Procedure, Complex Query, Data Migration
    • Why? Wrong data is source of bugs!
    • Functional Tests
    • Who? Developers, Customer
    • What? Application
    • Why? Verify Application Behaviour, Application Design
    • What? HTTP
    • Tools Selenium (http://www.openqa.org/selenium)
    • What? HTTP
    • What? Presentation Vs Business Logic
    • Acceptance Tests
    • Who? Customer
    • What? Application
    • Why? Product Design, Product Specification
    • Tools Fit/Fitness/PHPFit (http://fit.c2.com/) (http://fitnesse.org/) (http://phpfit.berlios.de/)
    • Continuous Integration
    • Where? When? Run Automatic Tests
    • When?/Where? Unit Tests, Integration Tests, Database Tests, Acceptance Tests
    • When?/Where? (All Previous) + Smoke Tests
    • When?/Where? (All Previous) + Load/Performance/Security Tests + Migration/Installation/Configuration Tests
    • Test Automation Genesis
    • Risk Analysis
    • Brian Marick Cathegories Business Facing Support Programming Support Product Technology Facing
    • Brian Marick Cathegories Business Facing Support Programming Support Product Unit Tests Technology Facing
    • Brian Marick Cathegories Business Facing Support Programming Support Product Acceptance Tests Unit Tests Technology Facing
    • Brian Marick Cathegories Business Facing Support Programming Support Product Acceptance Tests Load/ Unit Security Tests Tests Technology Facing
    • Automatic Business Facing Support Programming Usability/ Support Product Acceptance Exploratory Tests Tests Load/ Unit Security/ Tests Tests Technology Facing
    • All Tests should be Automatic?
    • Manual Business Facing Support Programming Usability/ Support Product Acceptance Exploratory Tests Tests Load/ Unit Security/ Tests Tests Technology Facing
    • Manual Tests Drive Automatic Tests
    • Test Automation
    • Pay Attention to Test Automation
    • “An imperfect test today is better than a perfect test someday”
    • Test Automation = Process Improvement
    • Debug Sucks Test Rocks
    • Testing Web Applications Gabriele Lana www.gabrielelana.it info@gabrielelana.it