Practical Web Test Automation
Practical Web Test Automation
$15.00
Minimum
$30.00
Suggested
Practical Web Test Automation

This book is 100% complete

Completed on 2018-09-18

About the Book

While few people deny the benefits of test automation, comprehensive automated testing via UI (browser for web applications) is rarely implemented in software projects. Common reasons for projects' failed attempts on test automation are:

  • Difficult to learn - test scripts are complex and testing tools are not easy to use
  • Hard to maintain - UI tests are vulnerable to application changes
  • Long feedback loop - automated tests take too long to run

To succeed in automated testing via UI, software projects need to overcome all these 3 challenges.

This book presents a practical approach to implementing test automation for web applications. Topics include:

  • Developing easy to read and maintain Selenium WebDriver tests using next-generation functional testing tool
  • Page object model
  • Functional Testing Refactorings
  • Cross-browser testing
  • Setting up continuous testing server to manage execution of a large number of automated UI tests
  • Requirement traceability matrix
  • Strategies on team collaboration and test automation adoption in projects and organizations

To help readers learn more effectively, the book has a dedicated site containing the following resources:

  • Software. Test automation is not necessarily expensive. All test frameworks featured in this book are free and open-source.
  • Sample test scripts. Ready-to-run test scripts for the exercises in the book.
  • Demo web sites. Two demo sites were created for readers to try out test scripts.
  • Tutorial screencasts. You will be able to see how exercises are done step by step.

Table of Contents

  • Preface
    • Who should read this book?
    • How to read this book?
    • What’s inside the book?
    • Test scripts, Screencasts and other resources
    • Send me feedback
    • Acknowledgements
  • 1. What is Web Test Automation?
    • 1.1 Test automation benefits
    • 1.2 Reality check
    • 1.3 Reasons for test automation failures
    • 1.4 Successful web test automation
    • 1.5 Learning approach
    • 1.6 Next action
  • 2. First Automated Test
    • 2.1 Test Design
    • 2.2 Installing TestWise (about 2 minutes)
    • 2.3 Create test
    • 2.4 Create test case from recorded test steps
    • 2.5 Run test in browser
    • 2.6 When a test failed…
    • 2.7 Wrap up
  • 3. How Automated Testing works
    • 3.1 Web test drivers
    • 3.2 Automated testing rhythm
    • 3.3 Test frameworks
    • 3.4 Run tests from command line
  • 4. TestWise - Functional Testing IDE
    • 4.1 Philosophy of TestWise
    • 4.2 TestWise project structure
    • 4.3 Test execution
    • 4.4 Keyboard navigation
    • 4.5 Snippets
    • 4.6 Script library
    • 4.7 Test refactoring
    • 4.8 Wrap up
  • 5. Case Study
    • 5.1 Test site
    • 5.2 Preparation
    • 5.3 Create test project
    • 5.4 Test Suite: Sign in
    • 5.5 Test Suite: Select Flights
    • 5.6 Enter passenger details
    • 5.7 Book confirmation after payment
    • 5.8 Run all tests
    • 5.9 Wrap up
  • 6. Maintainable Functional Test Design
    • 6.1 Record/Playback leads to unmaintainable test scripts
    • 6.2 Success criteria
    • 6.3 Maintainable automated test design
    • 6.4 Maintain with ease
    • 6.5 Case Study: refine test scripts
    • 6.6 Wrap Up
  • 7. Test Automation Characteristics
    • 7.1 Specific
    • 7.2 Clean
    • 7.3 Independent
    • 7.4 Frequent
    • 7.5 Focused
    • 7.6 Programmable
    • 7.7 Creative
    • 7.8 Sustainable
    • 7.9 Wrap up
  • 8. Functional Test Refactoring
    • 8.1 Code refactoring
    • 8.2 Functional test refactoring
    • 8.3 Tool support
    • 8.4 Case study
    • 8.5 Summary
  • 9. Review
    • 9.1 Syntax errors
    • 9.2 Set up source control
    • 9.3 GUI/Object map
    • 9.4 Custom libraries
    • 9.5 Debugging
    • 9.6 Cross browser functional testing
  • 10. Collaboration
    • 10.1 Pre-requisite
    • 10.2 Scenario 1: “It worked on my machine”
    • 10.3 Scenario 2: Synergy
    • 10.4 Scenario 3: Acceptance Test Driven Development
    • 10.5 Wrap up
  • 11. Continuous Integration with Functional Tests
    • 11.1 Long feedback loop
    • 11.2 Continuous Integration
    • 11.3 Continuous Integration and Testing
    • 11.4 CI build steps
    • 11.5 Functional UI testing build step with Rake
    • 11.6 Set up a continuous testing server: BuildWise
    • 11.7 Review
  • 12. Test Reporting
    • 12.1 Reporting automated test results
    • 12.2 Defect tracking
    • 12.3 Requirement traceability
  • 13. WebDriver Backed variants
    • 13.1 Watir
    • 13.2 Capybara
    • 13.3 Test design with Watir, RWebSpec and Capybara
    • 13.4 Review
  • 14. Cucumber
    • 14.1 Cucumber framework
    • 14.2 Case Study: Selenium and Cucumber
    • 14.3 Comparison: RSpec and Cucumber
    • 14.4 RSpec and Cucumber co-exists
  • 15. Adopting Test Automation
    • 15.1 Seek executive sponsorship
    • 15.2 Choose test framework
    • 15.3 Select test tool
    • 15.4 Find a mentor
    • 15.5 Manage expectation
    • 15.6 Solo test automation
    • 15.7 Common mistakes
    • 15.8 Wrap up
  • Appendix 1 Functional Test Refactoring Catalog
    • Move Test Scripts
    • Extract Function
    • Extract to Page Class
    • Introduce Page Object
    • Rename
  • Appendix 2 Case Study: Test Automation in ClinicWise project
    • Build Stats
    • Stage 1: Write automated tests on the first day
    • Stage 2: Set up CI server within the first week
    • Stage 3: Release to production early
    • Stage 4: Release often (daily)
    • Stage 5: Set up parallel test execution in CI
    • Questions and Answers
  • Resources
    • Books
    • Web Sites
    • Tools
  • References

Bundles that include this book

Practical Web Test Automation
Watir Recipes
Selenium WebDriver Recipes in Ruby
Learn Ruby Programming by Examples
4 Books
$44.97
Regular Price
$35.00
Bundle Price

About the Editor

Zhimin Zhan
Zhimin Zhan

Zhimin Zhan is the founder and principal agile testing coach of AgileWay Pty Ltd, Australia. As an advisor and coach, he helps organzations by implementing test automation with Continuous Testing using open technologies such as Selenium WebDriver and RSpec. Zhimin is the creator of TestWise, the next-generation functional testing tool that supports functional test refactorings and BuildWise, an award-winning Continuous Testing Server. Zhimin is a frequent speaker and author of 11 books on software testing and programming. He shares his test automation and CI experience at testwisely.com.

The Leanpub 45-day 100% Happiness Guarantee

Within 45 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms...

Write and Publish on Leanpub

Authors and publishers use Leanpub to publish amazing in-progress and completed ebooks, just like this one. You can use Leanpub to write, publish and sell your book as well! Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks. Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. It really is that easy.

Learn more about writing on Leanpub