Web Application Testing By Andrew Kandels
Testing Practices Unit Testing Engineers Regression Testing Quality Assurance, Engineers Load Testing System Administrators, Engineers Usability Testing Designers, Random Audience, Existing Customers
Testing Practices Functional Testing QA, Customer Service, Sales Environmental Testing System Administrators, Engineers Cross Browser Testing Everyone Device / Mobile Testing Everyone
Unit Testing Test driven development (TDD) encourages simple designs and inspires confidence. Tests define: • The expected behavior • What you want to achieve • What your program should do
The Code
The Test
Behavior Modification
Benefits There are numerous advantages: • You have an execution environment for running your code • You have a place to document business rules • Dramatically simplifies refactoring • Forces you to write smaller, less complex functions and methods
Benefits Write tests for failing code. • Problem is replicated and clearly described • Fix is proven by demonstration
Code Coverage Describes the degree in which a product is tested:
Tools Unit testing frameworks are available in almost any language: • PHP’s PHPUnit • Java’s JUnit • Ruby’s Test::Unit • iOS / Objective C (native) • Python’s unittest • .NET’s xUnit
Regression Testing Automated scripts or playback of recordings. • Verify changes don’t introduce unexpected faults • Monitor performance changes • Checks correctness of the program and its output • Interacts with the program as a user would
Selenium seleniumhq.org Open Source • Clicks links • Fills out forms • Scans for content • Runs in-browser • Interacts as a user would • WebDriver Compatible
Selenium in Action
Watir watir.com Open Source • Test with Ruby • Multi-browser (WebDriver) • Headless Mode • Connects to Databases • Measure Performance
Watir in Action
Load Testing Measure response times after simulating real traffic. • Ensure changes don’t impact performance • Determine hardware/network requirements • Expose bugs (race conditions) • Simulate customer behavior at scale
wget
Neustar
Usability Testing Evaluate your product using real users to: • Discover errors • Identify areas for improvement • Efficiency • Accuracy • Recall • Emotional Response
Hallway Testing Participants chosen from a random pool. Can be cost prohibitive for smaller companies.
Click Tracking labsmedia.com Price: Free ClickHeat is a visual heatmap of clicks on a web page.
Crowd Sourcing conceptfeedback.com Price: Free Submit your ideas, designs, products to an expert community for feedback.
Five Second Test fivesecondtest.com Price: Free Helps you fine tune your landing pages and calls to action by analyzing the most prominent elements of your design.
Cross Browser Testing browserling.com Free Version (5 minute sessions) • Driven by HTML5 Canvas • Multiple Browser Support • Reverse Proxy Support • Automated Regression Support
Device / Mobile Testing Emulators and simulators are your best bet. Opera mini, blackberry, Android, iPhone, simulate headers, etc.
Lower Environments turnkeylinux.org Free • Rapidly deploy applications • Download or on the cloud • Latest versions
Test / Sample Data
The End Andrew Kandels Web: http://andrewkandels.com GitHub: https://github.com/akandels Twitter: @andrewkandels

Web Application Software Testing

  • 1.
    Web Application Testing By Andrew Kandels
  • 2.
    Testing Practices Unit Testing Engineers RegressionTesting Quality Assurance, Engineers Load Testing System Administrators, Engineers Usability Testing Designers, Random Audience, Existing Customers
  • 3.
    Testing Practices Functional Testing QA,Customer Service, Sales Environmental Testing System Administrators, Engineers Cross Browser Testing Everyone Device / Mobile Testing Everyone
  • 4.
    Unit Testing Test drivendevelopment (TDD) encourages simple designs and inspires confidence. Tests define: • The expected behavior • What you want to achieve • What your program should do
  • 5.
  • 6.
  • 7.
  • 8.
    Benefits There are numerousadvantages: • You have an execution environment for running your code • You have a place to document business rules • Dramatically simplifies refactoring • Forces you to write smaller, less complex functions and methods
  • 9.
    Benefits Write tests forfailing code. • Problem is replicated and clearly described • Fix is proven by demonstration
  • 10.
    Code Coverage Describes thedegree in which a product is tested:
  • 11.
    Tools Unit testing frameworksare available in almost any language: • PHP’s PHPUnit • Java’s JUnit • Ruby’s Test::Unit • iOS / Objective C (native) • Python’s unittest • .NET’s xUnit
  • 12.
    Regression Testing Automated scriptsor playback of recordings. • Verify changes don’t introduce unexpected faults • Monitor performance changes • Checks correctness of the program and its output • Interacts with the program as a user would
  • 13.
    Selenium seleniumhq.org Open Source • Clicks links • Fills out forms • Scans for content • Runs in-browser • Interacts as a user would • WebDriver Compatible
  • 14.
  • 15.
    Watir watir.com Open Source • Test with Ruby • Multi-browser (WebDriver) • Headless Mode • Connects to Databases • Measure Performance
  • 16.
  • 17.
    Load Testing Measure responsetimes after simulating real traffic. • Ensure changes don’t impact performance • Determine hardware/network requirements • Expose bugs (race conditions) • Simulate customer behavior at scale
  • 18.
  • 19.
  • 20.
    Usability Testing Evaluate yourproduct using real users to: • Discover errors • Identify areas for improvement • Efficiency • Accuracy • Recall • Emotional Response
  • 21.
    Hallway Testing Participants chosen from a random pool. Can be cost prohibitive for smaller companies.
  • 22.
    Click Tracking labsmedia.com Price: Free ClickHeat is a visual heatmap of clicks on a web page.
  • 23.
    Crowd Sourcing conceptfeedback.com Price: Free Submit your ideas, designs, products to an expert community for feedback.
  • 24.
    Five Second Test fivesecondtest.com Price: Free Helps you fine tune your landing pages and calls to action by analyzing the most prominent elements of your design.
  • 25.
    Cross Browser Testing browserling.com Free Version (5 minute sessions) • Driven by HTML5 Canvas • Multiple Browser Support • Reverse Proxy Support • Automated Regression Support
  • 26.
    Device / MobileTesting Emulators and simulators are your best bet. Opera mini, blackberry, Android, iPhone, simulate headers, etc.
  • 27.
    Lower Environments turnkeylinux.org Free • Rapidly deploy applications • Download or on the cloud • Latest versions
  • 28.
  • 29.
    The End Andrew Kandels Web:http://andrewkandels.com GitHub: https://github.com/akandels Twitter: @andrewkandels