web application software testing
DESCRIPTION
Building websites like applications means bringing more attention to testing. From unit tests early on to load and regression testing later in the game, the primary purpose of testing is to detect software failures so that defects are discovered and corrected before they make it to the customer. Depending on your size, different testing strategies and things like automation may or may not be necessary. I'll cover some great free tools, some simple command line scripts as well as some commercial choices for the various types of testing.TRANSCRIPT
![Page 1: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/1.jpg)
By Andrew Kandels
Web Application Testing
![Page 2: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/2.jpg)
Testing Practices
Unit TestingEngineers
Regression TestingQuality Assurance, Engineers
Load TestingSystem Administrators, Engineers
Usability TestingDesigners, Random Audience, Existing Customers
![Page 3: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/3.jpg)
Testing Practices
Functional TestingQA, Customer Service, SalesEnvironmental TestingSystem Administrators, Engineers
Cross Browser TestingEveryone
Device / Mobile TestingEveryone
![Page 4: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/4.jpg)
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
![Page 5: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/5.jpg)
The Code
![Page 6: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/6.jpg)
The Test
![Page 7: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/7.jpg)
Behavior Modification
![Page 8: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/8.jpg)
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
![Page 9: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/9.jpg)
Benefits
Write tests for failing code.• Problem is replicated and clearly described
• Fix is proven by demonstration
![Page 10: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/10.jpg)
Code Coverage
Describes the degree in which a product is tested:
![Page 11: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/11.jpg)
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
![Page 12: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/12.jpg)
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
![Page 13: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/13.jpg)
Selenium
seleniumhq.org
Open Source
• Clicks links
• Fills out forms
• Scans for content
• Runs in-browser
• Interacts as a user would
• WebDriver Compatible
![Page 14: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/14.jpg)
Selenium in Action
![Page 15: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/15.jpg)
Watir
watir.com
Open Source
• Test with Ruby
• Multi-browser (WebDriver)
• Headless Mode
• Connects to Databases
• Measure Performance
![Page 16: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/16.jpg)
Watir in Action
![Page 17: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/17.jpg)
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
![Page 18: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/18.jpg)
wget
![Page 19: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/19.jpg)
Neustar
![Page 20: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/20.jpg)
Usability Testing
Evaluate your product using real users to:
• Discover errors
• Identify areas for improvement
• Efficiency
• Accuracy
• Recall
• Emotional Response
![Page 21: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/21.jpg)
Hallway Testing
Participants chosen from a random pool.
Can be cost prohibitive for smaller companies.
![Page 22: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/22.jpg)
Click Tracking
labsmedia.com
Price: Free
ClickHeat is a visual heatmap of clicks on a web page.
![Page 23: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/23.jpg)
Crowd Sourcing
conceptfeedback.com
Price: Free
Submit your ideas, designs, products to an expert community for feedback.
![Page 24: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/24.jpg)
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.
![Page 25: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/25.jpg)
Cross Browser Testing
browserling.com
Free Version (5 minute sessions)
• Driven by HTML5 Canvas
• Multiple Browser Support
• Reverse Proxy Support
• Automated Regression Support
![Page 26: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/26.jpg)
Device / Mobile Testing
Emulators and simulators are your best bet.
Opera mini, blackberry, Android, iPhone, simulate headers, etc.
![Page 27: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/27.jpg)
Lower Environments
turnkeylinux.org
Free• Rapidly deploy applications
• Download or on the cloud
• Latest versions
![Page 28: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/28.jpg)
Test / Sample Data
![Page 29: Web Application Software Testing](https://reader034.vdocuments.site/reader034/viewer/2022042714/5537ec3f4a79597a748b4661/html5/thumbnails/29.jpg)
The End
Andrew KandelsWeb: http://andrewkandels.com
GitHub: https://github.com/akandels
Twitter: @andrewkandels